Sha256: ab4a7d1c9f1ebba7192a721cbc43e1835b8925b71cf5aa48f686c30c4501282a

Contents?: true

Size: 679 Bytes

Versions: 1

Compression:

Stored size: 679 Bytes

Contents

class Datagrid::Filters::EnumFilter < Datagrid::Filters::BaseFilter

  def initialize(*args)
    super(*args)
    raise Datagrid::ConfigurationError, ":select option not specified" unless select
  end
  def format(value)
    values = Array.new([*value])
    values.reject do |value|
      #TODO: really impelement #strict option
      self.strict && !select.include?(value)
    end
    self.multiple ? values : values.first
  end

  def select
    self.options[:select]
  end


  def include_blank
    self.options.has_key?(:include_blank) ? options[:include_blank] : true
  end

  def strict
    self.options[:strict]
  end

  def multiple
    self.options[:multiple]
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
datagrid-0.0.3 lib/datagrid/filters/enum_filter.rb