Sha256: 74af7ba216352674e3fe9e25ba850229209ebf4c0ec9a958da4e6586b4189e8d

Contents?: true

Size: 644 Bytes

Versions: 9

Compression:

Stored size: 644 Bytes

Contents

module Avo
  class Filter
    attr_accessor :name
    attr_accessor :component
    attr_accessor :default

    def initialize
      @name ||= 'Filter'
      @component ||= 'boolean-filter'
      @default ||= ''
    end

    def render_response
      {
        id: id,
        name: name,
        options: options,
        component: component,
        default: default,
        filter_class: self.class.to_s,
      }
    end

    def apply_query(request, query, value)
      value.symbolize_keys! if value.is_a? Hash

      self.apply(request, query, value)
    end

    def id
      self.class.name.underscore.gsub('/', '_')
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
avo-0.5.0.beta1 lib/avo/app/filter.rb
avo-0.4.10 lib/avo/app/filter.rb
avo-0.4.9 lib/avo/app/filter.rb
avo-0.4.8 lib/avo/app/filter.rb
avo-0.4.7 lib/avo/app/filter.rb
avo-0.4.6 lib/avo/app/filter.rb
avo-0.4.5 lib/avo/app/filter.rb
avo-0.4.4 lib/avo/app/filter.rb
avo-0.4.3 lib/avo/app/filter.rb