puppet-library 0.13.0 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -142,6 +142,53 @@ module PuppetLibrary::Forge
142
142
  expect(metadata_list[1]["version"]).to eq "1.1.0"
143
143
  end
144
144
  end
145
+
146
+ context "when the module directory contains the requested in a subdirectory" do
147
+ before do
148
+ add_module("puppetlabs", "apache", "1.0.0")
149
+ add_module("puppetlabs", "apache", "1.1.0")
150
+ subdir = File.join(module_dir.path, "other-modules")
151
+ mkdir_p subdir
152
+ mv File.join(module_dir.path, "puppetlabs-apache-1.1.0.tar.gz"), subdir
153
+ end
154
+
155
+ it "returns an array containing the module's versions' metadata" do
156
+ metadata_list = forge.get_metadata("puppetlabs", "apache")
157
+ expect(metadata_list.size).to eq 2
158
+ end
159
+ end
160
+
161
+ context "when a module found isn't able to be read" do
162
+ before do
163
+ module_path = File.join(module_dir.path, "puppetlabs-apache-1.0.0.tar.gz")
164
+ FileUtils.touch(module_path)
165
+ end
166
+
167
+ it "logs a warning and returns nothing" do
168
+ metadata_list = forge.get_metadata("puppetlabs", "apache")
169
+ expect(metadata_list).to be_empty
170
+
171
+ expect(forge.logs).to include_string_matching /WARN.*Error reading from/
172
+ end
173
+ end
174
+
175
+ context "when a module doesn't have a metadata file" do
176
+ before do
177
+ module_source_path = File.join(module_dir.path, "puppetlabs-apache-1.0.0")
178
+ FileUtils.mkdir module_source_path
179
+ buffer = PuppetLibrary::Archive::Archiver.archive_dir(module_source_path, "puppetlabs-apache-1.0.0")
180
+ module_path = File.join(module_dir.path, "puppetlabs-apache-1.0.0.tar.gz")
181
+ File.open(module_path, "w") { |archive| archive.write buffer.read }
182
+ FileUtils.rm_rf module_source_path
183
+ end
184
+
185
+ it "logs a warning and returns nothing" do
186
+ metadata_list = forge.get_metadata("puppetlabs", "apache")
187
+ expect(metadata_list).to be_empty
188
+
189
+ expect(forge.logs).to include_string_matching /WARN.*Error reading from/
190
+ end
191
+ end
145
192
  end
146
193
  end
147
194
  end
@@ -19,7 +19,7 @@ require 'spec_helper'
19
19
  module PuppetLibrary::Forge
20
20
  describe GitRepository do
21
21
  @@repo_dir = Tempdir.new("git-repo")
22
- @@versions = [ "0.1.0", "0.9.0", "1.0.0-rc1", "1.0.0" ]
22
+ @@versions = [ "0.1.0", "0.9.0", "1.0.0-rc1", "1.0.0", "1.0.1" ]
23
23
  @@tags = @@versions.map {|version| "v#{version}"} + [ "xxx" ]
24
24
 
25
25
  before :all do
@@ -42,8 +42,10 @@ module PuppetLibrary::Forge
42
42
  change_file.puts "Version #{version}"
43
43
  end
44
44
 
45
- # Update the module file
46
45
  modulefile_path = File.join(@@repo_dir.path, "Modulefile")
46
+ metadata_file_path = File.join(@@repo_dir.path, "metadata.json")
47
+
48
+ # Update the module file
47
49
  File.open(modulefile_path, "w") do |modulefile|
48
50
  modulefile.write <<-MODULEFILE
49
51
  name 'puppetlabs-apache'
@@ -53,7 +55,24 @@ module PuppetLibrary::Forge
53
55
  end
54
56
 
55
57
  # A dodgy early version with no modulefile
56
- File.delete modulefile_path if version == "0.1.0"
58
+ if version == "0.1.0"
59
+ File.delete modulefile_path
60
+ end
61
+
62
+ # A later version with metadata.json instead of modulefile
63
+ if version == "1.0.1"
64
+ File.delete modulefile_path
65
+ File.open(metadata_file_path, "w") do |metadata_file|
66
+ metadata = {
67
+ "name" => "puppetlabs-apache",
68
+ "version" => "1.0.1",
69
+ "author" => "puppetlabs"
70
+ }
71
+
72
+ metadata_file.write metadata.to_json
73
+ end
74
+ end
75
+
57
76
  git "add ."
