Class: SyoboiCalendar::Queries::BaseQuery
- Inherits:
-
Object
- Object
- SyoboiCalendar::Queries::BaseQuery
show all
- Defined in:
- lib/syoboi_calendar/queries/base_query.rb
Class Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(options = {}) ⇒ BaseQuery
Returns a new instance of BaseQuery.
27
28
29
|
# File 'lib/syoboi_calendar/queries/base_query.rb', line 27
def initialize(options = {})
@options = options
end
|
Class Attribute Details
.property_names ⇒ Array<Symbol>
13
14
15
|
# File 'lib/syoboi_calendar/queries/base_query.rb', line 13
def property_names
@property_names ||= []
end
|
Class Method Details
.inherited(child_class) ⇒ Object
8
9
10
|
# File 'lib/syoboi_calendar/queries/base_query.rb', line 8
def inherited(child_class)
child_class.property_names = property_names.clone
end
|
.property(property_name) ⇒ Object
18
19
20
|
# File 'lib/syoboi_calendar/queries/base_query.rb', line 18
def property(property_name)
property_names << property_name
end
|
Instance Method Details
#Command ⇒ String
32
33
34
|
# File 'lib/syoboi_calendar/queries/base_query.rb', line 32
def Command
raise ::NotImplementedError
end
|
#LastUpdate ⇒ String?
37
38
39
|
# File 'lib/syoboi_calendar/queries/base_query.rb', line 37
def LastUpdate
format_time_range(options[:updated_from], options[:updated_to])
end
|
#to_hash ⇒ Hash
42
43
44
45
46
47
48
49
|
# File 'lib/syoboi_calendar/queries/base_query.rb', line 42
def to_hash
self.class.property_names.each_with_object({}) do |property_name, result|
value = send(property_name)
unless value.nil?
result[property_name.to_s] = value
end
end
end
|