Sha256: 699441531896471fa942f07f4f73dfb80c5fdade6c007cd172fc21b11587ff92

Contents?: true

Size: 737 Bytes

Versions: 15

Compression:

Stored size: 737 Bytes

Contents

module ClarkKent
  module ReportConfig
    module ClassMethods
      def filter_config(params)
        filter_option_class = ('ClarkKent::' + ((params[:kind] + '_option').camelcase)).constantize
        filter_option_class.new(params)
      end

      def column_config(params)
        ClarkKent::ReportColumnConfig.new(params)
      end
    end
    extend ClassMethods
    def self.included( other )
      other.extend( ClassMethods )
    end
  end
  class ReportColumnConfig
    attr_accessor :name, :order_sql, :custom_select, :link, :summarizable, :includes, :joins, :extra_scopes, :where, :group
    def initialize params = {}
      params.each { |key, value| send "#{key}=", value }
    end

    def id
      name
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
clark_kent-0.3.2 app/models/clark_kent/report_config.rb
clark_kent-0.3.1 app/models/clark_kent/report_config.rb
clark_kent-0.3.0 app/models/clark_kent/report_config.rb
clark_kent-0.2.10 app/models/clark_kent/report_config.rb
clark_kent-0.2.8 app/models/clark_kent/report_config.rb
clark_kent-0.2.7 app/models/clark_kent/report_config.rb
clark_kent-0.2.6 app/models/clark_kent/report_config.rb
clark_kent-0.2.5 app/models/clark_kent/report_config.rb
clark_kent-0.2.4 app/models/clark_kent/report_config.rb
clark_kent-0.2.3 app/models/clark_kent/report_config.rb
clark_kent-0.2.2 app/models/clark_kent/report_config.rb
clark_kent-0.2.1 app/models/clark_kent/report_config.rb
clark_kent-0.2.0 app/models/clark_kent/report_config.rb
clark_kent-0.1.7 app/models/clark_kent/report_config.rb
clark_kent-0.1.6 app/models/clark_kent/report_config.rb