puppet-library 0.13.0 → 0.14.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.
@@ -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