Sha256: 362c463d5859b789d5fb14c547ec1f40209aa5ba31a1a5a8ea408e4c445c89c2
Contents?: true
Size: 879 Bytes
Versions: 15
Compression:
Stored size: 879 Bytes
Contents
class ReportFilter attr_accessor :title attr_reader :start_on attr_reader :end_on attr_reader :page_size def initialize(attributes) date = Date.today - 5 @start_on = Date.civil(date.year, date.month, 01) @end_on = Date.civil(date.year, date.month, -1) @page_size = 1000 if attributes attributes = attributes.clone start_on_param = attributes.delete(:start_on) @start_on = Date.parse(start_on_param) if start_on_param && start_on_param.size > 0 end_on_param = attributes.delete(:end_on) @end_on = Date.parse(end_on_param) if end_on_param && end_on_param.size > 0 page_size_param = attributes.delete(:page_size) @page_size = page_size_param.to_i if page_size_param.to_i > 0 raise "Unknown parameters: #{attributes.inspect}" unless attributes.empty? end end end
Version data entries
15 entries across 15 versions & 1 rubygems