Sha256: f0b6215aa33185c80db3eaf6468e9507013963813c0e8d9d288fe1c9166229ba
Contents?: true
Size: 1.9 KB
Versions: 1
Compression:
Stored size: 1.9 KB
Contents
# Author:: A.K.M. Ashrafuzzaman (mailto:ashrafuzzaman.g2@gmail.com) # License:: MIT-LICENSE module QueryReport module FilterModule class Comparator attr_reader :filter, :type, :name, :default def initialize(filter, type, name, default=nil) @filter, @type, @name, @default = filter, type, name, default end def search_key "#{@filter.column.to_s}_#{@type}".to_sym end def search_tag_name "#{@filter.params_key}[#{search_key.to_s}]" end def param_value @filter.params[@filter.params_key] ? @filter.params[@filter.params_key][search_key] : stringified_default end def has_default? !@default.nil? end def stringified_default @stringified_default ||= case @filter.type when :date @default.kind_of?(String) ? @default : I18n.l(@default, format: QueryReport.config.date_format) when :datetime @default.kind_of?(String) ? @default : I18n.l(@default, format: QueryReport.config.datetime_format) else @default.to_s end end #convert param value which is a string to object like date and boolean def objectified_param_value @stringified_default ||= case @filter.type when :date Date.current.parse(@default) when :datetime Time.zone.parse(@default) when :boolean @default.to_boolean else @default end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
query_report-1.0.3 | lib/query_report/comparator.rb |