puppet-library 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZWU3ZDcxMTYwNTRlYzU4MmI0M2UxN2Y1NWJjZDBmZTdmNjEzNTQzMg==
5
- data.tar.gz: !binary |-
6
- Yzc2ZGY1NDNmZGRiYzI5ZjBjYzRkZDhlNmI4YmMyNmEwYThlZWM5Zg==
7
- SHA512:
8
- metadata.gz: !binary |-
9
- OTBlNjVhZjI2ZGVlZDUyMDllNGNhODkxODQ4NzVlYmY2MjM0YmNmMGJlNzMy
10
- MTBlMjFjOTZkYjM0MjcwY2UxNjllN2U2ZDg2MTliYjEwYzc5NWQxMzRiZjUw
11
- MDg1YzMwMzEzZTJmYzY2ZTBjYjllYmM3ZTc1MzkxYzliMTFmZGI=
12
- data.tar.gz: !binary |-
13
- MmE5MjdiYjViMDYxYTU1ZTY5MDIwYzdhZDBkZGI5MmRlYTIyYzIwMDFmZjc4
14
- OTY0ZmFkNGUyODE0ZDdjNzI0YzVjNzU4MWQ5NzE0OWE2MDEyMDY1YzA1ZDcy
15
- YzlhOWY3NDhmZDIzN2Q0YjJmNTc1ZGQ2YmQyZTIyNWM0ZWY0ZTg=
1
+ ---
2
+ SHA512:
3
+ metadata.gz: 2353481213ea28760a1aae078b39ba27620b720127d3be2e8a5cf340981fc348e68830f9e0cfc35f7e8d9134f3d2e9475782c500d96439ba14d3b3b4a2ebe5ea
4
+ data.tar.gz: 36ca9d425a611179a3f7195a27ba5741071e3b5d287c2375b48b39481804711749b8d269a2f27727117823d3b6125ef2551f796462e37baad8e17c455b2fe5b6
5
+ SHA1:
6
+ metadata.gz: a16e24fc8143344b487a3fa0dc2470585e372515
7
+ data.tar.gz: c8539df4b07cd7b1839f4bf8ed94aa0ba99296ed
data/CHANGELOG.yml CHANGED
@@ -50,3 +50,6 @@
50
50
  - Added new proxy forge that caches downloaded modules on disk
51
51
  - Added `--cache-basedir` CLI option to make proxies cache downloaded modules on disk
