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.



187
188
189
190
# File 'lib/rails_admin/abstract_model.rb', line 187

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

Instance Method Details

#betweenObject



220
221
222
# File 'lib/rails_admin/abstract_model.rb', line 220

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

#defaultObject



224
225
226
# File 'lib/rails_admin/abstract_model.rb', line 224

def default
  [default_date, default_date]
end

#get_durationObject



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

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



215
216
217
218
# File 'lib/rails_admin/abstract_model.rb', line 215

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

#this_weekObject



211
212
213
# File 'lib/rails_admin/abstract_model.rb', line 211

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

#todayObject



203
204
205
# File 'lib/rails_admin/abstract_model.rb', line 203

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

#yesterdayObject



207
208
209
# File 'lib/rails_admin/abstract_model.rb', line 207

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