gemlock 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -36,21 +36,41 @@ module Gemlock
36
36
  YAML.load_file(config) if config
37
37
  end
38
38
 
39
+ def email
40
+ email = parsed_config['email'] if parsed_config
41
+
42
+ if email =~ /^[^@]+@[^@]+$/
43
+ email
44
+ else
45
+ nil
46
+ end
47
+ end
48
+
39
49
  def lookup_version(name)
40
50
  json_hash = JSON.parse(RestClient.get("http://gemlock.herokuapp.com/ruby_gems/#{name}/latest.json"))
41
51
 
42
52
  return json_hash["version"]
43
53
  end
44
54
 
45
- def outdated
55
+ def outdated(automatic = false)
46
56
  specs = {}
47
57
  locked_gemfile_specs.each do |spec|
48
58
  specs[spec.name] = spec.version.to_s
49
59
  end
50
60
 
51
61
  begin
52
- response = RestClient.get("http://gemlock.herokuapp.com/ruby_gems/updates.json",
53
- {:params => {:gems => specs.to_json}})
62
+ types = if parsed_config
63
+ parsed_config['releases']
64
+ else
65
+ nil
66
+ end
67
+
68
+ params = {:gems => specs.to_json }
69
+ params[:types] = types if types
70
+ params[:automatic] = automatic if automatic
71
+ params[:email] = email if email
72
+
73
+ response = RestClient.get("http://gemlock.herokuapp.com/ruby_gems/updates.json", :params => params)
54
74
  gems = JSON.parse(response)
55
75
 
56
76
  gems.inject({}) do |hash, gem|
@@ -79,12 +99,12 @@ module Gemlock
79
99
  end
80
100
 
81
101
  # By default, check for updates every 2 weeks
82
- def initializer
102
+ def initializer(automatic = true)
83
103
  update_interval = Gemlock.update_interval
84
104
  Thread.new(update_interval) do |interval|
85
105
  loop do
86
106
  puts "Checking for gem updates..."
87
- outdated = Gemlock.outdated
107
+ outdated = Gemlock.outdated(automatic)
88
108
  if outdated.empty?
89
109
  puts "All gems up to date!"
90
110
  else
@@ -8,7 +8,9 @@ module Gemlock
8
8
  end
9
9
 
10
10
  initializer 'Check for updates using Gemlock' do
11
- Gemlock.initializer unless Rails.env.test?
11
+ unless Rails.env.test?
12
+ Gemlock.initializer(Rails.env.production?)
13
+ end
12
14
  end
13
15
  end
14
16
  end
@@ -1,3 +1,3 @@
1
1
  module Gemlock
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -25,329 +25,14 @@
25
25
  content-type:
26
26
  - application/json; charset=utf-8
27
27
  x-runtime:
