Class: ActiveData::Model::Attributes::Reflections::ReferenceOne
- Inherits:
-
Base
- Object
- Base
- ActiveData::Model::Attributes::Reflections::ReferenceOne
show all
- Defined in:
- lib/active_data/model/attributes/reflections/reference_one.rb
Instance Attribute Summary
Attributes inherited from Base
#name, #options
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
attribute_class, #build_attribute, #initialize, #readonly, #typecaster
Class Method Details
.build(_target, generated_methods, name, *args) ⇒ Object
6
7
8
9
10
|
# File 'lib/active_data/model/attributes/reflections/reference_one.rb', line 6
def self.build(_target, generated_methods, name, *args)
options = args.
generate_methods name, generated_methods
new(name, options)
end
|
.generate_methods(name, target) ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/active_data/model/attributes/reflections/reference_one.rb', line 12
def self.generate_methods(name, target)
target.class_eval <<-RUBY, __FILE__, __LINE__ + 1
def #{name}
attribute('#{name}').read
end
def #{name}= value
attribute('#{name}').write(value)
end
def #{name}?
attribute('#{name}').query
end
def #{name}_before_type_cast
attribute('#{name}').read_before_type_cast
end
RUBY
end
|
Instance Method Details
#association ⇒ Object
40
41
42
|
# File 'lib/active_data/model/attributes/reflections/reference_one.rb', line 40
def association
@association ||= options[:association].to_s
end
|
#inspect_reflection ⇒ Object
36
37
38
|
# File 'lib/active_data/model/attributes/reflections/reference_one.rb', line 36
def inspect_reflection
"#{name}: (reference)"
end
|
#type ⇒ Object
32
33
34
|
# File 'lib/active_data/model/attributes/reflections/reference_one.rb', line 32
def type
Object
end
|