Class: Hanami::Model::Associations::BelongsTo Private

Inherits:
Object
  • Object
show all
Defined in:
lib/hanami/model/associations/belongs_to.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Many-To-One association

Since:

  • 1.1.0

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(repository, source, target, subject, scope = nil) ⇒ BelongsTo

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of BelongsTo.

Since:

  • 1.1.0


39
40
41
42
43
44
45
46
# File 'lib/hanami/model/associations/belongs_to.rb', line 39

def initialize(repository, source, target, subject, scope = nil)
  @repository = repository
  @source     = source
  @target     = target
  @subject    = subject.to_hash unless subject.nil?
  @scope      = scope || _build_scope
  freeze
end

Instance Attribute Details

#repositoryObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Since:

  • 1.1.0


19
20
21
# File 'lib/hanami/model/associations/belongs_to.rb', line 19

def repository
  @repository
end

#scopeObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Since:

  • 1.1.0


35
36
37
# File 'lib/hanami/model/associations/belongs_to.rb', line 35

def scope
  @scope
end

#sourceObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Since:

  • 1.1.0


23
24
25
# File 'lib/hanami/model/associations/belongs_to.rb', line 23

def source
  @source
end

#subjectObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Since:

  • 1.1.0


31
32
33
# File 'lib/hanami/model/associations/belongs_to.rb', line 31

def subject
  @subject
end

#targetObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Since:

  • 1.1.0


27
28
29
# File 'lib/hanami/model/associations/belongs_to.rb', line 27

def target
  @target
end

Class Method Details

.schema_type(entity) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Since:

  • 1.1.0


13
14
15
# File 'lib/hanami/model/associations/belongs_to.rb', line 13

def self.schema_type(entity)
  Sql::Types::Schema::AssociationType.new(entity)
end

Instance Method Details

#oneObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Since:

  • 1.1.0


50
51
52
# File 'lib/hanami/model/associations/belongs_to.rb', line 50

def one
  scope.one
end