gusteau 0.4.2 → 0.4.3

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.
@@ -1,11 +1,12 @@
1
+ require 'gusteau/erb'
1
2
  require 'etc'
2
- require 'erb'
3
- require 'yaml'
4
3
  require 'json'
5
4
  require 'fileutils'
6
5
 
7
6
  module Gusteau
8
7
  class Bureau
8
+ include Gusteau::ERB
9
+
9
10
  def initialize(name)
10
11
  template_path = File.expand_path('../../../template', __FILE__)
11
12
 
@@ -17,7 +18,7 @@ module Gusteau
17
18
  FileUtils.cp_r(template_path, name)
18
19
 
19
20
  File.open(File.join(name, 'nodes', 'example.yml'), 'w+') do |f|
20
- read_erb(File.join(template_path, 'nodes', 'example.yml.erb')).tap do |node|
21
+ read_erb_yaml(File.join(template_path, 'nodes', 'example.yml.erb')).tap do |node|
21
22
  f.write node
22
23
  f.close
23
24
  end
@@ -43,15 +44,5 @@ module Gusteau
43
44
  system 'librarian-chef install'
44
45
  end
45
46
  end
46
-
47
- private
48
-
49
- def read_erb(path)
50
- ERB.new(File.read(path)).result binding
51
- end
52
-
53
- def read_erb_json(path)
54
- JSON::parse(read_erb path)
55
- end
56
47
  end
57
48
  end
@@ -0,0 +1,19 @@
1
+ require 'erb'
2
+ require 'yaml'
3
+ require 'json'
4
+
5
+ module Gusteau
6
+ module ERB
7
+ def read_erb(path)
8
+ ::ERB.new(File.read(path)).result binding
9
+ end
10
+
11
+ def read_erb_yaml(path)
12
+ YAML::load(read_erb path)
13
+ end
14
+
15
+ def read_erb_json(path)
16
+ JSON::parse(read_erb path)
17
+ end
18
+ end
19
+ end
data/lib/gusteau/node.rb CHANGED
@@ -1,18 +1,19 @@
1
- require 'yaml'
2
- require 'json'
3
-
4
1
  require 'gusteau/server'
5
2
  require 'gusteau/chef'
3
+ require 'gusteau/erb'
6
4
 
7
5
  module Gusteau
8
6
  class Node
7
+ include Gusteau::ERB
8
+
9
9
  attr_reader :server
10
10
 
11
11
  def initialize(path)
12
12
  raise "Node YAML file #{path} not found" unless path && File.exists?(path)
13
13
 
14
14
  @name = File.basename(path).gsub('.yml','')
15
- @config = YAML::load_file path
15
+ @config = read_erb_yaml(path)
16
+
16
17
  @dna_path = '/tmp/dna.json'
17
18
 
18
19
  @server = Server.new(@config['server'])
@@ -1,3 +1,3 @@
1
1
  module Gusteau
2
- VERSION = "0.4.2"
2
+ VERSION = "0.4.3"
3
3
  end
@@ -19,6 +19,10 @@ describe Gusteau::Node do
19
19
  File.exists?(dna[:path]).must_equal true
20
20
  end
21
21
 
22
+ it "should support ERB" do
23
+ json['environment'].must_equal "production"
24
+ end
25
+
22
26
  context "recipes not specified" do
23
27
  it "should contain a full run_list" do
24
28
  json['run_list'].must_equal ["role[redhat]", "recipe[rvm]", "recipe[ntp]", "recipe[rails::apps]"]
@@ -1,4 +1,5 @@
1
1
  json:
2
+ environment: <%= "pro" + "duction" %>
2
3
  apps:
3
4
  enabled:
4
5
  - profile
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gusteau
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-04-13 00:00:00.000000000 Z
13
+ date: 2013-04-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: optitron
@@ -152,6 +152,7 @@ files:
152
152
  - lib/gusteau/bureau.rb
153
153
  - lib/gusteau/chef.rb
154
154
  - lib/gusteau/compressed_tar_stream.rb
155
+ - lib/gusteau/erb.rb
155
156
  - lib/gusteau/log.rb
156
157
  - lib/gusteau/node.rb
157
158
  - lib/gusteau/server.rb