Sha256: 140cf3251fffa4a907bf3d2842000e47a9bb5fcbd0c1651b34feb5f426a219b4

Contents?: true

Size: 818 Bytes

Versions: 8

Compression:

Stored size: 818 Bytes

Contents

module DataMapper
  module Subject
    # Returns a default value of the subject for given resource
    #
    # When default value is a callable object, it is called with resource
    # and subject passed as arguments.
    #
    # @param [Resource] resource
    #   the model instance for which the default is to be set
    #
    # @return [Object]
    #   the default value of this subject for +resource+
    #
    # @api semipublic
    def default_for(resource)
      if @default.respond_to?(:call)
        @default.call(resource, self)
      else
        @default.try_dup
      end
    end

    # Returns true if the subject has a default value
    #
    # @return [Boolean]
    #   true if the subject has a default value
    #
    # @api semipublic
    def default?
      @options.key?(:default)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
dm-core-1.1.0.rc2 lib/dm-core/support/subject.rb
dm-core-1.1.0.rc1 lib/dm-core/support/subject.rb
dm-core-1.0.2 lib/dm-core/support/subject.rb
dm-core-1.0.1 lib/dm-core/support/subject.rb
dm-core-1.0.0 lib/dm-core/support/subject.rb
dm-core-1.0.0.rc3 lib/dm-core/support/subject.rb
dm-core-1.0.0.rc2 lib/dm-core/support/subject.rb
dm-core-1.0.0.rc1 lib/dm-core/support/subject.rb