58
77
  git "commit --message='Version #{version}'"
59
78
  git "tag #{tag}"
@@ -148,11 +167,22 @@ module PuppetLibrary::Forge
148
167
  end
149
168
 
150
169
  context "when the module is requested" do
151
- it "generates the metadata for the each version" do
152
- metadata = forge.get_metadata("puppetlabs", "apache")
153
- expect(metadata).to have(3).versions
154
- expect(metadata.first["name"]).to eq "puppetlabs-apache"
155
- expect(metadata.first["version"]).to eq "0.9.0"
170
+ context "when there is a metadata file, but no modulefile" do
171
+ it "returns the metadata for each version" do
172
+ metadata = forge.get_metadata("puppetlabs", "apache")
173
+ expect(metadata.size).to eq(4)
174
+ expect(metadata.last["name"]).to eq "puppetlabs-apache"
175
+ expect(metadata.last["version"]).to eq "1.0.1"
176
+ end
177
+ end
178
+
179
+ context "when there is a modulefile" do
180
+ it "generates the metadata for the each version" do
181
+ metadata = forge.get_metadata("puppetlabs", "apache")
182
+ expect(metadata.size).to eq(4)
183
+ expect(metadata.first["name"]).to eq "puppetlabs-apache"
184
+ expect(metadata.first["version"]).to eq "0.9.0"
185
+ end
156
186
  end
157
187
  end
158
188
  end
@@ -160,12 +190,12 @@ module PuppetLibrary::Forge
160
190
  describe "#get_all_metadata" do
161
191
  it "generates the metadata for the each version" do
162
192
  metadata = forge.get_all_metadata
163
- expect(metadata).to have(3).versions
193
+ expect(metadata.size).to eq(4)
164
194
  expect(metadata.first["name"]).to eq "puppetlabs-apache"
165
195
  expect(metadata.first["version"]).to eq "0.9.0"
166
196
  end
167
197
 
168
- it "doesn't include versions with no Modulefile" do
198
+ it "doesn't include versions with no metadata file and no Modulefile" do
169
199
  metadata = forge.get_all_metadata
170
200
  dodgy_version = metadata.find {|m| m["version"] == "0.1.0" }
171
201
  expect(dodgy_version).to be_nil
@@ -19,31 +19,27 @@ require 'spec_helper'
19
19
  module PuppetLibrary::Forge
20
20
  describe Source do
21
21
  let(:module_dir) { Tempdir.new("module_dir") }
22
+ let(:metadata_file_path) { File.join(module_dir.path, "metadata.json") }
22
23
  let(:modulefile_path) { File.join(module_dir.path, "Modulefile") }
23
24
  let(:forge) { Source.new(module_dir) }
24
25
 
25
26
  before do
26
- set_module! "puppetlabs", "apache", "1.0.0"
27
- add_module_dependency! "puppetlabs", "stdlib", ">= 2.4.0"
28
- add_module_dependency! "puppetlabs", "concat", ">= 1.0.1"
29
- end
30
-
31
- def set_module!(author, name, version)
32
- File.open(modulefile_path, "w") do |modulefile|
33
- modulefile.puts <<-EOF
34
- name '#{author}-#{name}'
35
- version '#{version}'
36
- author '#{author}'
37
- description '#{author} #{name} module, version #{version}'
38
- EOF
39
- end
40
- end
41
-
42
- def add_module_dependency!(author, name, spec)
43
- File.open(modulefile_path, "a") do |modulefile|
44
- modulefile.puts <<-EOF
45
- dependency "#{author}/#{name}", "#{spec}"
46
- EOF
27
+ File.open(metadata_file_path, "w") do |metadata_file|
28
+ metadata = {
29
+ "name" => "puppetlabs-apache",
30
+ "version" => "1.0.0",
31
+ "author" => "puppetlabs",
32
+ "description" => "puppetlabs apache module, version 1.0.0",
33
+ "license" => "Apache 2.0",
34
+ "source" => "http://github.com/puppetlabs/puppetlabs-apache.git",
35
+ "project_page" => "https://github.com/puppetlabs/puppetlabs-apache",
36
+ "issues_url" => "https://github.com/puppetlabs/puppetlabs-apache/issues",
37
+ "dependencies" => [
38
+ { "name" => "puppetlabs/stdlib", "version_requirement" => ">= 2.4.0" },
39
+ { "name" => "puppetlabs/concat", "version_requirement" => ">= 1.0.1" }
40
+ ]
41
+ }
42
+ metadata_file.puts metadata.to_json
47
43
  end
