Module: ActiveRecord::Temporal::Querying::TimeDimensions
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/activerecord/temporal/querying/time_dimensions.rb
Instance Method Summary collapse
- #set_time_dimension(value, dimension = nil) ⇒ Object
- #set_time_dimension_end(value, dimension = nil) ⇒ Object
- #set_time_dimension_start(value, dimension = nil) ⇒ Object
- #time_dimension(dimension = nil) ⇒ Object
- #time_dimension_end(dimension = nil) ⇒ Object
- #time_dimension_start(dimension = nil) ⇒ Object
Instance Method Details
#set_time_dimension(value, dimension = nil) ⇒ Object
52 53 54 55 56 57 58 59 60 |
# File 'lib/activerecord/temporal/querying/time_dimensions.rb', line 52 def set_time_dimension(value, dimension = nil) dimension ||= default_time_dimension if !time_dimension_column?(dimension) raise ArgumentError, "no time dimension column '#{dimension}'" end send("#{dimension}=", value) end |
#set_time_dimension_end(value, dimension = nil) ⇒ Object
70 71 72 73 74 75 76 |
# File 'lib/activerecord/temporal/querying/time_dimensions.rb', line 70 def set_time_dimension_end(value, dimension = nil) existing_value = time_dimension(dimension) new_value = existing_value ? existing_value.begin...value : nil...value set_time_dimension(new_value, dimension) end |
#set_time_dimension_start(value, dimension = nil) ⇒ Object
62 63 64 65 66 67 68 |
# File 'lib/activerecord/temporal/querying/time_dimensions.rb', line 62 def set_time_dimension_start(value, dimension = nil) existing_value = time_dimension(dimension) new_value = existing_value ? value...existing_value.end : value...nil set_time_dimension(new_value, dimension) end |
#time_dimension(dimension = nil) ⇒ Object
34 35 36 37 38 39 40 41 42 |
# File 'lib/activerecord/temporal/querying/time_dimensions.rb', line 34 def time_dimension(dimension = nil) dimension ||= default_time_dimension if !time_dimension_column?(dimension) raise ArgumentError, "no time dimension column '#{dimension}'" end send(dimension) end |
#time_dimension_end(dimension = nil) ⇒ Object
48 49 50 |
# File 'lib/activerecord/temporal/querying/time_dimensions.rb', line 48 def time_dimension_end(dimension = nil) time_dimension(dimension)&.end end |
#time_dimension_start(dimension = nil) ⇒ Object
44 45 46 |
# File 'lib/activerecord/temporal/querying/time_dimensions.rb', line 44 def time_dimension_start(dimension = nil) time_dimension(dimension)&.begin end |