Sha256: 641e67671151ae8b851d364bd225b5432ea8bd00beca2420dd725637026b0048
Contents?: true
Size: 976 Bytes
Versions: 3
Compression:
Stored size: 976 Bytes
Contents
module ActiveEnum module FormHelpers module SimpleForm module BuilderExtension def self.included(base) base.alias_method_chain :default_input_type, :active_enum end def default_input_type_with_active_enum return :enum if @options[:as].nil? && object.class.enum_for(attribute_name) default_input_type_without_active_enum end end class EnumInput < ::SimpleForm::Inputs::CollectionInput def initialize(builder) super raise "Attribute '#{attribute_name}' has no enum class" unless enum = object.class.enum_for(attribute_name) builder.options[:collection] = enum.to_select end end end end end SimpleForm::FormBuilder.class_eval do include ActiveEnum::FormHelpers::SimpleForm::BuilderExtension map_type :enum, :to => ActiveEnum::FormHelpers::SimpleForm::EnumInput alias_method :collection_enum, :collection_select end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
active_enum-0.8.1 | lib/active_enum/form_helpers/simple_form.rb |
active_enum-0.8.0 | lib/active_enum/form_helpers/simple_form.rb |
active_enum-0.7.1 | lib/active_enum/form_helpers/simple_form.rb |