48
44
  end
49
45
 
@@ -95,16 +91,40 @@ module PuppetLibrary::Forge
95
91
  end
96
92
 
97
93
  context "when the source module is requested" do
98
- it "returns a buffer of the packaged module" do
99
- buffer = forge.get_module("puppetlabs", "apache", "1.0.0")
94
+ context "when there is a metadata file but no modulefile" do
95
+ it "includes the metadata file in the packaged application" do
96
+ buffer = forge.get_module("puppetlabs", "apache", "1.0.0")
100
97
 
101
- expect(buffer).to be_tgz_with(/Modulefile/, /puppetlabs-apache/)
98
+ expect(buffer).to be_tgz_with(/metadata.json/, /"name":"puppetlabs-apache"/)
99
+ end
102
100
  end
103
101
 
104
- it "generates a metadata file in the packaged application" do
105
- buffer = forge.get_module("puppetlabs", "apache", "1.0.0")
102
+ context "when there is a modulefile" do
103
+ before do
104
+ File.open(modulefile_path, "w") do |modulefile|
105
+ modulefile.puts <<-EOF
106
+ name 'puppetlabs-apache'
107
+ version '2.0.0'
108
+ author 'puppetlabs'
109
+ description 'puppetlabs apache module, version 2.0.0'
106
110
 
107
- expect(buffer).to be_tgz_with(/metadata.json/, /"name":"puppetlabs-apache"/)
111
+ dependency "puppetlabs/stdlib", ">= 2.4.0"
112
+ dependency "puppetlabs/concat", ">= 1.0.1"
113
+ EOF
114
+ end
115
+ end
116
+
117
+ it "returns a buffer of the packaged module" do
118
+ buffer = forge.get_module("puppetlabs", "apache", "2.0.0")
119
+
120
+ expect(buffer).to be_tgz_with(/Modulefile/, /puppetlabs-apache/)
121
+ end
122
+
123
+ it "generates a metadata file in the packaged application" do
124
+ buffer = forge.get_module("puppetlabs", "apache", "2.0.0")
125
+
126
+ expect(buffer).to be_tgz_with(/metadata.json/, /"name":"puppetlabs-apache"/)
127
+ end
108
128
  end
109
129
  end
110
130
  end
@@ -117,7 +137,7 @@ module PuppetLibrary::Forge
117
137
  end
118
138
 
119
139
  context "when the requested module is the source module" do
120
- it "returns an empty list" do
140
+ it "returns the module's metadata" do
121
141
  metadata = forge.get_metadata("puppetlabs", "apache").first
122
142
 
123
143
  expect(metadata["name"]).to eq "puppetlabs-apache"
data/spec/server_spec.rb CHANGED
@@ -64,7 +64,7 @@ module PuppetLibrary
64
64
 
65
65
  get "/"
66
66
 
67
- expect(last_response.body).to include '"modules.json?q="'
67
+ expect(last_response.body).to include '"modules.json"'
68
68
  end
69
69
 
70
70
  context "when a search term is provided" do
data/spec/spec_helper.rb CHANGED
@@ -20,6 +20,7 @@ require 'puppet_library'
20
20
  require 'module_spec_helper'
21
21
  require 'pry'
22
22
  require 'rack'
23
+ require 'rspec'
23
24
  require 'tempfile'
24
25
  require 'fileutils'
25
26
 
@@ -51,11 +52,22 @@ end
51
52
 
52
53
  RSpec::Matchers.define :be_tgz_with do |expected_file_name, expected_content|
53
54
  match do |buffer|
54
- file_content = Tgz.new(buffer).read expected_file_name
55
- if Regexp === expected_content
56
- file_content =~ expected_content
57
- else
58
- file_content == expected_content
55
+ begin
56
+ file_content = Tgz.new(buffer).read expected_file_name
57
+ if Regexp === expected_content
58
+ file_content =~ expected_content
59
+ else
60
+ file_content == expected_content
61
+ end
62
+ rescue
63
+ false
59
64
  end
60
65
  end
61
66
  end
67
+
68
+ RSpec::Matchers.define :include_string_matching do |expected_regex|
69
+ match do |array|
70
+ found = array.find { |e| e =~ expected_regex }
71
+ ! found.nil?
72
+ end
73
+ end
@@ -64,10 +64,11 @@ module PuppetLibrary::Util
64
64
  end
