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.
- checksums.yaml +7 -7
- data/.gitignore +1 -1
- data/CHANGELOG.yml +6 -0
- data/README.md +21 -5
- data/TODO.yml +1 -3
- data/config.ru +4 -4
- data/lib/puppet_library/app/views/index.haml +2 -1
- data/lib/puppet_library/archive/archive_reader.rb +1 -1
- data/lib/puppet_library/forge/directory.rb +14 -7
- data/lib/puppet_library/forge/forge.rb +4 -0
- data/lib/puppet_library/forge/git_repository.rb +26 -16
- data/lib/puppet_library/forge/source.rb +18 -11
- data/lib/puppet_library/util/git.rb +4 -4
- data/lib/puppet_library/util/logging.rb +12 -3
- data/lib/puppet_library/util/temp_dir.rb +8 -1
- data/lib/puppet_library/version.rb +1 -1
- data/puppet-library.gemspec +2 -2
- data/spec/forge/directory_spec.rb +47 -0
- data/spec/forge/git_repository_spec.rb +40 -10
- data/spec/forge/source_spec.rb +48 -28
- data/spec/server_spec.rb +1 -1
- data/spec/spec_helper.rb +17 -5
- data/spec/util/git_spec.rb +8 -7
- data/spec/util/temp_dir_spec.rb +19 -3
- metadata +320 -127
@@ -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
|
-
|
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
|
-
|
152
|
-
metadata
|
153
|
-
|
154
|
-
|
155
|
-
|
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
|
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
|
data/spec/forge/source_spec.rb
CHANGED
@@ -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
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
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
|
-
|
99
|
-
|
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
|
-
|
98
|
+
expect(buffer).to be_tgz_with(/metadata.json/, /"name":"puppetlabs-apache"/)
|
99
|
+
end
|
102
100
|
end
|
103
101
|
|
104
|
-
|
105
|
-
|
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
|
-
|
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
|
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
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
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
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
|
data/spec/util/git_spec.rb
CHANGED
@@ -64,10 +64,11 @@ module PuppetLibrary::Util
|
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
67
|
-
describe "#
|
68
|
-
it "yields to the block
|
69
|
-
git.
|
70
|
-
|
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
|
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
|
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
|
140
|
+
expect(File.exist? cache_dir.path).to be_falsey
|
140
141
|
end
|
141
142
|
end
|
142
143
|
end
|
data/spec/util/temp_dir_spec.rb
CHANGED
@@ -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
|
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
|
31
|
-
expect(File.exist? dir_path).to
|
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.
|
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
|
-
|
13
|
-
|
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
|
-
|
17
|
-
requirements:
|
18
|
-
-
|
19
|
-
-
|
20
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
62
|
-
requirements:
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
63
87
|
- - ~>
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version:
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
98
|
-
requirements:
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
99
143
|
- - <
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version:
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
150
|
-
requirements:
|
151
|
-
-
|
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
|
-
|
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
|
-
-
|
265
|
-
|
266
|
-
|
267
|
-
|
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.
|
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
|