lib/xpose/decorated.rb in xpose-0.1.2 vs lib/xpose/decorated.rb in xpose-0.1.5

- old
+ new

@@ -3,10 +3,11 @@ attr_accessor :conf def initialize(**args) @conf = ::Xpose::Configuration.build(args) raise MissingParameter if conf.name.nil? + decorate_self if conf.decorate == :self end def call(instance) v = instance.send(conf.method_name) if conf.decorator == :infer @@ -21,9 +22,15 @@ raise StandardError.new('Unknown decorator') end end private + + def decorate_self + conf.decorated_name = conf.name + conf.decorated_method_name = conf.method_name + conf.decorated_instance_variable_name = conf.instance_variable_name + end def infer(v) if v.respond_to?(:decorate) v.decorate elsif class_exists?(klass)