berks2env 0.0.3 → 0.1.1

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.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDRjYThkNGQ0OTI4YzkwZjZhOWM1MWI2MDZkOTc4YTY0MjMzOGQ0NQ==
4
+ NjA3NWRlZDg4YWJhZmRhNzM1ZjllOTY0YmU5ODIyNDFiMTk2YTgzZA==
5
5
  data.tar.gz: !binary |-
6
- NDg5ZmRjZmExNWZmZjVhMzE4MTY3NDJhY2ExZjMxZTk4OGQ2MWFiOQ==
6
+ OTRjZDQ0NmIzMzRlYzRmNDdlZjE2OTY5NWJjYmIxOGY5YTcyZGQ0Yw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YWNiY2M5NjEwZjhiMzZiOWNjNjI4MzAyZTcwYzFjNzY3ZGNiN2Q0MWM4MWQ1
10
- ZTFiODhkYjE1NTU5ODQ1MDRiYmRjNjgxZmJkZjVmZmEzMzM0ZjdhOGZjMjQw
11
- MDI1OGMzNDIxOTc5MDNhOTE2N2M4MmVhMWE3OWE3NDZiMWM4ZTU=
9
+ NWUyNzM1ZTI0NjQ4OTYzOGY4MjlmYzYwMjUzY2QzZGFhNDE4YzQ2ZWQzY2Yx
10
+ MmFkZTMwYTRiNTdmNWZhNGIxNTRiNzlmOWY1MjEzMDhlOTViZmVlYjgyZWRl
11
+ ZjUxYjJkODQyNmUwMzBhOWZlNWQ2YzRmZWFiOGIyNjJkZjllMmI=
12
12
  data.tar.gz: !binary |-
13
- Zjk1Yjg5ZDc2MzE1NTQ2ZjliOThjZjAwODc5MmNmMDY2MmQyNGY5NDI3NDY4
14
- ZDJlYjdhYzU1OGUwM2Y3ZDAyYjExYzM4NGNiZTZhZjJkNjNjMTQ2Nzg4Yzhk
15
- MTZlODBkYjlkZmNkNTU0MDhjNjdjMWY5OTdmNDcxZjU2M2Q4Yjk=
13
+ NmE2MWMyYzE0OWZhNjBmZDBkZmQzZjE2NWU3ZDFmZDQ0YjMyNTkxNTcyYzdl
14
+ MDYzZDJhYjVhOTFkMWM3ODgzNjEzMzI4NDdlMTEzYWE4ZmFiNTgwMDc3YjEx
15
+ Njg1YThiNWFmNTkxOWYyZTRiY2ViNmYzMThjNDRkMWFhYjIwMDE=
data/.gitignore CHANGED
@@ -1 +1,2 @@
1
1
  VERSION
2
+ Gemfile.lock
data/.travis.yml CHANGED
@@ -11,5 +11,5 @@ deploy:
11
11
  gemspec: berks2env.gemspec
12
12
  on:
13
13
  tags: true
14
- rvm: 2.1.1
14
+ all_branches: true
15
15
  repo: petecheslock/berks2env