28
- - "3.794857"
29
- server:
30
- - thin 1.2.11 codename Bat-Shit Crazy
31
- content-length:
32
- - "94"
33
- cache-control:
34
- - max-age=0, private, must-revalidate
35
- body: "{\"coffee-rails\":\"3.1.1\",\"json\":\"1.6.1\",\"rails\":\"3.1.1\",\"sass-rails\":\"3.1.4\",\"unicorn\":\"4.1.1\"}"
36
- http_version: "1.1"
37
- - !ruby/struct:VCR::HTTPInteraction
38
- request: !ruby/struct:VCR::Request
39
- method: :get
40
- uri: http://gemlock.herokuapp.com:80/ruby_gems/coffee-rails/latest.json
41
- body: !!null
42
- str: ""
43
- "@taguri": x-private:null
44
- headers:
45
- accept:
46
- - "*/*; q=0.5, application/xml"
47
- accept-encoding:
48
- - gzip, deflate
49
- response: !ruby/struct:VCR::Response
50
- status: !ruby/struct:VCR::ResponseStatus
51
- code: 200
52
- message: OK
53
- headers:
54
- x-ua-compatible:
55
- - IE=Edge,chrome=1
56
- etag:
57
- - "\"e48bc9e9a623234be1d8911ffbbdd8bc\""
58
- connection:
59
- - keep-alive
60
- content-type:
61
- - application/json; charset=utf-8
62
- x-runtime:
63
- - "0.046095"
64
- server:
65
- - thin 1.2.11 codename Bat-Shit Crazy
66
- cache-control:
67
- - max-age=0, private, must-revalidate
68
- transfer-encoding:
69
- - chunked
70
- body: "{\"version\":\"3.1.1\"}"
71
- http_version: "1.1"
72
- - !ruby/struct:VCR::HTTPInteraction
73
- request: !ruby/struct:VCR::Request
74
- method: :get
75
- uri: http://gemlock.herokuapp.com:80/ruby_gems/jquery-rails/latest.json
76
- body: !!null
77
- str: ""
78
- "@taguri": x-private:null
79
- headers:
80
- accept:
81
- - "*/*; q=0.5, application/xml"
82
- accept-encoding:
83
- - gzip, deflate
84
- response: !ruby/struct:VCR::Response
85
- status: !ruby/struct:VCR::ResponseStatus
86
- code: 200
87
- message: OK
88
- headers:
89
- x-ua-compatible:
90
- - IE=Edge,chrome=1
91
- etag:
92
- - "\"ce311130187e1fa77e0100a80a2b4e2d\""
93
- connection:
94
- - keep-alive
95
- content-type:
96
- - application/json; charset=utf-8
97
- x-runtime:
98
- - "0.128872"
28
+ - "0.962356"
99
29
  server:
100
30
  - thin 1.2.11 codename Bat-Shit Crazy
101
31
  cache-control:
102
32
  - max-age=0, private, must-revalidate
103
33
  transfer-encoding:
104
34
  - chunked
