Sha256: c860918fce2f6b8f148c3082de6e894940a92166aa9c1533ba32b970624ee3fa
Contents?: true
Size: 896 Bytes
Versions: 10
Compression:
Stored size: 896 Bytes
Contents
module MassiveRecord module ORM module Schema class InvalidField < ArgumentError; end class Fields < Set attr_accessor :contained_in def add(field) field.fields = self raise InvalidField.new(field.errors.full_messages.join(". ")) unless field.valid? super end alias_method :<<, :add def field_by_name(name) name = name.to_s detect { |field| field.name == name } end def attribute_name_taken?(name, check_only_self = false) name = name.to_s check_only_self || contained_in.nil? ? attribute_names.include?(name) : contained_in.attribute_name_taken?(name) end def to_hash Hash[collect { |field| [field.name, field] }] end def attribute_names to_hash.keys end end end end end
Version data entries
10 entries across 10 versions & 1 rubygems