sfpagent 0.2.10 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
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:
|