Sha256: 846014e538c4a9525e78fb64c3c57f0bf12cd41ebc4fcd35577edb4085d57a4d

Contents?: true

Size: 679 Bytes

Versions: 22

Compression:

Stored size: 679 Bytes

Contents

module Acfs::Model
  module Attributes

    # @api public
    #
    # List attribute type. Use it in your model as an attribute type:
    #
    # @example
    #   class User
    #     include Acfs::Model
    #     attribute :name, :list
    #   end
    #
    module List

      # @api public
      #
      # Cast given object to a list.
      #
      # @param [Object] obj Object to cast.
      # @return [Fixnum] Casted object as list.
      # @raise [TypeError] If object cannot be casted to a list.
      #
      def self.cast(obj)
        return obj.to_a if obj.respond_to? :to_a
        raise TypeError.new "Cannot cast #{obj.inspect} to array."
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
acfs-0.22.2.b193 lib/acfs/model/attributes/list.rb
acfs-0.22.2 lib/acfs/model/attributes/list.rb
acfs-0.22.1.b192 lib/acfs/model/attributes/list.rb
acfs-0.22.1 lib/acfs/model/attributes/list.rb
acfs-0.22.0.b191 lib/acfs/model/attributes/list.rb
acfs-0.22.0.b190 lib/acfs/model/attributes/list.rb
acfs-0.22.0 lib/acfs/model/attributes/list.rb
acfs-0.21.1.b189 lib/acfs/model/attributes/list.rb
acfs-0.21.1.rc1.b188 lib/acfs/model/attributes/list.rb
acfs-0.21.1 lib/acfs/model/attributes/list.rb
acfs-0.21.0.rc1.b187 lib/acfs/model/attributes/list.rb
acfs-0.21.1.rc1 lib/acfs/model/attributes/list.rb
acfs-0.21.0.rc1 lib/acfs/model/attributes/list.rb
acfs-0.22.0.rc1.b186 lib/acfs/model/attributes/list.rb
acfs-0.21.0.b185 lib/acfs/model/attributes/list.rb
acfs-0.20.0.dev.b184 lib/acfs/model/attributes/list.rb
acfs-0.21.0 lib/acfs/model/attributes/list.rb
acfs-0.20.0.dev.b183 lib/acfs/model/attributes/list.rb
acfs-0.20.0.dev.b182 lib/acfs/model/attributes/list.rb
acfs-0.20.0.dev.b181 lib/acfs/model/attributes/list.rb