berks2env 0.1.1 → 0.2.0

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
- 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