Sha256: 1dd3196e590573b5024629a6e095ecc7c5e294e860abb8111b51938fe0c08abe

Contents?: true

Size: 667 Bytes

Versions: 2

Compression:

Stored size: 667 Bytes

Contents

module ReportsKits
  module Reports
    class Filter
      attr_accessor :properties

      def initialize(properties)
        properties = { key: properties } if properties.is_a?(String)
        raise ArgumentError.new("Filter properties must be a String or Hash, not a #{properties.class.name}: #{properties.inspect}") unless properties.is_a?(Hash)
        self.properties = properties.deep_symbolize_keys
      end

      def key
        properties[:key]
      end

      def expression
        properties[:expression] || key
      end

      def label
        key.titleize
      end

      def normalized_properties
        properties
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
reports_kits-0.7.8 lib/reports_kits/reports/filter.rb
reports_kits-0.7.7 lib/reports_kits/reports/filter.rb