52
52
  - Fixed issue with forge proxying (#1)
53
+ - tag: v0.8.0
54
+ changes:
55
+ - Fixed issue with directory-based forges on Ruby 1.8 (#3)
data/README.md CHANGED
@@ -14,6 +14,7 @@ Puppet Library serves Puppet modules in the same format as [the Puppet Forge](ht
14
14
  Plugins can be created to serve modules from arbitrary sources. Puppet Library contains built-in support for:
15
15
  - serving packaged (`.tar.gz`) modules from a directory (or directories) of your choosing
16
16
  - proxying a remote forge (or forges)
17
+ - caching proxied forges to disk
17
18
 
18
19
  ## Installation
19
20
 
data/Rakefile CHANGED
@@ -24,7 +24,7 @@ require 'net/http'
24
24
 
25
25
  SUPPORTED_RUBY_VERSIONS = %w[1.8 1.9 2.0 2.1 system]
26
26
  # The integration test doesn't work on Ruby 1.8, and Puppet doesn't work on 2.1
27
- INTEGRATION_TEST_INCOMPATIBLE_RUBY_VERSIONS = %w[1.8 2.1]
27
+ INTEGRATION_TEST_INCOMPATIBLE_RUBY_VERSIONS = %w[2.1]
28
28
  # Capybara needs Nokogiri, which needs 1.9+
29
29
  ACCEPTANCE_TEST_INCOMPATIBLE_RUBY_VERSIONS = %w[1.8 system]
30
30
 
@@ -85,7 +85,12 @@ if ruby_version_supports_integration_test?
85
85
  desc "Run the integration tests"
86
86
  RSpec::Core::RakeTask.new(:integration_test) do |rspec|
87
87
  rspec.pattern = "test/**/*_integration_test.rb"
88
- rspec.rspec_opts = "--tag ~online" if offline?
88
+ tags = []
89
+ tags << "~online" if offline?
90
+ tags << "~no_1_8" if RUBY_VERSION.start_with? "1.8"
91
+ unless tags.empty?
92
+ rspec.rspec_opts = tags.map { |tag| "--tag #{tag}" }.join(" ")
93
+ end
89
94
  end
90
95
  else
91
96
  task :integration_test do
@@ -102,19 +107,19 @@ task :verify do
102
107
  puts "\nRunning Specs".green
103
108
  spec_results = versions.map do |ruby_version|
104
109
  puts "\n- Ruby #{ruby_version}".green
105
- system "rvm #{ruby_version} do rake spec"
110
+ system "rvm #{ruby_version} do bundle exec rake spec"
106
111
  end
107
112
 
108
113
  puts "\nRunning Integration Tests".green
109
114
  integration_test_results = versions.map do |ruby_version|
110
115
  puts "\n- Ruby #{ruby_version}".green
111
- system "rvm #{ruby_version} do rake integration_test"
116
+ system "rvm #{ruby_version} do bundle exec rake integration_test"
112
117
  end
113
118
 
114
119
  puts "\nRunning Acceptance Tests".green
115
120
  acceptance_test_results = versions.map do |ruby_version|
116
121
  puts "\n- Ruby #{ruby_version}".green
117
- system "rvm #{ruby_version} do rake features"
122
+ system "rvm #{ruby_version} do bundle exec rake features"
118
123
  end
119
124
 
120
125
  puts "\nResults:\n".green
data/TODO.yml CHANGED
@@ -1,10 +1,7 @@
1
1
  features:
2
- - disk cache:
3
- - use disk cache to respond to queries if remote API calls fail
4
- - |
5
- Accept --cache-dir option to specify a parent cache directory (people
6
- will need to embed the server or use a config file for more control)
7
- - Web UI: asynchronous (index page loads too slowly)
2
+ - Web UI:
3
+ - asynchronous (index page loads too slowly)
4
+ - Proxy a git repository
8
5
  - Named subforges:
9
6
  - per-subforge queries
10
7
  - upload modules (web form and API)
@@ -98,7 +98,12 @@ module PuppetLibrary
98
98
  buffer = @forge.get_module_buffer(author, name, version).tap do
99
99
  attachment "#{author}-#{name}-#{version}.tar.gz"
100
100
  end
101
- [ 200, { "Content-Length" => buffer.size.to_s }, buffer ]
101
+ if buffer.respond_to?(:size)
102
+ headers = { "Content-Length" => buffer.size.to_s }
103
+ else
104
+ headers = {}
105
+ end
106
+ [ 200, headers, buffer ]
102
107
  rescue Forge::ModuleNotFound
103
108
  halt 404
104
109
  end
@@ -16,5 +16,5 @@
16
16
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
 
18
18
  module PuppetLibrary
19
- VERSION = "0.7.0"
19
+ VERSION = "0.8.0"
20
20
  end
@@ -38,7 +38,79 @@ def write_puppetfile(content)
38
38
  end
39
39
 
40
40
  module PuppetLibrary
41
- describe "offline proxy" do
41
+ describe "directory forge" do
42
+ include ModuleSpecHelper
43
+
44
+ let(:module_dir) { Tempdir.create("module_dir") }
45
+ let(:project_dir) { Tempdir.create("project_dir") }
46
+ let(:start_dir) { pwd }
47
+ let(:disk_forge) { Forge::Directory.new(module_dir) }
48
+ let(:disk_server) do
49
+ Server.set_up do |server|
50
+ server.forge disk_forge
51
+ end
52
+ end
53
+ let(:disk_rack_server) do
54
+ Rack::Server.new(
55
+ :app => disk_server,
56
+ :Host => "localhost",
57
+ :Port => 9004,
58
+ :server => "webrick"
59
+ )
60
+ end
61
+ let(:disk_server_runner) do
62
+ Thread.new do
63
+ disk_rack_server.start
64
+ end
65
+ end
66
+
67
+ before do
68
+ # Initialize to catch wiring errors
69
+ disk_rack_server
70
+
71
+ # Start the servers
72
+ disk_server_runner
73
+ start_dir
74
+ cd project_dir
75
+ end
76
+
77
+ after do
78
+ rm_rf module_dir
79
+ rm_rf project_dir
80
+ cd start_dir
81
+ end
82
+
83
+ it "queries, downloads and searches from a directory" do
84
+ add_module("puppetlabs", "apache", "1.0.0") do |metadata|
85
+ metadata["dependencies"] << { "name" => "puppetlabs/concat", "version_requirement" => ">= 2.0.0" }
86
+ metadata["dependencies"] << { "name" => "puppetlabs/stdlib", "version_requirement" => "~> 3.0.0" }
87
+ end
88
+ add_module("puppetlabs", "concat", "2.0.0")
89
+ add_module("puppetlabs", "stdlib", "3.0.0")
90
+
91
+ write_puppetfile <<-EOF
92
+ forge 'http://localhost:9004'
93
+ mod 'puppetlabs/apache'
94
+ EOF
95
+
96
+ # Install modules through the proxy
97
+ system "librarian-puppet install" or fail "call to puppet-library failed"
98
+ expect("apache").to be_installed
99
+ expect("concat").to be_installed
100
+ expect("stdlib").to be_installed
101
+
102
+ # Search through the proxy
103
+ search_results = JSON.parse(open("http://localhost:9004/modules.json").read)
104
+ found_modules = Hash[search_results.map do |result|
105
+ [ result["full_name"], result["version"] ]
106
+ end]
107
+ expect(found_modules["puppetlabs/apache"]).to eq "1.0.0"
108
+ expect(found_modules["puppetlabs/concat"]).to eq "2.0.0"
109
+ expect(found_modules["puppetlabs/stdlib"]).to eq "3.0.0"
110
+ end
111
+ end
112
+
113
+ describe "offline proxy", :no_1_8 => true do
42
114
  include ModuleSpecHelper
43
115
 
44
116
  let(:module_dir) { Tempdir.create("module_dir") }
metadata CHANGED
@@ -1,303 +1,147 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: puppet-library
3
- version: !ruby/object:Gem::Version
4
- version: 0.7.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.8.0
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - drrb
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-06 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
11
+
12
+ date: 2014-02-07 00:00:00 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
14
15
  name: sinatra
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ! '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
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
20
24
  type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ! '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
25
+ - !ruby/object:Gem::Dependency
28
26
  name: json
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ! '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
27
+ version_requirements: &id003 !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - *id002
35
30
  prerelease: false
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'
31
+ requirement: *id003
48
32
  type: :runtime
33
+ - !ruby/object:Gem::Dependency
34
+ name: haml
35
+ version_requirements: &id004 !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - *id002
49
38
  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
39
+ requirement: *id004
40
+ type: :runtime
41
+ - !ruby/object:Gem::Dependency
56
42
  name: bundler
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
43
+ version_requirements: &id005 !ruby/object:Gem::Requirement
44
+ requirements:
59
45
  - - ~>
60
- - !ruby/object:Gem::Version
61
- version: '1.3'
62
- type: :development
46
+ - !ruby/object:Gem::Version
47
+ version: "1.3"
63
48
  prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ~>
67
- - !ruby/object:Gem::Version
68
- version: '1.3'
69
- - !ruby/object:Gem::Dependency
70
- name: coveralls
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ! '>='
74
- - !ruby/object:Gem::Version
75
- version: '0'
49
+ requirement: *id005
76
50
  type: :development
51
+ - !ruby/object:Gem::Dependency
52
+ name: coveralls
53
+ version_requirements: &id006 !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - *id002
77
56
  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
84
- name: gitsu
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ! '>='
88
- - !ruby/object:Gem::Version
89
- version: '0'
57
+ requirement: *id006
90
58
  type: :development
59
+ - !ruby/object:Gem::Dependency
60
+ name: gitsu
61
+ version_requirements: &id007 !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - *id002
91
64
  prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ! '>='
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: librarian-puppet
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ! '>='
102
- - !ruby/object:Gem::Version
103
- version: '0'
65
+ requirement: *id007
104
66
  type: :development
67
+ - !ruby/object:Gem::Dependency
68
+ name: librarian-puppet
69
+ version_requirements: &id008 !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - *id002
105
72
  prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ! '>='
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
73
+ requirement: *id008
74
+ type: :development
75
+ - !ruby/object:Gem::Dependency
112
76
  name: mime-types
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
77
+ version_requirements: &id009 !ruby/object:Gem::Requirement
78
+ requirements:
115
79
  - - <
116
- - !ruby/object:Gem::Version
117
- version: '2'
118
- type: :development
80
+ - !ruby/object:Gem::Version
81
+ version: "2"
119
82
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - <
123
- - !ruby/object:Gem::Version
124
- version: '2'
125
- - !ruby/object:Gem::Dependency
126
- name: pry
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ! '>='
130
- - !ruby/object:Gem::Version
131
- version: '0'
83
+ requirement: *id009
132
84
  type: :development
85
+ - !ruby/object:Gem::Dependency
86
+ name: pry
87
+ version_requirements: &id010 !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - *id002
133
90
  prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ! '>='
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: puppet
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ~>
144
- - !ruby/object:Gem::Version
145
- version: 3.3.0
91
+ requirement: *id010
146
92
  type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
93
+ - !ruby/object:Gem::Dependency
94
+ name: puppet
95
+ version_requirements: &id011 !ruby/object:Gem::Requirement
96
+ requirements:
150
97
  - - ~>
151
- - !ruby/object:Gem::Version
98
+ - !ruby/object:Gem::Version
152
99
  version: 3.3.0
153
- - !ruby/object:Gem::Dependency
154
- name: rack-test
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ! '>='
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ! '>='
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: rake
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ! '>='
172
- - !ruby/object:Gem::Version
173
- version: '0'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ! '>='
179
- - !ruby/object:Gem::Version
180
- version: '0'
181
- - !ruby/object:Gem::Dependency
182
- name: rspec
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ! '>='
186
- - !ruby/object:Gem::Version
187
- version: '0'
188
- type: :development
189
100
  prerelease: false
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: simplecov
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - ! '>='
200
- - !ruby/object:Gem::Version
201
- version: '0'
202
- type: :development
203
- prerelease: false
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: guard
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - ! '>='
214
- - !ruby/object:Gem::Version
215
- version: '0'
216
- type: :development
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - ! '>='
221
- - !ruby/object:Gem::Version
222
- version: '0'
223
- - !ruby/object:Gem::Dependency
224
- name: guard-rspec
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - ! '>='
228
- - !ruby/object:Gem::Version
229
- version: '0'
101
+ requirement: *id011
230
102
  type: :development
103
+ - !ruby/object:Gem::Dependency
104
+ name: rack-test
105
+ version_requirements: &id012 !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - *id002
231
108
  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: terminal-notifier-guard
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - ! '>='
242
- - !ruby/object:Gem::Version
243
- version: '0'
109
+ requirement: *id012
244
110
  type: :development
111
+ - !ruby/object:Gem::Dependency
112
+ name: rake
113
+ version_requirements: &id013 !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - *id002
245
116
  prerelease: false
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: capybara
253
- requirement: !ruby/object:Gem::Requirement
254
- requirements:
255
- - - ! '>='
256
- - !ruby/object:Gem::Version
257
- version: '0'
117
+ requirement: *id013
258
118
  type: :development
119
+ - !ruby/object:Gem::Dependency
120
+ name: rspec
121
+ version_requirements: &id014 !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - *id002
259
124
  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: nokogiri
267
- requirement: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - ! '>='
270
- - !ruby/object:Gem::Version
271
- version: '0'
125
+ requirement: *id014
272
126
  type: :development
127
+ - !ruby/object:Gem::Dependency
128
+ name: simplecov
129
+ version_requirements: &id015 !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - *id002
273
132
  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: cucumber
281
- requirement: !ruby/object:Gem::Requirement
282
- requirements:
283
- - - ! '>='
284
- - !ruby/object:Gem::Version
285
- version: '0'
133
+ requirement: *id015
286
134
  type: :development
287
- prerelease: false
288
- version_requirements: !ruby/object:Gem::Requirement
289
- requirements:
290
- - - ! '>='
291
- - !ruby/object:Gem::Version
292
- version: '0'
293
135
  description: A Puppet module server
294
- email:
136
+ email:
295
137
  - drrrrrrrrrrrb@gmail.com
296
- executables:
138
+ executables:
297
139
  - puppet-library
298
140
  extensions: []
141
+
299
142
  extra_rdoc_files: []
300
- files:
143
+
144
+ files:
301
145
  - .gitignore
302
146
  - .licenseignore
303
147
  - .simplecov
@@ -357,30 +201,29 @@ files:
357
201
  - spec/util_spec.rb
358
202
  - test/librarian_puppet_integration_test.rb
359
203
  homepage: https://github.com/drrb/puppet-library
360
- licenses:
204
+ licenses:
361
205
  - GPL-3
362
206
  metadata: {}
207
+
363
208
  post_install_message:
364
209
  rdoc_options: []
365
- require_paths:
210
+
211
+ require_paths:
366
212
  - lib
367
- required_ruby_version: !ruby/object:Gem::Requirement
368
- requirements:
369
- - - ! '>='
370
- - !ruby/object:Gem::Version
371
- version: '0'
372
- required_rubygems_version: !ruby/object:Gem::Requirement
373
- requirements:
374
- - - ! '>='
375
- - !ruby/object:Gem::Version
376
- version: '0'
213
+ required_ruby_version: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - *id002
216
+ required_rubygems_version: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - *id002
377
219
  requirements: []
220
+
378
221
  rubyforge_project:
379
- rubygems_version: 2.2.1
222
+ rubygems_version: 2.0.14
380
223
  signing_key:
381
224
  specification_version: 4
382
225
  summary: Puppet Library is a private Puppet module server that's compatible with librarian-puppet.
383
- test_files:
226
+ test_files:
384
227
  - features/module_list.feature
385
228
  - features/module_page.feature
386
229
  - features/module_search.feature