Class: RailsAdmin::AbstractModel::StatementBuilder::FilteringDuration

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_admin/abstract_model.rb

Instance Method Summary collapse

Constructor Details

#initialize(operator, value) ⇒ FilteringDuration

Returns a new instance of FilteringDuration.



185
186
187
188
# File 'lib/rails_admin/abstract_model.rb', line 185

def initialize(operator, value)
  @value = value
  @operator = operator
end

Instance Method Details

#betweenObject



218
219
220
# File 'lib/rails_admin/abstract_model.rb', line 218

def between
  [convert_to_date(@value[1]), convert_to_date(@value[2])]
end

#defaultObject



222
223
224
# File 'lib/rails_admin/abstract_model.rb', line 222

def default
  [default_date, default_date]
end

#get_durationObject



190
191
192
193
194
195
196
197
198
199
# File 'lib/rails_admin/abstract_model.rb', line 190

def get_duration
  case @operator
    when 'between'   then between
    when 'today'     then today
    when 'yesterday' then yesterday
    when 'this_week' then this_week
    when 'last_week' then last_week
    else default
  end
end

#last_weekObject



213
214
215
216
# File 'lib/rails_admin/abstract_model.rb', line 213

def last_week
  [1.week.ago.to_date.beginning_of_week,
    1.week.ago.to_date.end_of_week]
end

#this_weekObject



209
210
211
# File 'lib/rails_admin/abstract_model.rb', line 209

def this_week
  [Date.today.beginning_of_week, Date.today.end_of_week]
end

#todayObject



201
202
203
# File 'lib/rails_admin/abstract_model.rb', line 201

def today
  [Date.today, Date.today]
end

#yesterdayObject



205
206
207
# File 'lib/rails_admin/abstract_model.rb', line 205

def yesterday
  [Date.yesterday, Date.yesterday]
end