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

Version Path
backlog-0.37.2 app/models/report_filter.rb
backlog-0.37.1 app/models/report_filter.rb
backlog-0.36.2 app/models/report_filter.rb
backlog-0.32.0 app/models/report_filter.rb
backlog-0.33.0 app/models/report_filter.rb
backlog-0.34.1 app/models/report_filter.rb
backlog-0.33.1 app/models/report_filter.rb
backlog-0.34.2 app/models/report_filter.rb
backlog-0.35.0 app/models/report_filter.rb
backlog-0.34 app/models/report_filter.rb
backlog-0.35.1 app/models/report_filter.rb
backlog-0.35.2 app/models/report_filter.rb
backlog-0.35.4 app/models/report_filter.rb
backlog-0.35.3 app/models/report_filter.rb
backlog-0.35.5 app/models/report_filter.rb