105
- body: "{\"version\":\"1.0.16\"}"
106
- http_version: "1.1"
107
- - !ruby/struct:VCR::HTTPInteraction
108
- request: !ruby/struct:VCR::Request
109
- method: :get
110
- uri: http://gemlock.herokuapp.com:80/ruby_gems/json/latest.json
111
- body: !!null
112
- str: ""
113
- "@taguri": x-private:null
114
- headers:
115
- accept:
116
- - "*/*; q=0.5, application/xml"
117
- accept-encoding:
118
- - gzip, deflate
119
- response: !ruby/struct:VCR::Response
120
- status: !ruby/struct:VCR::ResponseStatus
121
- code: 200
122
- message: OK
123
- headers:
124
- x-ua-compatible:
125
- - IE=Edge,chrome=1
126
- etag:
127
- - "\"b72b98a3bea046b262dba7c036cd90af\""
128
- connection:
129
- - keep-alive
130
- content-type:
131
- - application/json; charset=utf-8
132
- x-runtime:
133
- - "0.069898"
134
- server:
135
- - thin 1.2.11 codename Bat-Shit Crazy
136
- cache-control:
137
- - max-age=0, private, must-revalidate
138
- transfer-encoding:
139
- - chunked
140
- body: "{\"version\":\"1.6.1\"}"
141
- http_version: "1.1"
142
- - !ruby/struct:VCR::HTTPInteraction
143
- request: !ruby/struct:VCR::Request
144
- method: :get
145
- uri: http://gemlock.herokuapp.com:80/ruby_gems/rails/latest.json
146
- body: !!null
147
- str: ""
148
- "@taguri": x-private:null
149
- headers:
150
- accept:
151
- - "*/*; q=0.5, application/xml"
152
- accept-encoding:
153
- - gzip, deflate
154
- response: !ruby/struct:VCR::Response
155
- status: !ruby/struct:VCR::ResponseStatus
156
- code: 200
157
- message: OK
158
- headers:
159
- x-ua-compatible:
160
- - IE=Edge,chrome=1
161
- etag:
162
- - "\"e48bc9e9a623234be1d8911ffbbdd8bc\""
163
- connection:
164
- - keep-alive
165
- content-type:
166
- - application/json; charset=utf-8
167
- x-runtime:
168
- - "0.240258"
169
- server:
170
- - thin 1.2.11 codename Bat-Shit Crazy
171
- cache-control:
172
- - max-age=0, private, must-revalidate
173
- transfer-encoding:
174
- - chunked
175
- body: "{\"version\":\"3.1.1\"}"
176
- http_version: "1.1"
177
- - !ruby/struct:VCR::HTTPInteraction
178
- request: !ruby/struct:VCR::Request
179
- method: :get
180
- uri: http://gemlock.herokuapp.com:80/ruby_gems/ruby-debug/latest.json
181
- body: !!null
182
- str: ""
183
- "@taguri": x-private:null
184
- headers:
185
- accept:
186
- - "*/*; q=0.5, application/xml"
187
- accept-encoding:
188
- - gzip, deflate
189
- response: !ruby/struct:VCR::Response
190
- status: !ruby/struct:VCR::ResponseStatus
191
- code: 200
192
- message: OK
193
- headers:
194
- x-ua-compatible:
195
- - IE=Edge,chrome=1
196
- etag:
197
- - "\"e444d5094868df5925e938d14cdb23b9\""
198
- connection:
199
- - keep-alive
200
- content-type:
201
- - application/json; charset=utf-8
202
- x-runtime:
203
- - "0.034991"
204
- server:
205
- - thin 1.2.11 codename Bat-Shit Crazy
206
- cache-control:
207
- - max-age=0, private, must-revalidate
208
- transfer-encoding:
209
- - chunked
210
- body: "{\"version\":\"0.10.4\"}"
211
- http_version: "1.1"
212
- - !ruby/struct:VCR::HTTPInteraction
213
- request: !ruby/struct:VCR::Request
214
- method: :get
215
- uri: http://gemlock.herokuapp.com:80/ruby_gems/sass-rails/latest.json
216
- body: !!null
217
- str: ""
218
- "@taguri": x-private:null
219
- headers:
220
- accept:
221
- - "*/*; q=0.5, application/xml"
222
- accept-encoding:
223
- - gzip, deflate
224
- response: !ruby/struct:VCR::Response
225
- status: !ruby/struct:VCR::ResponseStatus
226
- code: 200
227
- message: OK
228
- headers:
229
- x-ua-compatible:
230
- - IE=Edge,chrome=1
231
- etag:
232
- - "\"412d8485398a9d5a18c2e6604442a6ae\""
233
- connection:
234
- - keep-alive
235
- content-type:
236
- - application/json; charset=utf-8
237
- x-runtime:
238
- - "0.084979"
239
- server:
240
- - thin 1.2.11 codename Bat-Shit Crazy
241
- cache-control:
242
- - max-age=0, private, must-revalidate
243
- transfer-encoding:
244
- - chunked
245
- body: "{\"version\":\"3.1.4\"}"
246
- http_version: "1.1"
247
- - !ruby/struct:VCR::HTTPInteraction
248
- request: !ruby/struct:VCR::Request
249
- method: :get
250
- uri: http://gemlock.herokuapp.com:80/ruby_gems/sqlite3/latest.json
251
- body: !!null
252
- str: ""
253
- "@taguri": x-private:null
254
- headers:
255
- accept:
256
- - "*/*; q=0.5, application/xml"
257
- accept-encoding:
258
- - gzip, deflate
259
- response: !ruby/struct:VCR::Response
260
- status: !ruby/struct:VCR::ResponseStatus
261
- code: 200
262
- message: OK
263
- headers:
264
- x-ua-compatible:
265
- - IE=Edge,chrome=1
266
- etag:
267
- - "\"dbb196aab8808e02b0cb33aa4e6a3052\""
268
- connection:
269
- - keep-alive
270
- content-type:
271
- - application/json; charset=utf-8
272
- x-runtime:
273
- - "0.033907"
274
- server:
275
- - thin 1.2.11 codename Bat-Shit Crazy
276
- content-length:
277
- - "19"
278
- cache-control:
279
- - max-age=0, private, must-revalidate
280
- body: "{\"version\":\"1.3.4\"}"
281
- http_version: "1.1"
282
- - !ruby/struct:VCR::HTTPInteraction
283
- request: !ruby/struct:VCR::Request
284
- method: :get
285
- uri: http://gemlock.herokuapp.com:80/ruby_gems/uglifier/latest.json
286
- body: !!null
287
- str: ""
288
- "@taguri": x-private:null
289
- headers:
290
- accept:
291
- - "*/*; q=0.5, application/xml"
292
- accept-encoding:
293
- - gzip, deflate
294
- response: !ruby/struct:VCR::Response
295
- status: !ruby/struct:VCR::ResponseStatus
296
- code: 200
297
- message: OK
298
- headers:
299
- x-ua-compatible:
300
- - IE=Edge,chrome=1
301
- etag:
302
- - "\"939c95352a2d69888fb560ca5e5d8e71\""
303
- connection:
304
- - keep-alive
305
- content-type:
306
- - application/json; charset=utf-8
307
- x-runtime:
308
- - "0.046664"
309
- server:
310
- - thin 1.2.11 codename Bat-Shit Crazy
311
- cache-control:
312
- - max-age=0, private, must-revalidate
313
- transfer-encoding:
314
- - chunked
315
- body: "{\"version\":\"1.0.4\"}"
316
- http_version: "1.1"
317
- - !ruby/struct:VCR::HTTPInteraction
318
- request: !ruby/struct:VCR::Request
319
- method: :get
320
- uri: http://gemlock.herokuapp.com:80/ruby_gems/unicorn/latest.json
321
- body: !!null
322
- str: ""
323
- "@taguri": x-private:null
324
- headers:
325
- accept:
326
- - "*/*; q=0.5, application/xml"
327
- accept-encoding:
328
- - gzip, deflate
329
- response: !ruby/struct:VCR::Response
330
- status: !ruby/struct:VCR::ResponseStatus
331
- code: 200
332
- message: OK
333
- headers:
334
- x-ua-compatible:
335
- - IE=Edge,chrome=1
336
- etag:
337
- - "\"37cd5df77bb485fe8e803759139301f7\""
338
- connection:
339
- - keep-alive
340
- content-type:
341
- - application/json; charset=utf-8
342
- x-runtime:
343
- - "0.352779"
344
- server:
345
- - thin 1.2.11 codename Bat-Shit Crazy
346
- cache-control:
347
- - max-age=0, private, must-revalidate
348
- transfer-encoding:
349
- - chunked
350
- body: "{\"version\":\"4.1.1\"}"
35
+ body: "{\"coffee-rails\":\"3.1.1\",\"json\":\"1.6.1\",\"rails\":\"3.1.1\",\"sass-rails\":\"3.1.4\",\"unicorn\":\"4.1.1\"}"
351
36
  http_version: "1.1"
