Sha256: 8c375920586fefb81016ab97ccc13524ffc6ac33f746c01ba342c5a7f6088c30
Contents?: true
Size: 1.21 KB
Versions: 2
Compression:
Stored size: 1.21 KB
Contents
# # predefined methods: update_state, apply, reset, resolve, resolve_model, resolve_state # module Sfp::Resource @@resource = Object.new.extend(Sfp::Resource) attr_accessor :parent, :synchronized attr_reader :state, :model def init(model={}) @state = {} @model = (model.length <= 0 ? {} : Sfp.to_ruby(model)) @synchronized = [] end def update_state @state = {} end ############################## # # Helper methods for resource module # ############################## def self.resolve(path) @@resource.resolve(path) end protected def to_model @state = {} @model.each { |k,v| @state[k] = v } end def resolve_state(path) Sfp::Agent.resolve(path) end alias_method :resolve, :resolve_state def resolve_model(path) Sfp::Agent.resolve_model(path) end def log Sfp::Agent.logger end def shell(cmd) !!system(cmd) end def copy(source, destination) shell "cp -rf #{source} #{destination}" end def render(string, map={}) model = @model.clone map.each { |k,v| model[k] = v } ::Sfp::Template.render(file, model) end def render_file(file, map={}) model = @model.clone map.each { |k,v| model[k] = v } ::Sfp::Template.render_file(file, model) end end module Sfp::Module end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sfpagent-0.3.8 | lib/sfpagent/module.rb |
sfpagent-0.3.7 | lib/sfpagent/module.rb |