Sha256: c7f4e2542c13bd01f1a654c098f5fe29ed4490d99c67e6715878cc8e5dc3c47d

Contents?: true

Size: 624 Bytes

Versions: 7

Compression:

Stored size: 624 Bytes

Contents

require 'zermelo'

module Zermelo
  module Records
    module Attributes

      def attribute_types
        ret = nil
        @lock.synchronize do
          ret = (@attribute_types ||= {}).dup
        end
        ret
      end

      protected

      def define_attributes(options = {})
        options.each_pair do |key, value|
          raise "Unknown attribute type ':#{value}' for ':#{key}'" unless
            Zermelo.valid_type?(value)
          self.define_attribute_methods([key])
        end
        @lock.synchronize do
          (@attribute_types ||= {}).update(options)
        end
      end

    end

  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
zermelo-1.4.3 lib/zermelo/records/attributes.rb
zermelo-1.4.2 lib/zermelo/records/attributes.rb
zermelo-1.4.1 lib/zermelo/records/attributes.rb
zermelo-1.4.0 lib/zermelo/records/attributes.rb
zermelo-1.3.0 lib/zermelo/records/attributes.rb
zermelo-1.2.1 lib/zermelo/records/attributes.rb
zermelo-1.2.0 lib/zermelo/records/attributes.rb