module Flatter::Mapper::Target
Constants
- NoTargetError
Attributes
factory[RW]
Public Class Methods
new(target = nil, *)
click to toggle source
Calls superclass method
# File lib/flatter/mapper/target.rb, line 30 def initialize(target = nil, *) super set_target!(target) if target.present? end
Public Instance Methods
default_target_class_name()
click to toggle source
# File lib/flatter/mapper/target.rb, line 80 def default_target_class_name self.class.name.sub 'Mapper', '' end
set_target(target)
click to toggle source
# File lib/flatter/mapper/target.rb, line 53 def set_target(target) if trait? mounter.set_target!(target) else set_target!(target) trait_mountings.each{ |trait| trait.set_target!(target) } end end
set_target!(target)
click to toggle source
# File lib/flatter/mapper/target.rb, line 62 def set_target!(target) fail NoTargetError, "Cannot set nil target for #{self.class.name}" if target.nil? @_target_initialized = true @target = target end
target()
click to toggle source
# File lib/flatter/mapper/target.rb, line 35 def target ensure_target! @target end
target_class()
click to toggle source
# File lib/flatter/mapper/target.rb, line 72 def target_class target_class_name.constantize end
target_class_name()
click to toggle source
# File lib/flatter/mapper/target.rb, line 76 def target_class_name options[:target_class_name] || default_target_class_name end
target_initialized?()
click to toggle source
# File lib/flatter/mapper/target.rb, line 68 def target_initialized? !!@_target_initialized end
Protected Instance Methods
ensure_target!()
click to toggle source
# File lib/flatter/mapper/target.rb, line 40 def ensure_target! initialize_target unless target_initialized? end
Private Instance Methods
initialize_target()
click to toggle source
# File lib/flatter/mapper/target.rb, line 45 def initialize_target return set_target!(mounter.target) if trait? _mounter = mounter.trait? ? mounter.mounter : mounter set_target!(factory.fetch_target_from(_mounter)) end