Class: Timekit::Filtercollection
- Inherits:
-
Object
- Object
- Timekit::Filtercollection
- Defined in:
- lib/timekit/filtercollection.rb
Constant Summary collapse
- DAYS =
%w[ Monday Tuesday Wednesday Thursday Friday Saturday Sunday ].freeze
Instance Method Summary collapse
- #after_take_first(num) ⇒ Object
- #after_take_last(num) ⇒ Object
- #after_take_random(num) ⇒ Object
- #and_not_on_weekends(timezone = nil) ⇒ Object
- #and_on_day(day) ⇒ Object
- #and_only_during_business_hours(timezone = nil) ⇒ Object
- #as_json ⇒ Object
-
#initialize ⇒ Filtercollection
constructor
A new instance of Filtercollection.
- #or_between_times(timestamp1, timestamp2) ⇒ Object
- #or_on_any_days(days) ⇒ Object
Constructor Details
#initialize ⇒ Filtercollection
Returns a new instance of Filtercollection.
15 16 17 18 19 |
# File 'lib/timekit/filtercollection.rb', line 15 def initialize @and_conditions = [] @or_conditions = [] @after_conditions = [] end |
Instance Method Details
#after_take_first(num) ⇒ Object
33 34 35 |
# File 'lib/timekit/filtercollection.rb', line 33 def after_take_first(num) @after_conditions << { take_first: { number: num } } end |
#after_take_last(num) ⇒ Object
37 38 39 |
# File 'lib/timekit/filtercollection.rb', line 37 def after_take_last(num) @after_conditions << { take_last: { number: num } } end |
#after_take_random(num) ⇒ Object
29 30 31 |
# File 'lib/timekit/filtercollection.rb', line 29 def after_take_random(num) @after_conditions << { take_random: { number: num } } end |
#and_not_on_weekends(timezone = nil) ⇒ Object
45 46 47 |
# File 'lib/timekit/filtercollection.rb', line 45 def and_not_on_weekends(timezone = nil) @and_conditions << { exclude_weekends: timezone_param(timezone) } end |
#and_on_day(day) ⇒ Object
49 50 51 |
# File 'lib/timekit/filtercollection.rb', line 49 def and_on_day(day) @and_conditions << specific_day(day) end |
#and_only_during_business_hours(timezone = nil) ⇒ Object
41 42 43 |
# File 'lib/timekit/filtercollection.rb', line 41 def and_only_during_business_hours(timezone = nil) @and_conditions << { business_hours: timezone_param(timezone) } end |
#as_json ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/timekit/filtercollection.rb', line 21 def as_json { or: @or_conditions, and: @and_conditions, after: @after_conditions } end |
#or_between_times(timestamp1, timestamp2) ⇒ Object
57 58 59 60 61 62 63 64 |
# File 'lib/timekit/filtercollection.rb', line 57 def or_between_times(, ) @or_conditions << { between_timestamps: { start: , end: } } end |
#or_on_any_days(days) ⇒ Object
53 54 55 |
# File 'lib/timekit/filtercollection.rb', line 53 def or_on_any_days(days) days.each { |day| @or_conditions << specific_day(day) } end |