class ActsInRelation::Roles::Base
Public Class Methods
new(args)
click to toggle source
# File lib/acts_in_relation/roles/base.rb, line 9 def initialize(args) @class = caller_class.constantize @args = recursive_to_s(args) end
Public Instance Methods
actions()
click to toggle source
# File lib/acts_in_relation/roles/base.rb, line 22 def actions @actions ||= [@args[:action]].flatten end
define()
click to toggle source
# File lib/acts_in_relation/roles/base.rb, line 26 def define raise NotImplementedError end
source()
click to toggle source
# File lib/acts_in_relation/roles/base.rb, line 14 def source @source ||= @args[:source] || @args[:self] || @class.to_s.downcase end
target()
click to toggle source
# File lib/acts_in_relation/roles/base.rb, line 18 def target @target ||= @args[:target] || @args[:self] || @class.to_s.downcase end
Private Instance Methods
recursive_to_s(object)
click to toggle source
# File lib/acts_in_relation/roles/base.rb, line 32 def recursive_to_s(object) case object when Hash object.each do |k, v| object[k] = recursive_to_s(v) end when Array object.map { |o| recursive_to_s(o) } else object.to_s unless object.nil? end end