Sha256: 27d3ad69f9f770c5577e4f169904bae2b0cca4a9c78a0368ac52d0c03e68dda2

Contents?: true

Size: 835 Bytes

Versions: 13

Compression:

Stored size: 835 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
        DataMapper::Ext.try_dup(@default)
      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

13 entries across 13 versions & 4 rubygems

Version Path
sbf-dm-core-1.5.0 lib/dm-core/support/subject.rb
sbf-dm-core-1.4.0 lib/dm-core/support/subject.rb
sbf-dm-core-1.3.0 lib/dm-core/support/subject.rb
sbf-dm-core-1.3.0.beta lib/dm-core/support/subject.rb
ardm-core-1.3.0 lib/dm-core/support/subject.rb
ardm-core-1.2.1 lib/dm-core/support/subject.rb
dm-core-1.2.1 lib/dm-core/support/subject.rb
ghost_dm-core-1.3.0.beta lib/dm-core/support/subject.rb
dm-core-1.2.0 lib/dm-core/support/subject.rb
dm-core-1.2.0.rc2 lib/dm-core/support/subject.rb
dm-core-1.2.0.rc1 lib/dm-core/support/subject.rb
dm-core-1.1.0 lib/dm-core/support/subject.rb
dm-core-1.1.0.rc3 lib/dm-core/support/subject.rb