Sha256: 858ed9a6e69165c463273e2afa93ac35924cd2ad06ffa53a60e254623376bbda
Contents?: true
Size: 1.22 KB
Versions: 1
Compression:
Stored size: 1.22 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={}) @model = {} @state = {} @synchronized = [] update_model(model) end def update_state @state = {} end ############################## # # Helper methods for resource module # ############################## def self.resolve(path) @@resource.resolve(path) end protected def update_model(model) @model = Sfp.to_ruby(model) end def reset @state = {} @model.each { |k,v| @state[k] = v } end def resolve(path) Sfp::Agent.resolve(path) end alias_method :resolve_state, :resolve def resolve_model(path) Sfp::Agent.resolve_model(path) end def exec_seq(*commands) commands = [commands.to_s] if not commands.is_a?(Array) commands.each { |c| raise Exception, "Error on executing '#{c}'" if !shell(c) } 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(file, map) ::Sfp::Template.render_file(map, file) end end module Sfp::Module end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sfpagent-0.3.3 | lib/sfpagent/module.rb |