berks2env 0.1.1 → 0.2.0

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
- NjA3NWRlZDg4YWJhZmRhNzM1ZjllOTY0YmU5ODIyNDFiMTk2YTgzZA==
4
+ N2JhNjJhY2NlOWUxOGNhODA4MGRiMDcxMTc2NDA3YTQzMjM5NDBiNg==
5
5
  data.tar.gz: !binary |-
6
- OTRjZDQ0NmIzMzRlYzRmNDdlZjE2OTY5NWJjYmIxOGY5YTcyZGQ0Yw==
6
+ NGE4NzUxODM2YmVlMDQzYWQ5NTE2YjkyNzMxNTBhMzY3YTlmZjU3NA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NWUyNzM1ZTI0NjQ4OTYzOGY4MjlmYzYwMjUzY2QzZGFhNDE4YzQ2ZWQzY2Yx
10
- MmFkZTMwYTRiNTdmNWZhNGIxNTRiNzlmOWY1MjEzMDhlOTViZmVlYjgyZWRl
11
- ZjUxYjJkODQyNmUwMzBhOWZlNWQ2YzRmZWFiOGIyNjJkZjllMmI=
9
+ ZDY4MjA0MmUxOGIwZjNjMDkwZWYyN2ViMGM2MjU1NjI1ODkyYzc5MDY2N2Nm
10
+ MmRhNGRmNDhlZjIzNmUxMTllOWVhM2I0ZjRmODUyZmQ0MDBjODBlYThiOWEz
11
+ YzEzYjFlM2M0YzNmOTdkZjYxN2QzZjUwZDI3YzNkMDEwNTQyNGM=
12
12
  data.tar.gz: !binary |-
13
- NmE2MWMyYzE0OWZhNjBmZDBkZmQzZjE2NWU3ZDFmZDQ0YjMyNTkxNTcyYzdl
14
- MDYzZDJhYjVhOTFkMWM3ODgzNjEzMzI4NDdlMTEzYWE4ZmFiNTgwMDc3YjEx
15
- Njg1YThiNWFmNTkxOWYyZTRiY2ViNmYzMThjNDRkMWFhYjIwMDE=
13
+ MzRmN2U4MDU4MWIxNzMwYzhlMzcwNTExY2I1OTI3ZjEwYTAxZjdmNTA5OWNl
14
+ NzgxNjgxZWMzODQwZWQ4MzRjODU1MjY5MTZmMWY5ZjE0ZDQ3OWFkODA1ODcx
15
+ MTVhZTRiYjYwZTBhMTkwN2UzMGMwM2JhMmZmOGM0NjVmZjAyYWU=
data/Rakefile CHANGED
@@ -1,10 +1,7 @@
1
- require 'bundler'
2
- require 'rake/testtask'
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
3
 
4
- Bundler::GemHelper.install_tasks
4
+ RSpec::Core::RakeTask.new
5
5
 
6
- Rake::TestTask.new do |test|
7
- test.pattern = 'test/*_tests.rb'
8
- end
9
-
10
- task default: 'test'
6
+ task :default => :spec
7
+ task :test => :spec
data/berks2env.gemspec CHANGED
@@ -23,5 +23,9 @@ Gem::Specification.new do |s|
23
23
  s.add_runtime_dependency('berkshelf', ['~> 3.1'])
24
24
  s.add_development_dependency('rubocop', ['~> 0.21'])
25
25
  s.add_development_dependency('rake', ['~> 0'])
26
+ s.add_development_dependency('rspec-core', ['~> 2.14.8'])
27
+ s.add_development_dependency('rspec-mocks', ['~> 2.14.6'])
28
+ s.add_development_dependency('rspec-expectations', ['~> 2.14.5'])
29
+ s.add_development_dependency('rspec', ['~> 0'])
26
30
 
27
31
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  # This module holds the Berks2Env version info
4
4
  module Berks2Env
5
- VERSION = '0.1.1'
5
+ VERSION = '0.2.0'
6
6
  end
data/lib/berks2env.rb CHANGED
@@ -3,55 +3,53 @@ require 'berks2env/version'
3
3
  require 'berkshelf'
4
4
  require 'chef/environment'
5
5
 
6
- module Berks2Env
7
- # This class takes and dumps out environment json files
8
- class Convert
9
- attr_reader :branch, :berkslockfile
10
-
11
- def initialize(branch, berkslockfile)
12
- @branch = branch
13
- @berkslockfile = berkslockfile
14
- @environment = Chef::Environment.new
6
+ # This class takes and dumps out environment json files
7
+ class Convert
8
+ attr_reader :branch, :berkslockfile
9
+
10
+ def initialize(branch, berkslockfile)
11
+ @branch = branch
12
+ @berkslockfile = berkslockfile
13
+ @environment = Chef::Environment.new
14
+ end
15
+
16
+ def run
17
+ clean_branch = self.sanitize_branch
18
+ @environment.name(clean_branch)
19
+ berksfile = Berkshelf::Lockfile.from_file(@berkslockfile)
20
+ locks = berksfile.graph.locks.inject({}) do |hash, (name, dependency)|
21
+ hash[name] = "= #{dependency.locked_version.to_s}"
22
+ hash
15
23
  end