352
37
  - !ruby/struct:VCR::HTTPInteraction
353
38
  request: !ruby/struct:VCR::Request
@@ -373,7 +58,7 @@
373
58
  content-type:
374
59
  - application/json; charset=utf-8
375
60
  x-runtime:
376
- - "0.633762"
61
+ - "0.644295"
377
62
  server:
378
63
  - thin 1.2.11 codename Bat-Shit Crazy
379
64
  cache-control:
@@ -79,6 +79,16 @@ describe Gemlock do
79
79
  Gemlock.stubs(:lockfile).returns((File.join(File.dirname(__FILE__), 'fixtures', 'Gemfile.lock')))
80
80
  end
81
81
 
82
+ let(:in_spec) { {"coffee-rails" => "3.1.0",
83
+ "jquery-rails" => "1.0.16",
84
+ "json" => "1.5.0",
85
+ "rails" => "3.1.0",
86
+ "ruby-debug" => "0.10.4",
87
+ "sass-rails" => "3.1.0",
88
+ "sqlite3" => "1.3.4",
89
+ "uglifier" => "1.0.4",
90
+ "unicorn" => "3.1.0"} }
91
+
82
92
  it "returns a hash of all outdated gems" do
83
93
  expected = {'coffee-rails' => { :current => '3.1.0',
84
94
  :latest => '3.1.1' },
@@ -95,22 +105,29 @@ describe Gemlock do
95
105
  end
96
106
 
97
107
  it "checks for each gem individually if the bulk check fails" do
98
- in_spec = {"coffee-rails" => "3.1.0",
99
- "jquery-rails" => "1.0.16",
100
- "json" => "1.5.0",
101
- "rails" => "3.1.0",
102
- "ruby-debug" => "0.10.4",
103
- "sass-rails" => "3.1.0",
104
- "sqlite3" => "1.3.4",
105
- "uglifier" => "1.0.4",
106
- "unicorn" => "3.1.0"}
107
-
108
108
  RestClient.expects(:get).with("http://gemlock.herokuapp.com/ruby_gems/updates.json",
109
- {:params => {:gems => in_spec.to_json}}).raises(RestClient::GatewayTimeout)
109
+ {:params => {:gems => in_spec.to_json}}).raises(RestClient::GatewayTimeout)
110
110
  Gemlock.expects(:check_gems_individually).with(in_spec)
