Sha256: 8226980d98abac43778979e30f7d8850db123edaa8aed789fd000a99e23474bb

Contents?: true

Size: 527 Bytes

Versions: 3

Compression:

Stored size: 527 Bytes

Contents

module WithFilters
  module Filter
    # @private
    class Choice
      attr_reader :field_name, :label, :value, :attrs

      def initialize(field_name, label, value, options = {})
        @field_name = "#{field_name}[]"
        @label      = label
        @value      = value

        options[:id] ||= "#{field_name}_#{value}".gsub(']', '').gsub(/[^-a-zA-Z0-9:.]/, '_')

        @selected = !!options.delete(:selected)
        @attrs    = options
      end

      def selected?
        @selected
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
with_filters-0.1.2 lib/with_filters/models/filter/choice.rb
with_filters-0.1.1 lib/with_filters/models/filter/choice.rb
with_filters-0.1.0 lib/with_filters/models/filter/choice.rb