24
+ @environment.cookbook_versions(locks)
16
25
 
17
- def run
18
- clean_branch = self.sanitize_branch
19
- @environment.name(clean_branch)
20
- berksfile = Berkshelf::Lockfile.from_file(@berkslockfile)
21
- locks = berksfile.graph.locks.inject({}) do |hash, (name, dependency)|
22
- hash[name] = "= #{dependency.locked_version.to_s}"
23
- hash
24
- end
25
- @environment.cookbook_versions(locks)
26
-
27
- @environment.override_attributes({ :server_env => { :version => { :real => @branch, :virt => @branch }}})
28
- envfile = File.open("#{clean_branch}.json", 'w')
26
+ @environment.override_attributes({ :server_env => { :version => { :real => @branch, :virt => @branch }}})
27
+ envfile = File.open("#{clean_branch}.json", 'w')
28
+ envfile.write(@environment.to_json)
29
+ envfile.close
30
+ self.create_latest
31
+ end
32
+
33
+ def create_latest
34
+ if @branch.match(/\d+\.\d+\.\d+\z/)
35
+ xver = @branch.split('.')
36
+ xver = "#{xver[0]}.#{xver[1]}.LATEST"
37
+ # Create the major.minor.X environment to go with the major.minor.patch environment
38
+ @environment.name(xver.gsub('.', '_'))
39
+ @environment.override_attributes({ :server_env => { :version => { :real => @branch, :virt => xver }}})
40
+ envfile = File.open("#{xver.gsub('.', '_')}.json", 'w')
29
41
  envfile.write(@environment.to_json)
30
42
  envfile.close
31
- self.create_latest
32
- end
33
-
34
- def create_latest
35
- if @branch.match(/\d+\.\d+\.\d+\z/)
36
- xver = @branch.split('.')
37
- xver = "#{xver[0]}.#{xver[1]}.LATEST"
38
- # Create the major.minor.X environment to go with the major.minor.patch environment
39
- @environment.name(xver.gsub('.', '_'))
40
- @environment.override_attributes({ :server_env => { :version => { :real => @branch, :virt => xver }}})
41
- envfile = File.open("#{xver.gsub('.', '_')}.json", 'w')
42
- envfile.write(@environment.to_json)
43
- envfile.close
44
- end
45
43
  end
44
+ end
46
45
 
47
46
 
48
- def sanitize_branch
49
- if self.branch =~ /\d+\.\d+\.\d+/
50
- self.branch.gsub('.','_')
51
- else
52
- self.branch.gsub(/[\-;:,.\/\\']/,'_')
53
- end
47
+ def sanitize_branch
48
+ if self.branch =~ /\d+\.\d+\.\d+/
49
+ self.branch.gsub('.','_')
50
+ else
51
+ self.branch.gsub(/[\-;:,.\/\\']/,'_')
54
52
  end
55
-
56
53
  end
54
+
57
55
  end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+
3
+ describe Convert do
4
+ before :each do
5
+ @convert = Convert.new("1.2.3", "Berksfile.stub")
6
+ end
7
+
8
+ describe "#new" do
9
+ it "takes two parameters and returns a Convert object" do
10
+ @convert.should be_an_instance_of Convert
11
+ end
12
+ end
13
+ end
@@ -0,0 +1 @@
1
+ require 'berks2env'
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.1.1
4
+ version: 0.2.0
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-30 00:00:00.000000000 Z
11
+ date: 2014-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chef
@@ -86,6 +86,62 @@ dependencies:
86
86
  - - ~>
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: rspec-core
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: 2.14.8
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ~>
101
+ - !ruby/object:Gem::Version
102
+ version: 2.14.8
103
+ - !ruby/object:Gem::Dependency
104
+ name: rspec-mocks
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 2.14.6
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ~>
115
+ - !ruby/object:Gem::Version
116
+ version: 2.14.6
117
+ - !ruby/object:Gem::Dependency
118
+ name: rspec-expectations
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ~>
122
+ - !ruby/object:Gem::Version
123
+ version: 2.14.5
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ~>
129
+ - !ruby/object:Gem::Version
130
+ version: 2.14.5
131
+ - !ruby/object:Gem::Dependency
132
+ name: rspec
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ~>
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ~>
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
89
145
  description: Convert a Berkshelf Lockfile to a Chef Environment json
90
146
  email: petecheslock@gmail.com
91
147
  executables:
@@ -104,6 +160,8 @@ files:
104
160
  - bin/berks2env
105
161
  - lib/berks2env.rb
106
162
  - lib/berks2env/version.rb
163
+ - spec/berks2env_spec.rb
164
+ - spec/spec_helper.rb
107
165
  homepage: https://github.com/petecheslock/berks2env
108
166
  licenses:
109
167
  - MIT
@@ -128,4 +186,6 @@ rubygems_version: 2.2.2
128
186
  signing_key:
129
187
  specification_version: 4
130
188
  summary: Solve Berks Lock file to Environment
131
- test_files: []
189
+ test_files:
190
+ - spec/berks2env_spec.rb
191
+ - spec/spec_helper.rb