111
111
 
112
112
  Gemlock.outdated
113
113
  end
114
+
115
+ it "sets an flag if it is an automatic check" do
116
+ RestClient.expects(:get).with("http://gemlock.herokuapp.com/ruby_gems/updates.json",
117
+ {:params => {:gems => in_spec.to_json,
118
+ :automatic => true}}).returns('{}')
119
+
120
+ Gemlock.outdated(true)
121
+ end
122
+
123
+ it "sends the email address in config to the server if present" do
124
+ Gemlock.stubs(:parsed_config).returns({'email' => 'hi@mikeskalnik.com'})
125
+ RestClient.expects(:get).with("http://gemlock.herokuapp.com/ruby_gems/updates.json",
126
+ {:params => {:gems => in_spec.to_json,
127
+ :email => 'hi@mikeskalnik.com'}}).returns('{}')
128
+
129
+ Gemlock.outdated
130
+ end
114
131
  end
115
132
 
116
133
  describe ".config" do
@@ -159,6 +176,23 @@ describe Gemlock do
159
176
  end
160
177
  end
161
178
 
179
+ describe ".email" do
180
+ it "returns the email in the config if present and valid" do
181
+ Gemlock.stubs(:parsed_config).returns({'email' => 'hi@mikeskalnik.com'})
182
+ Gemlock.email.should eql 'hi@mikeskalnik.com'
183
+ end
184
+
185
+ it "returns nil if the email in the config is invalid" do
186
+ Gemlock.stubs(:parsed_config).returns({'email' => 'd@er@p.com'})
187
+ Gemlock.email.should be_nil
188
+ end
189
+
190
+ it "returns nil if there is no config" do
191
+ Gemlock.stubs(:parsed_config).returns(nil)
192
+ Gemlock.email.should be_nil
193
+ end
194
+ end
195
+
162
196
  describe ".difference" do
163
197
  it "returns 'major' if there is a major version difference between the two gem versions" do
164
198
  Gemlock.difference("2.0.0", "3.0.0").should eql "major"
metadata CHANGED
@@ -1,15 +1,10 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: gemlock
3
- version: !ruby/object:Gem::Version
4
- hash: 23
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.1
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 2
9
- - 0
10
- version: 0.2.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Mike Skalnik
14
9
  - Brian Gardner
15
10
  - Tyler Hastings
@@ -17,159 +12,114 @@ authors:
17
12
  autorequire:
18
13
  bindir: bin
19
14
  cert_chain: []
20
-
21
- date: 2011-11-08 00:00:00 Z
22
- dependencies:
23
- - !ruby/object:Gem::Dependency
15
+ date: 2011-11-09 00:00:00.000000000Z
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
24
18
  name: rake
