Sha256: add479b9e386c3dfc6a102b6477eb8b0c16fc8d68d3f63ed61ac25bcf4775206

Contents?: true

Size: 557 Bytes

Versions: 1

Compression:

Stored size: 557 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)
    return nil if self.strict && !select.include?(value)
    value
  end

  def select
    option = self.options[:select]
    option.respond_to?(:call) ? option.call : option
  end


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

  def strict
    self.options[:strict]
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

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