data/README.md CHANGED
@@ -1,4 +1,7 @@
1
1
  [![Build Status](https://travis-ci.org/petecheslock/berks2env.svg?branch=master)](https://travis-ci.org/petecheslock/berks2env)
2
+ [![Gem Version](https://badge.fury.io/rb/berks2env.svg)](http://badge.fury.io/rb/berks2env)
3
+ [![Dependency Status](https://gemnasium.com/petecheslock/berks2env.svg)](https://gemnasium.com/petecheslock/berks2env)
4
+ [![Code Climate](https://codeclimate.com/github/petecheslock/berks2env.png)](https://codeclimate.com/github/petecheslock/berks2env)
2
5
  berks2env
3
6
  =========
4
7
  Convert a Berkshelf Lockfile to a Chef Environment json
@@ -2,5 +2,5 @@
2
2
 
3
3
  # This module holds the Berks2Env version info
4
4
  module Berks2Env
5
- VERSION = '0.0.3'
5
+ VERSION = '0.1.1'
6
6
  end
data/lib/berks2env.rb CHANGED
@@ -11,39 +11,45 @@ module Berks2Env
11
11
  def initialize(branch, berkslockfile)
12
12
  @branch = branch
13
13
  @berkslockfile = berkslockfile
14
+ @environment = Chef::Environment.new
14
15
  end
15
16
 
16
17
  def run
17
- environment = Chef::Environment.new
18
- environment.name(sanitize)
18
+ clean_branch = self.sanitize_branch
19
+ @environment.name(clean_branch)
19
20
  berksfile = Berkshelf::Lockfile.from_file(@berkslockfile)
20
21
  locks = berksfile.graph.locks.inject({}) do |hash, (name, dependency)|
21
22
  hash[name] = "= #{dependency.locked_version.to_s}"
22
23
  hash
23
24
  end
24
- environment.cookbook_versions(locks)
25
+ @environment.cookbook_versions(locks)
25
26
 
26
- environment.override_attributes({ :server_env => { :version => { :real => @branch, :virt => @branch }}})
27
- envfile = File.open("#{@branch}.json", 'w')
28
- envfile.write(environment.to_json)
27
+ @environment.override_attributes({ :server_env => { :version => { :real => @branch, :virt => @branch }}})
28
+ envfile = File.open("#{clean_branch}.json", 'w')
29
+ envfile.write(@environment.to_json)
29
30
  envfile.close
31
+ self.create_latest
32
+ end
33
+
34
+ def create_latest
30
35
  if @branch.match(/\d+\.\d+\.\d+\z/)
31
36
  xver = @branch.split('.')
32
37
  xver = "#{xver[0]}.#{xver[1]}.LATEST"
33
38
  # Create the major.minor.X environment to go with the major.minor.patch environment
34
- environment.name(xver.gsub('.', '_'))
35
- environment.override_attributes({ :server_env => { :version => { :real => @branch, :virt => xver }}})
39
+ @environment.name(xver.gsub('.', '_'))
40
+ @environment.override_attributes({ :server_env => { :version => { :real => @branch, :virt => xver }}})
36
41
  envfile = File.open("#{xver.gsub('.', '_')}.json", 'w')
37
- envfile.write(environment.to_json)
42
+ envfile.write(@environment.to_json)
38
43
  envfile.close
39
44
  end
40
45
  end
41
46
 
42
- def sanitize
43
- if @branch =~ /\d+\.\d+\.\d+/
44
- @branch.gsub('.','_')
47
+
48
+ def sanitize_branch
49
+ if self.branch =~ /\d+\.\d+\.\d+/
50
+ self.branch.gsub('.','_')
45
51
  else
46
- @branch.gsub(/[\-;:,.\/\\']/,'_')
52
+ self.branch.gsub(/[\-;:,.\/\\']/,'_')
47
53
  end
48
54
  end
49
55
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: berks2env
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pete Cheslock
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-29 00:00:00.000000000 Z
11
+ date: 2014-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chef
@@ -97,7 +97,6 @@ files:
97
97
  - .rubocop.yml
98
98
  - .travis.yml
99
99
  - Gemfile
100
- - Gemfile.lock
101
100
  - LICENSE
102
101
  - README.md
103
102
  - Rakefile
data/Gemfile.lock DELETED
@@ -1,172 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- berks2env (0.0.3)
5
- berkshelf (~> 3.1)
6
- chef (~> 11.8)
7
- json (~> 1.7, >= 1.7.7)
8
-
9
- GEM
10
- remote: http://rubygems.org/
11
- specs:
12
- addressable (2.3.6)
13
- ast (2.0.0)
14
- berkshelf (3.1.1)
15
- addressable (~> 2.3.4)
16
- berkshelf-api-client (~> 1.2)
17
- buff-config (~> 0.2)
18
- buff-extensions (~> 0.4)
19
- buff-shell_out (~> 0.1)
20
- celluloid (~> 0.16.0.pre)
21
- celluloid-io (~> 0.16.0.pre)
22
- faraday (~> 0.9.0)
23
- minitar (~> 0.5.4)
24
- octokit (~> 3.0)
25
- retryable (~> 1.3.3)
26
- ridley (~> 3.1)
27
- solve (~> 1.1)
28
- thor (~> 0.18)
29
- berkshelf-api-client (1.2.0)
30
- faraday (~> 0.9.0)
31
- buff-config (0.4.0)
32
- buff-extensions (~> 0.3)
33
- varia_model (~> 0.1)
34
- buff-extensions (0.5.0)
35
- buff-ignore (1.1.1)
36
- buff-ruby_engine (0.1.0)
37
- buff-shell_out (0.1.1)
38
- buff-ruby_engine (~> 0.1.0)
39
- celluloid (0.16.0.pre)
40
- timers (~> 2.0.0)
41
- celluloid-io (0.16.0.pre)
42
- celluloid (>= 0.16.0.pre)
43
- nio4r (>= 1.0.0)
44
- chef (11.12.2)
45
- chef-zero (~> 2.0, >= 2.0.2)
46
- diff-lcs (~> 1.2, >= 1.2.4)
47
- erubis (~> 2.7)
48
- highline (~> 1.6, >= 1.6.9)
49
- json (>= 1.4.4, <= 1.8.1)
50
- mime-types (~> 1.16)
51
- mixlib-authentication (~> 1.3)
52
- mixlib-cli (~> 1.4)
53
- mixlib-config (~> 2.0)
54
- mixlib-log (~> 1.3)
55
- mixlib-shellout (~> 1.4)
56
- net-ssh (~> 2.6)
57
- net-ssh-multi (~> 1.1)
58
- ohai (~> 7.0)
59
- pry (~> 0.9)
60
- rest-client (>= 1.0.4, < 1.7.0)
61
- yajl-ruby (~> 1.1)
62
- chef-zero (2.0.2)
63
- hashie (~> 2.0)
64
- json
65
- mixlib-log (~> 1.3)
66
- rack
67
- coderay (1.1.0)
68
- dep-selector-libgecode (1.0.0)
69
- dep_selector (1.0.3)
70
- dep-selector-libgecode (~> 1.0)
71
- ffi (~> 1.9)
72
- diff-lcs (1.2.5)
73
- erubis (2.7.0)
74
- faraday (0.9.0)
75
- multipart-post (>= 1.2, < 3)
76
- ffi (1.9.3)
77
- hashie (2.1.1)
78
- highline (1.6.21)
79
- hitimes (1.2.1)
80
- ipaddress (0.8.0)
81
- json (1.8.1)
82
- method_source (0.8.2)
83
- mime-types (1.25.1)
84
- minitar (0.5.4)
85
- mixlib-authentication (1.3.0)
86
- mixlib-log
87
- mixlib-cli (1.5.0)
88
- mixlib-config (2.1.0)
89
- mixlib-log (1.6.0)
90
- mixlib-shellout (1.4.0)
91
- multipart-post (2.0.0)
92
- net-http-persistent (2.9.4)
93
- net-ssh (2.8.0)
94
- net-ssh-gateway (1.2.0)
95
- net-ssh (>= 2.6.5)
96
- net-ssh-multi (1.2.0)
97
- net-ssh (>= 2.6.5)
98
- net-ssh-gateway (>= 1.2.0)
99
- nio4r (1.0.0)
100
- octokit (3.1.0)
101
- sawyer (~> 0.5.3)
102
- ohai (7.0.2)
103
- ipaddress
104
- mime-types (~> 1.16)
105
- mixlib-cli
106
- mixlib-config (~> 2.0)
107
- mixlib-log
108
- mixlib-shellout (~> 1.2)
109
- systemu (~> 2.5.2)
110
- yajl-ruby
111
- parser (2.1.9)
112
- ast (>= 1.1, < 3.0)
113
- slop (~> 3.4, >= 3.4.5)
114
- powerpack (0.0.9)
115
- pry (0.9.12.6)
116
- coderay (~> 1.0)
117
- method_source (~> 0.8)
118
- slop (~> 3.4)
119
- rack (1.5.2)
120
- rainbow (2.0.0)
121
- rake (0.9.6)
122
- rest-client (1.6.7)
123
- mime-types (>= 1.16)
124
- retryable (1.3.5)
125
- ridley (3.1.0)
126
- addressable
127
- buff-config (~> 0.2)
128
- buff-extensions (~> 0.3)
129
- buff-ignore (~> 1.1)
130
- buff-shell_out (~> 0.1)
131
- celluloid (~> 0.16.0.pre)
132
- celluloid-io (~> 0.16.0.pre)
133
- erubis
134
- faraday (~> 0.9.0)
135
- hashie (>= 2.0.2)
136
- json (>= 1.7.7)
137
- mixlib-authentication (>= 1.3.0)
138
- net-http-persistent (>= 2.8)
139
- retryable
140
- semverse (~> 1.1)
141
- varia_model (~> 0.3)
142
- rubocop (0.21.0)
143
- json (>= 1.7.7, < 2)
144
- parser (~> 2.1.9)
145
- powerpack (~> 0.0.6)
146
- rainbow (>= 1.99.1, < 3.0)
147
- ruby-progressbar (~> 1.4)
148
- ruby-progressbar (1.4.2)
149
- sawyer (0.5.4)
150
- addressable (~> 2.3.5)
151
- faraday (~> 0.8, < 0.10)
152
- semverse (1.1.0)
153
- slop (3.5.0)
154
- solve (1.2.0)
155
- dep_selector (~> 1.0)
156
- semverse (~> 1.1)
157
- systemu (2.5.2)
158
- thor (0.19.1)
159
- timers (2.0.0)
160
- hitimes
161
- varia_model (0.3.2)
162
- buff-extensions (~> 0.2)
163
- hashie (>= 2.0.2)
164
- yajl-ruby (1.2.0)
165
-
166
- PLATFORMS
167
- ruby
168
-
169
- DEPENDENCIES
170
- berks2env!
171
- rake (~> 0)
172
- rubocop (~> 0.21)