25
- prerelease: false
26
- requirement: &id001 !ruby/object:Gem::Requirement
19
+ requirement: &70366565372100 !ruby/object:Gem::Requirement
27
20
  none: false
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- hash: 49
32
- segments:
33
- - 0
34
- - 8
35
- - 7
21
+ requirements:
22
+ - - ! '>='
23
+ - !ruby/object:Gem::Version
36
24
  version: 0.8.7
37
25
  type: :runtime
38
- version_requirements: *id001
39
- - !ruby/object:Gem::Dependency
40
- name: bundler
41
26
  prerelease: false
42
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ version_requirements: *70366565372100
28
+ - !ruby/object:Gem::Dependency
29
+ name: bundler
30
+ requirement: &70366565371560 !ruby/object:Gem::Requirement
43
31
  none: false
44
- requirements:
32
+ requirements:
45
33
  - - ~>
46
- - !ruby/object:Gem::Version
47
- hash: 23
48
- segments:
49
- - 1
50
- - 0
51
- - 0
34
+ - !ruby/object:Gem::Version
52
35
  version: 1.0.0
53
36
  type: :runtime
54
- version_requirements: *id002
55
- - !ruby/object:Gem::Dependency
56
- name: rest-client
57
37
  prerelease: false
58
- requirement: &id003 !ruby/object:Gem::Requirement
38
+ version_requirements: *70366565371560
39
+ - !ruby/object:Gem::Dependency
40
+ name: rest-client
41
+ requirement: &70366565371040 !ruby/object:Gem::Requirement
59
42
  none: false
60
- requirements:
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- hash: 3
64
- segments:
65
- - 0
66
- version: "0"
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
67
47
  type: :runtime
68
- version_requirements: *id003
69
- - !ruby/object:Gem::Dependency
70
- name: json
71
48
  prerelease: false
72
- requirement: &id004 !ruby/object:Gem::Requirement
49
+ version_requirements: *70366565371040
50
+ - !ruby/object:Gem::Dependency
51
+ name: json
52
+ requirement: &70366565370460 !ruby/object:Gem::Requirement
73
53
  none: false
74
- requirements:
75
- - - ">="
76
- - !ruby/object:Gem::Version
77
- hash: 3
78
- segments:
79
- - 0
80
- version: "0"
54
+ requirements:
55
+ - - ! '>='
56
+ - !ruby/object:Gem::Version
57
+ version: '0'
81
58
  type: :runtime
82
- version_requirements: *id004
83
- - !ruby/object:Gem::Dependency
84
- name: rspec
85
59
  prerelease: false
86
- requirement: &id005 !ruby/object:Gem::Requirement
60
+ version_requirements: *70366565370460
61
+ - !ruby/object:Gem::Dependency
62
+ name: rspec
63
+ requirement: &70366565369860 !ruby/object:Gem::Requirement
87
64
  none: false
88
- requirements:
65
+ requirements:
89
66
  - - ~>
90
- - !ruby/object:Gem::Version
91
- hash: 19
92
- segments:
93
- - 2
94
- - 7
95
- - 0
67
+ - !ruby/object:Gem::Version
96
68
  version: 2.7.0
97
69
  type: :development
98
- version_requirements: *id005
99
- - !ruby/object:Gem::Dependency
100
- name: mocha
101
70
  prerelease: false
102
- requirement: &id006 !ruby/object:Gem::Requirement
71
+ version_requirements: *70366565369860
72
+ - !ruby/object:Gem::Dependency
73
+ name: mocha
74
+ requirement: &70366565369240 !ruby/object:Gem::Requirement
103
75
  none: false
104
- requirements:
76
+ requirements:
105
77
  - - ~>
106
- - !ruby/object:Gem::Version
107
- hash: 55
108
- segments:
109
- - 0
110
- - 10
111
- - 0
78
+ - !ruby/object:Gem::Version
112
79
  version: 0.10.0
113
80
  type: :development
114
- version_requirements: *id006
115
- - !ruby/object:Gem::Dependency
116
- name: pry
117
81
  prerelease: false