65
65
  end
66
66
 
67
- describe "#on_tag" do
68
- it "yields to the block in a directory containing the tag" do
69
- git.on_tag("1.0.0") do
70
- expect(File.read("Modulefile")).to include "version '1.0.0'"
67
+ describe "#with_tag" do
68
+ it "yields to the block with a directory containing the tag" do
69
+ git.with_tag("1.0.0") do |tag_path|
70
+ modulefile = File.join(tag_path, "Modulefile")
71
+ expect(File.read(modulefile)).to include "version '1.0.0'"
71
72
  end
72
73
  end
73
74
  end
@@ -88,7 +89,7 @@ module PuppetLibrary::Util
88
89
  it "creates Git's .git/FETCH_HEAD file so that we know that the cache was recently created" do
89
90
  git.update_cache!
90
91
 
91
- expect(File.exist?(File.join(cache_dir.path, ".git", "FETCH_HEAD"))).to be_true
92
+ expect(File.exist?(File.join(cache_dir.path, ".git", "FETCH_HEAD"))).to be_truthy
92
93
  end
93
94
 
94
95
  it "copes with a missing .git/FETCH_HEAD file" do
@@ -98,7 +99,7 @@ module PuppetLibrary::Util
98
99
 
99
100
  git.update_cache!
100
101
 
101
- expect(File.exist? fetch_file).to be_true
102
+ expect(File.exist? fetch_file).to be_truthy
102
103
  end
103
104
 
104
105
  it "doesn't update the cache if it was recently updated" do
@@ -136,7 +137,7 @@ module PuppetLibrary::Util
136
137
  git.update_cache!
137
138
  git.clear_cache!
138
139
 
139
- expect(File.exist? cache_dir.path).to be_false
140
+ expect(File.exist? cache_dir.path).to be_falsey
140
141
  end
141
142
  end
142
143
  end
@@ -20,15 +20,31 @@ require 'spec_helper'
20
20
  module PuppetLibrary::Util
21
21
  describe TempDir do
22
22
  describe "#use" do
23
- it "creates a directory and changes to it for the life of the block" do
23
+ it "creates a directory for the life of the block" do
24
24
  dir_path = nil
25
25
  dir_existed_in_block = false
26
26
  TempDir.use("xxx") do |path|
27
27
  dir_existed_in_block = File.directory? path
28
28
  dir_path = path
29
29
  end
30
- expect(dir_existed_in_block).to be_true
31
- expect(File.exist? dir_path).to be_false
30
+ expect(dir_existed_in_block).to be_truthy
31
+ expect(File.exist? dir_path).to be_falsey
32
+ end
33
+ end
34
+
35
+ describe "#cd" do
36
+ it "creates a directory and changes to it for the life of the block" do
37
+ dir_path = nil
38
+ dir_existed_in_block = false
39
+ dir_in_block = ""
40
+ TempDir.cd("xxx") do |path|
41
+ dir_existed_in_block = File.directory? path
42
+ dir_path = path
43
+ dir_in_block = Dir.pwd
44
+ end
45
+ expect(dir_existed_in_block).to be_truthy
46
+ expect(File.exist? dir_path).to be_falsey
47
+ expect(dir_in_block).not_to eq Dir.pwd
32
48
  end
33
49
  end
34
50
  end
metadata CHANGED
@@ -1,167 +1,359 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: puppet-library
3
- version: !ruby/object:Gem::Version
4
- version: 0.13.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.14.0
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - drrb
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
-
12
- date: 2014-03-11 00:00:00 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
11
+ date: 2014-06-29 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
15
14
  name: sinatra
16
- version_requirements: &id001 !ruby/object:Gem::Requirement
17
- requirements:
18
- - &id002
19
- - ">="
20
- - !ruby/object:Gem::Version
21
- version: "0"
22
- prerelease: false
23
- requirement: *id001
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
24
20
  type: :runtime
25
- - !ruby/object:Gem::Dependency
26
- name: json
27
- version_requirements: &id003 !ruby/object:Gem::Requirement
28
- requirements:
29
- - *id002
30
21
  prerelease: false
31
- requirement: *id003
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
32
34
  type: :runtime
33
- - !ruby/object:Gem::Dependency
34
- name: haml
35
- version_requirements: &id004 !ruby/object:Gem::Requirement
36
- requirements:
37
- - *id002
38
35
  prerelease: false
