sfpagent 0.2.10 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of sfpagent might be problematic. Click here for more details.
- data/VERSION +1 -1
- data/lib/sfpagent.rb +1 -0
- data/lib/sfpagent/module.rb +16 -1
- data/lib/sfpagent/templateEngine.rb +32 -0
- data/sfpagent.gemspec +1 -1
- metadata +5 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
data/lib/sfpagent.rb
CHANGED
@@ -14,6 +14,7 @@ libdir = File.expand_path(File.dirname(__FILE__))
|
|
14
14
|
|
15
15
|
require libdir + '/sfpagent/helper.rb'
|
16
16
|
require libdir + '/sfpagent/runtime.rb'
|
17
|
+
require libdir + '/sfpagent/templateEngine.rb'
|
17
18
|
require libdir + '/sfpagent/module.rb'
|
18
19
|
require libdir + '/sfpagent/bsig.rb'
|
19
20
|
require libdir + '/sfpagent/agent.rb'
|
data/lib/sfpagent/module.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#
|
2
|
-
# predefined methods: update_state, apply, reset, resolve
|
2
|
+
# predefined methods: update_state, apply, reset, resolve, resolve_model, resolve_state
|
3
3
|
#
|
4
4
|
module Sfp::Resource
|
5
5
|
@@resource = Object.new.extend(Sfp::Resource)
|
@@ -49,6 +49,21 @@ module Sfp::Resource
|
|
49
49
|
commands = [commands.to_s] if not commands.is_a?(Array)
|
50
50
|
commands.each { |c| raise Exception, "Cannot execute: #{c}" if !system(c) }
|
51
51
|
end
|
52
|
+
|
53
|
+
def log
|
54
|
+
Sfp::Agent.logger
|
55
|
+
end
|
56
|
+
|
57
|
+
# copy source file to destination
|
58
|
+
# if source is an HTTP/HTTPS/FTP url, then use 'wget' to download the file
|
59
|
+
#
|
60
|
+
def copy(source, destination)
|
61
|
+
if source =~ /^(http|https|ftp):\/\/.+/
|
62
|
+
system "wget -O #{destination} #{source}"
|
63
|
+
else
|
64
|
+
system "cp #{source} #{destination}"
|
65
|
+
end
|
66
|
+
end
|
52
67
|
end
|
53
68
|
|
54
69
|
module Sfp::Module
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'erb'
|
2
|
+
require 'ostruct'
|
3
|
+
|
4
|
+
class Sfp::TemplateEngine < OpenStruct
|
5
|
+
def render(template)
|
6
|
+
ERB.new(template).result(binding)
|
7
|
+
end
|
8
|
+
|
9
|
+
def render_to_file(template, file)
|
10
|
+
result = render(template)
|
11
|
+
File.open(file, 'w+') { |f| f.write(result) }
|
12
|
+
end
|
13
|
+
|
14
|
+
def render_file(file)
|
15
|
+
render_to_file(File.read(file), file)
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.render(map, template)
|
19
|
+
renderer = TemplateEngine.new(map)
|
20
|
+
renderer.render(template)
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.render_to_file(map, template, file)
|
24
|
+
renderer = TemplateEngine.new(map)
|
25
|
+
renderer.render_to_file(template, file)
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.render_file(map, file)
|
29
|
+
renderer = TemplateEngine.new(map)
|
30
|
+
renderer.render_file(file)
|
31
|
+
end
|
32
|
+
end
|
data/sfpagent.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sfpagent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,15 +13,15 @@ date: 2013-08-13 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sfp
|
16
|
-
requirement: &
|
16
|
+
requirement: &9972640 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.3.
|
21
|
+
version: 0.3.16
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *9972640
|
25
25
|
description: A Ruby implementation of SFP agent.
|
26
26
|
email: herry13@gmail.com
|
27
27
|
executables:
|
@@ -44,6 +44,7 @@ files:
|
|
44
44
|
- lib/sfpagent/module.rb
|
45
45
|
- lib/sfpagent/runtime.rb
|
46
46
|
- lib/sfpagent/sfplanner.rb
|
47
|
+
- lib/sfpagent/templateEngine.rb
|
47
48
|
- sfpagent.gemspec
|
48
49
|
homepage: https://github.com/herry13/sfpagent
|
49
50
|
licenses:
|