118
- requirement: &id007 !ruby/object:Gem::Requirement
82
+ version_requirements: *70366565369240
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry
85
+ requirement: &70366565368660 !ruby/object:Gem::Requirement
119
86
  none: false
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- hash: 49
124
- segments:
125
- - 0
126
- - 9
127
- - 5
87
+ requirements:
88
+ - - ! '>='
89
+ - !ruby/object:Gem::Version
128
90
  version: 0.9.5
129
91
  type: :development
130
- version_requirements: *id007
131
- - !ruby/object:Gem::Dependency
132
- name: vcr
133
92
  prerelease: false
134
- requirement: &id008 !ruby/object:Gem::Requirement
93
+ version_requirements: *70366565368660
94
+ - !ruby/object:Gem::Dependency
95
+ name: vcr
96
+ requirement: &70366565368080 !ruby/object:Gem::Requirement
135
97
  none: false
136
- requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- hash: 59
140
- segments:
141
- - 1
142
- - 11
143
- - 0
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
144
101
  version: 1.11.0
145
102
  type: :development
146
- version_requirements: *id008
147
- - !ruby/object:Gem::Dependency
148
- name: fakeweb
149
103
  prerelease: false
150
- requirement: &id009 !ruby/object:Gem::Requirement
104
+ version_requirements: *70366565368080
105
+ - !ruby/object:Gem::Dependency
106
+ name: fakeweb
107
+ requirement: &70366565367500 !ruby/object:Gem::Requirement
151
108
  none: false
152
- requirements:
153
- - - ">="
154
- - !ruby/object:Gem::Version
155
- hash: 27
156
- segments:
157
- - 1
158
- - 3
159
- - 0
109
+ requirements:
110
+ - - ! '>='
111
+ - !ruby/object:Gem::Version
160
112
  version: 1.3.0
161
113
  type: :development
162
- version_requirements: *id009
114
+ prerelease: false
115
+ version_requirements: *70366565367500
163
116
  description: When installed, allows a user to check for updates in their Rails application
164
- email:
117
+ email:
165
118
  - mskalnik@gatech.edu
166
119
  executables: []
167
-
168
120
  extensions: []
169
-
170
121
  extra_rdoc_files: []
171
-
172
- files:
122
+ files:
173
123
  - .gitignore
174
124
  - .rspec
175
125
  - .travis.yml
@@ -192,40 +142,31 @@ files:
192
142
  - spec/fixtures/vcr_cassettes/Gemlock/_outdated.yml
193
143
  - spec/gemlock_spec.rb
194
144
  - spec/spec_helper.rb
195
- homepage: ""
145
+ homepage: ''
196
146
  licenses: []
197
-
198
147
  post_install_message:
199
148
  rdoc_options: []
200
-
201
- require_paths:
149
+ require_paths:
202
150
  - lib
203
- required_ruby_version: !ruby/object:Gem::Requirement
151
+ required_ruby_version: !ruby/object:Gem::Requirement
204
152
  none: false
205
- requirements:
206
- - - ">="
207
- - !ruby/object:Gem::Version
208
- hash: 3
209
- segments:
210
- - 0
211
- version: "0"
212
- required_rubygems_version: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ! '>='
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
157
+ required_rubygems_version: !ruby/object:Gem::Requirement
213
158
  none: false
214
- requirements:
215
- - - ">="
216
- - !ruby/object:Gem::Version
217
- hash: 3
218
- segments:
219
- - 0
220
- version: "0"
159
+ requirements:
160
+ - - ! '>='
161
+ - !ruby/object:Gem::Version
162
+ version: '0'
221
163
  requirements: []
222
-
223
164
  rubyforge_project: gemlock
224
- rubygems_version: 1.8.10
165
+ rubygems_version: 1.8.6
225
166
  signing_key:
226
167
  specification_version: 3
227
168
  summary: Get notified when there are updates for gems in your Rails application
228
- test_files:
169
+ test_files:
229
170
  - spec/fixtures/Gemfile
230
171
  - spec/fixtures/Gemfile.lock
231
172
  - spec/fixtures/gemlock.yml