Module: SocialSharePrivacy::Evaluatable

Included in:
Config, Config::Cookie, Config::Services, Config::Services::Service
Defined in:
lib/social_share_privacy.rb

Instance Method Summary collapse

Instance Method Details

#eval(helper) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/social_share_privacy.rb', line 37

def eval helper
  result = self.deep_clone
  result.instance_variables.each do |var_name|
    var = result.instance_variable_get var_name
    if var.is_a? Proc
      result.instance_variable_set var_name, var.call(helper)
    elsif var.is_a? Evaluatable
      result.instance_variable_set var_name, var.eval(helper)
    end
  end
  result
end