Sha256: c7e48ef79ed60a6757579a729d998606b24370b04ee60a23b649b07f9bd6b2a9

Contents?: true

Size: 669 Bytes

Versions: 7

Compression:

Stored size: 669 Bytes

Contents

module HasFilter
  module Filter
  	class State < Base
  	  self.priority = 3
  		self.scopes = [:state]

  		def to_form_fields(options = {})
  			@options[:states].map { |state| state_tag(state) }
  		end

  		def scope(target)
	      # FIXME assert that state is a valid state!
  		  selected.inject(target) { |target, state| target.send(state) }
  		end

  		protected

  		  def state_tag(state)
  		    id = form_field_id(:state, state)
  		    view.check_box_tag(form_field_name(:state, nil), state, selected.include?(state), :id => id) +
  		    view.label_tag(id, I18n.t(state, :scope => :'has_filter.states', :default => state.to_s))
		    end
  	end
	end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
adva-0.1.4 vendor/gems/has_filter/lib/has_filter/filter/state.rb
adva-0.1.3 vendor/gems/has_filter/lib/has_filter/filter/state.rb
adva-0.1.2 vendor/gems/has_filter/lib/has_filter/filter/state.rb
adva-0.1.1 vendor/gems/has_filter/lib/has_filter/filter/state.rb
adva-0.1.0 vendor/gems/has_filter/lib/has_filter/filter/state.rb
adva_cms-0.0.1 vendor/gems/has_filter/lib/has_filter/filter/state.rb
adva-0.0.1 adva_cms/vendor/gems/has_filter/lib/has_filter/filter/state.rb