Class: SequelMapper::LazyObjectProxy
- Inherits:
-
Object
- Object
- SequelMapper::LazyObjectProxy
show all
- Includes:
- ShortInspectionString
- Defined in:
- lib/sequel_mapper/lazy_object_proxy.rb
Instance Method Summary
collapse
#inspect
Constructor Details
#initialize(object_loader, known_fields) ⇒ LazyObjectProxy
Returns a new instance of LazyObjectProxy.
5
6
7
8
9
|
# File 'lib/sequel_mapper/lazy_object_proxy.rb', line 5
def initialize(object_loader, known_fields)
@object_loader = object_loader
@known_fields = known_fields
@lazy_object = nil
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_id, *args, &block) ⇒ Object
14
15
16
17
18
19
20
|
# File 'lib/sequel_mapper/lazy_object_proxy.rb', line 14
def method_missing(method_id, *args, &block)
if args.empty? && known_fields.include?(method_id)
known_fields.fetch(method_id)
else
lazy_object.public_send(method_id, *args, &block)
end
end
|
Instance Method Details
#__getobj__ ⇒ Object
26
27
28
|
# File 'lib/sequel_mapper/lazy_object_proxy.rb', line 26
def __getobj__
lazy_object
end
|
#each_loaded(&block) ⇒ Object
30
31
32
|
# File 'lib/sequel_mapper/lazy_object_proxy.rb', line 30
def each_loaded(&block)
[self].select(&:loaded?).each(&block)
end
|
#loaded? ⇒ Boolean
22
23
24
|
# File 'lib/sequel_mapper/lazy_object_proxy.rb', line 22
def loaded?
!!@lazy_object
end
|