berks2env 0.0.3 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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)