Class: INatGet::Data::DSL::Report
- Inherits:
-
Object
- Object
- INatGet::Data::DSL::Report
show all
- Includes:
- INatGet::Data::DSL
- Defined in:
- lib/inat-get/data/dsl/reports/base.rb
Direct Known Subclasses
ERB
Defined Under Namespace
Classes: ERB
Instance Method Summary
collapse
#AND, #ANYTHING, #NOT, #NOTHING, #OR, #Q, #console, #erb_report, #finish_time, #get_identification, #get_observation, #get_place, #get_project, #get_taxon, #get_user, #now, #select_identifications, #select_observations, #select_places, #select_projects, #select_taxa, #select_users, #start_time, #time_range, #today, #version, #version!, #version?, #version_alias
Constructor Details
#initialize(mode: nil, suffix: nil, **data) {|_self| ... } ⇒ Report
Returns a new instance of Report.
10
11
12
13
14
15
|
# File 'lib/inat-get/data/dsl/reports/base.rb', line 10
def initialize mode: nil, suffix: nil, **data
@mode = mode
@data = data
@suffix = suffix
yield self if block_given?
end
|
Instance Method Details
#[](key) ⇒ Object
52
53
54
|
# File 'lib/inat-get/data/dsl/reports/base.rb', line 52
def [] key
@data[key]
end
|
#[]=(key, value) ⇒ Object
56
57
58
|
# File 'lib/inat-get/data/dsl/reports/base.rb', line 56
def []= key, value
@data[key] = value
end
|
#basename(suffix = nil) ⇒ String
18
19
20
21
22
23
24
25
|
# File 'lib/inat-get/data/dsl/reports/base.rb', line 18
def basename suffix = nil
suffix ||= @suffix
if suffix
self.name + ' -- ' + suffix
else
self.name
end
end
|
#ext(mode: nil) ⇒ String
28
29
30
|
# File 'lib/inat-get/data/dsl/reports/base.rb', line 28
def ext mode: nil
(mode || @mode)&.to_s
end
|
#filename(suffix: nil, mode: nil) ⇒ String
33
34
35
36
37
38
39
|
# File 'lib/inat-get/data/dsl/reports/base.rb', line 33
def filename suffix: nil, mode: nil
if self.ext(mode: mode)
self.basename(suffix) + '.' + self.ext(mode: mode)
else
self.basename(suffix)
end
end
|
#render(mode: nil) ⇒ String
42
43
44
|
# File 'lib/inat-get/data/dsl/reports/base.rb', line 42
def render mode: nil
raise NotImplementedError, "Not implemented method 'render' for abstract Report", caller_locations
end
|
#save(filename = nil, suffix: nil, mode: nil) ⇒ void
This method returns an undefined value.
47
48
49
50
|
# File 'lib/inat-get/data/dsl/reports/base.rb', line 47
def save filename = nil, suffix: nil, mode: nil
filename ||= self.filename(suffix: suffix, mode: mode)
File.write filename, self.render(mode: mode)
end
|