39
- requirement: *id004
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: haml
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
40
48
  type: :runtime
41
- - !ruby/object:Gem::Dependency
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
42
56
  name: docile
43
- version_requirements: &id005 !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
47
61
  version: 1.0.0
48
- prerelease: false
49
- requirement: *id005
50
62
  type: :runtime
51
- - !ruby/object:Gem::Dependency
52
- name: open4
53
- version_requirements: &id006 !ruby/object:Gem::Requirement
54
- requirements:
55
- - *id002
56
63
  prerelease: false
57
- requirement: *id006
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: 1.0.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: open4
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
58
76
  type: :runtime
59
- - !ruby/object:Gem::Dependency
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
60
84
  name: bundler
61
- version_requirements: &id007 !ruby/object:Gem::Requirement
62
- requirements:
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
63
87
  - - ~>
64
- - !ruby/object:Gem::Version
65
- version: "1.3"
66
- prerelease: false
67
- requirement: *id007
88
+ - !ruby/object:Gem::Version
89
+ version: '1.3'
68
90
  type: :development
69
- - !ruby/object:Gem::Dependency
70
- name: coveralls
71
- version_requirements: &id008 !ruby/object:Gem::Requirement
72
- requirements:
73
- - *id002
74
91
  prerelease: false
75
- requirement: *id008
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: '1.3'
97
+ - !ruby/object:Gem::Dependency
98
+ name: coveralls
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
76
104
  type: :development
77
- - !ruby/object:Gem::Dependency
78
- name: gitsu
79
- version_requirements: &id009 !ruby/object:Gem::Requirement
80
- requirements:
81
- - *id002
82
105
  prerelease: false
83
- requirement: *id009
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: gitsu
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
84
118
  type: :development
85
- - !ruby/object:Gem::Dependency
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
86
126
  name: librarian-puppet
87
- version_requirements: &id010 !ruby/object:Gem::Requirement
88
- requirements:
89
- - - "="
90
- - !ruby/object:Gem::Version
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '='
130
+ - !ruby/object:Gem::Version
91
131
  version: 0.9.10
92
- prerelease: false
93
- requirement: *id010
94
132
  type: :development
95
- - !ruby/object:Gem::Dependency
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '='
137
+ - !ruby/object:Gem::Version
138
+ version: 0.9.10
139
+ - !ruby/object:Gem::Dependency
96
140
  name: mime-types
97
- version_requirements: &id011 !ruby/object:Gem::Requirement
98
- requirements:
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
99
143
  - - <
100
- - !ruby/object:Gem::Version
101
- version: "2"
102
- prerelease: false
103
- requirement: *id011
144
+ - !ruby/object:Gem::Version
145
+ version: '2'
104
146
  type: :development
105
- - !ruby/object:Gem::Dependency
106
- name: pry
107
- version_requirements: &id012 !ruby/object:Gem::Requirement
108
- requirements:
109
- - *id002
110
147
  prerelease: false
111
- requirement: *id012
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - <
151
+ - !ruby/object:Gem::Version
152
+ version: '2'
153
+ - !ruby/object:Gem::Dependency
154
+ name: pry
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '='
158
+ - !ruby/object:Gem::Version
159
+ version: 0.9.12.6
112
160
  type: :development
113
- - !ruby/object:Gem::Dependency
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '='
165
+ - !ruby/object:Gem::Version
166
+ version: 0.9.12.6
167
+ - !ruby/object:Gem::Dependency
114
168
  name: puppet
115
- version_requirements: &id013 !ruby/object:Gem::Requirement
116
- requirements:
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
117
171
  - - ~>
118
- - !ruby/object:Gem::Version
172
+ - !ruby/object:Gem::Version
119
173
  version: 3.3.0
120
- prerelease: false
121
- requirement: *id013
122
174
  type: :development
123
- - !ruby/object:Gem::Dependency
124
- name: rack-test
125
- version_requirements: &id014 !ruby/object:Gem::Requirement
126
- requirements:
127
- - *id002
128
175
  prerelease: false
129
- requirement: *id014
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ~>
179
+ - !ruby/object:Gem::Version
180
+ version: 3.3.0
181
+ - !ruby/object:Gem::Dependency
182
+ name: rack-test
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - '>='
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
130
188
  type: :development
