class Hocho::PropertyProviders::RubyScript
Constants
- Template
Public Class Methods
new(name: nil, script: nil, file: nil)
click to toggle source
# File lib/hocho/property_providers/ruby_script.rb, line 4 def initialize(name: nil, script: nil, file: nil) @template = case when script compile(script, "(#{name || 'ruby_script'})") when file compile(File.read(file), name ? "(#{name})" : file) end end
Public Instance Methods
determine(host)
click to toggle source
# File lib/hocho/property_providers/ruby_script.rb, line 13 def determine(host) @template.new(host).run nil end
Private Instance Methods
compile(script, name)
click to toggle source
# File lib/hocho/property_providers/ruby_script.rb, line 22 def compile(script, name) binding.eval("Class.new(Template) { def run;\n#{script}\nend; }", name, 0) end