Class: ActiveRecord::Key::Single
Do not use. This class is for internal use only.
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
|
Subclasses:
|
|
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
self,
Key
|
|
|
Instance Chain:
self,
Key
|
|
| Inherits: |
Key
|
| Defined in: | activerecord/lib/active_record/key.rb |
Class Method Summary
- .new(name) ⇒ Single constructor
Instance Attribute Summary
- #composite? ⇒ Boolean readonly
Instance Method Summary
- #arel_columns(table)
- #cast(value, model)
- #expects_multiple_ids?(value) ⇒ Boolean
-
#inferred_id
Only composite keys have a single id to infer.
- #value_of(record)
- #where_clauses(values)
- #where_hash(values)
Constructor Details
.new(name) ⇒ Single
Instance Attribute Details
#composite? ⇒ Boolean (readonly)
[ GitHub ]
# File 'activerecord/lib/active_record/key.rb', line 88
def composite? false end
Instance Method Details
#arel_columns(table)
[ GitHub ]# File 'activerecord/lib/active_record/key.rb', line 96
def arel_columns(table) table[@name] end
#cast(value, model)
[ GitHub ]# File 'activerecord/lib/active_record/key.rb', line 100
def cast(value, model) model.type_for_attribute(@name).cast(value) end
#expects_multiple_ids?(value) ⇒ Boolean
# File 'activerecord/lib/active_record/key.rb', line 108
def expects_multiple_ids?(value) value.is_a?(Array) end
#inferred_id
Only composite keys have a single id to infer.
# File 'activerecord/lib/active_record/key.rb', line 113
def inferred_id nil end
#value_of(record)
[ GitHub ]# File 'activerecord/lib/active_record/key.rb', line 104
def value_of(record) record._read_attribute(@name) end
#where_clauses(values)
[ GitHub ]# File 'activerecord/lib/active_record/key.rb', line 117
def where_clauses(values) [where_hash(values)] end
#where_hash(values)
[ GitHub ]# File 'activerecord/lib/active_record/key.rb', line 92
def where_hash(values) { @name => values } end