131
- - !ruby/object:Gem::Dependency
132
- name: rake
133
- version_requirements: &id015 !ruby/object:Gem::Requirement
134
- requirements:
135
- - *id002
136
189
  prerelease: false
137
- requirement: *id015
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - '>='
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: rake
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - '>='
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
138
202
  type: :development
139
- - !ruby/object:Gem::Dependency
140
- name: rspec
141
- version_requirements: &id016 !ruby/object:Gem::Requirement
142
- requirements:
143
- - *id002
144
203
  prerelease: false
145
- requirement: *id016
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - '>='
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: rspec
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ~>
214
+ - !ruby/object:Gem::Version
215
+ version: 3.0.0
146
216
  type: :development
147
- - !ruby/object:Gem::Dependency
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ~>
221
+ - !ruby/object:Gem::Version
222
+ version: 3.0.0
223
+ - !ruby/object:Gem::Dependency
148
224
  name: simplecov
149
- version_requirements: &id017 !ruby/object:Gem::Requirement
150
- requirements:
151
- - *id002
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - '>='
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - '>='
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: guard
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - '>='
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
152
245
  prerelease: false
153
- requirement: *id017
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - '>='
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: guard-rspec
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - '>='
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
154
258
  type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - '>='
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: terminal-notifier-guard
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - '>='
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - '>='
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ - !ruby/object:Gem::Dependency
280
+ name: capybara
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - '>='
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - '>='
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ - !ruby/object:Gem::Dependency
294
+ name: nokogiri
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - '>='
298
+ - !ruby/object:Gem::Version
299
+ version: '0'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - '>='
305
+ - !ruby/object:Gem::Version
306
+ version: '0'
307
+ - !ruby/object:Gem::Dependency
308
+ name: cucumber
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - '>='
312
+ - !ruby/object:Gem::Version
313
+ version: '0'
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - '>='
319
+ - !ruby/object:Gem::Version
320
+ version: '0'
321
+ - !ruby/object:Gem::Dependency
322
+ name: selenium-webdriver
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - '>='
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
328
+ type: :development
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - '>='
333
+ - !ruby/object:Gem::Version
334
+ version: '0'
335
+ - !ruby/object:Gem::Dependency
336
+ name: poltergeist
337
+ requirement: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - '>='
340
+ - !ruby/object:Gem::Version
341
+ version: '0'
342
+ type: :development
343
+ prerelease: false
344
+ version_requirements: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - '>='
347
+ - !ruby/object:Gem::Version
348
+ version: '0'
155
349
  description: A private Puppet forge
156
- email:
350
+ email:
157
351
  - drrrrrrrrrrrb@gmail.com
158
- executables:
352
+ executables:
159
353
  - puppet-library
160
354
  extensions: []
161
-
162
355
  extra_rdoc_files: []
163
-
164
- files:
356
+ files:
165
357
  - .gitignore
166
358
  - .licenseignore
167
359
  - .simplecov
@@ -250,29 +442,30 @@ files:
250
442
  - test/online_proxy_forge_integration_test.rb
251
443
  - test/source_forge_integration_test.rb
252
444
  homepage: https://github.com/drrb/puppet-library
253
- licenses:
445
+ licenses:
254
446
  - GPL-3
255
447
  metadata: {}
256
-
257
448
  post_install_message:
258
449
  rdoc_options: []
259
-
260
- require_paths:
450
+ require_paths:
261
451
  - lib
262
- required_ruby_version: !ruby/object:Gem::Requirement
263
- requirements:
264
- - *id002
265
- required_rubygems_version: !ruby/object:Gem::Requirement
266
- requirements:
267
- - *id002
452
+ required_ruby_version: !ruby/object:Gem::Requirement
453
+ requirements:
454
+ - - '>='
455
+ - !ruby/object:Gem::Version
456
+ version: '0'
457
+ required_rubygems_version: !ruby/object:Gem::Requirement
458
+ requirements:
459
+ - - '>='
460
+ - !ruby/object:Gem::Version
461
+ version: '0'
268
462
  requirements: []
269
-
270
463
  rubyforge_project:
271
- rubygems_version: 2.0.14
464
+ rubygems_version: 2.2.1
272
465
  signing_key:
273
466
  specification_version: 4
274
467
  summary: Puppet Library is a private Puppet module server that's compatible with librarian-puppet.
275
- test_files:
468
+ test_files:
276
469
  - features/module_list.feature
277
470
  - features/module_page.feature
278
471
  - features/module_search.feature