Enumerize::Multiple

Public Instance Methods

define_methods!(mod) click to toggle source
# File lib/enumerize/attribute.rb, line 113
def define_methods!(mod)
  mod.module_eval         def #{name}          unless defined?(@_#{name}_enumerized_set)            if defined?(super)              self.#{name} = super            elsif respond_to?(:read_attribute)              self.#{name} = read_attribute(:#{name})            else              if defined?(@#{name})                self.#{name} = @#{name}              else                self.#{name} = []              end            end          end          @_#{name}_enumerized_set        end        def #{name}=(values)          _enumerized_values_for_validation[:#{name}] = values.respond_to?(:map) ? values.map(&:to_s) : values          @_#{name}_enumerized_set = Enumerize::Set.new(self, self.class.enumerized_attributes[:#{name}], values)          string_values = #{name}.values.map(&:to_str)          if defined?(super)            super string_values          elsif respond_to?(:write_attribute, true)            write_attribute '#{name}', string_values          else            @#{name} = string_values          end          #{name}        end, __FILE__, __LINE__ + 1
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.