gemlock 0.2.6 → 0.2.7
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.
- data/lib/gemlock.rb +1 -0
- data/lib/gemlock/config.rb +1 -1
- data/lib/gemlock/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/Gemlock/_outdated.yml +22 -14
- data/spec/gemlock/config_spec.rb +3 -3
- data/spec/gemlock_spec.rb +25 -7
- metadata +21 -21
data/lib/gemlock.rb
CHANGED
@@ -52,6 +52,7 @@ module Gemlock
|
|
52
52
|
params[:types] = types if types
|
53
53
|
params[:app_name] = app_name if app_name
|
54
54
|
params[:automatic] = automatic if automatic
|
55
|
+
params[:interval] = Config.update_interval
|
55
56
|
params[:email] = Config.email if Config.email
|
56
57
|
|
57
58
|
response = RestClient.get("http://gemlock.herokuapp.com/ruby_gems/updates.json", :params => params)
|
data/lib/gemlock/config.rb
CHANGED
data/lib/gemlock/version.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
- !ruby/struct:VCR::HTTPInteraction
|
3
3
|
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: http://gemlock.herokuapp.com:80/ruby_gems/updates.json?gems=%7B%22coffee-rails%22%3A%223.1.0%22%2C%22jquery-rails%22%3A%221.0.16%22%2C%22json%22%3A%221.5.0%22%2C%22rails%22%3A%223.1.0%22%2C%22ruby-debug%22%3A%220.10.4%22%2C%22sass-rails%22%3A%223.1.0%22%2C%22sqlite3%22%3A%221.3.4%22%2C%22uglifier%22%3A%221.0.4%22%2C%22unicorn%22%3A%223.1.0%22%7D
|
5
|
+
uri: http://gemlock.herokuapp.com:80/ruby_gems/updates.json?gems=%7B%22coffee-rails%22%3A%223.1.0%22%2C%22jquery-rails%22%3A%221.0.16%22%2C%22json%22%3A%221.5.0%22%2C%22rails%22%3A%223.1.0%22%2C%22ruby-debug%22%3A%220.10.4%22%2C%22sass-rails%22%3A%223.1.0%22%2C%22sqlite3%22%3A%221.3.4%22%2C%22uglifier%22%3A%221.0.4%22%2C%22unicorn%22%3A%223.1.0%22%7D&interval=1209600
|
6
6
|
body: !!null
|
7
7
|
str: ""
|
8
8
|
"@taguri": x-private:null
|
@@ -19,25 +19,29 @@
|
|
19
19
|
x-ua-compatible:
|
20
20
|
- IE=Edge,chrome=1
|
21
21
|
etag:
|
22
|
-
- "\"
|
22
|
+
- "\"45e7c12a2af240180a4a8fa65a810274\""
|
23
23
|
connection:
|
24
24
|
- keep-alive
|
25
|
+
x-rack-cache:
|
26
|
+
- miss
|
25
27
|
content-type:
|
26
28
|
- application/json; charset=utf-8
|
27
29
|
x-runtime:
|
28
|
-
- "0.
|
30
|
+
- "0.040735"
|
29
31
|
server:
|
30
|
-
- thin 1.
|
32
|
+
- thin 1.3.1 codename Triple Espresso
|
33
|
+
date:
|
34
|
+
- Mon, 12 Dec 2011 05:42:19 GMT
|
35
|
+
content-length:
|
36
|
+
- "155"
|
31
37
|
cache-control:
|
32
38
|
- max-age=0, private, must-revalidate
|
33
|
-
|
34
|
-
- chunked
|
35
|
-
body: "{\"coffee-rails\":\"3.1.1\",\"json\":\"1.6.1\",\"rails\":\"3.1.1\",\"sass-rails\":\"3.1.4\",\"unicorn\":\"4.1.1\"}"
|
39
|
+
body: "{\"coffee-rails\":\"3.1.1\",\"jquery-rails\":\"1.0.19\",\"json\":\"1.6.3\",\"rails\":\"3.1.3\",\"sass-rails\":\"3.1.5\",\"sqlite3\":\"1.3.5\",\"uglifier\":\"1.1.0\",\"unicorn\":\"4.1.1\"}"
|
36
40
|
http_version: "1.1"
|
37
41
|
- !ruby/struct:VCR::HTTPInteraction
|
38
42
|
request: !ruby/struct:VCR::Request
|
39
43
|
method: :get
|
40
|
-
uri: http://gemlock.herokuapp.com:80/ruby_gems/updates.json?gems=%7B%22uglifier%22%3A%221.0.4%22%2C%22sqlite3%22%3A%221.3.4%22%2C%22ruby-debug%22%3A%220.10.4%22%2C%22jquery-rails%22%3A%221.0.16%22%2C%22coffee-rails%22%3A%223.1.0%22%2C%22rails%22%3A%223.1.0%22%2C%22sass-rails%22%3A%223.1.0%22%2C%22unicorn%22%3A%223.1.0%22%2C%22json%22%3A%221.5.0%22%7D
|
44
|
+
uri: http://gemlock.herokuapp.com:80/ruby_gems/updates.json?gems=%7B%22uglifier%22%3A%221.0.4%22%2C%22sqlite3%22%3A%221.3.4%22%2C%22ruby-debug%22%3A%220.10.4%22%2C%22jquery-rails%22%3A%221.0.16%22%2C%22coffee-rails%22%3A%223.1.0%22%2C%22rails%22%3A%223.1.0%22%2C%22sass-rails%22%3A%223.1.0%22%2C%22unicorn%22%3A%223.1.0%22%2C%22json%22%3A%221.5.0%22%7D&interval=1209600
|
41
45
|
body:
|
42
46
|
headers:
|
43
47
|
accept:
|
@@ -52,18 +56,22 @@
|
|
52
56
|
x-ua-compatible:
|
53
57
|
- IE=Edge,chrome=1
|
54
58
|
etag:
|
55
|
-
- "\"
|
59
|
+
- "\"aad0433ff1c22d5995073835ec598314\""
|
56
60
|
connection:
|
57
61
|
- keep-alive
|
62
|
+
x-rack-cache:
|
63
|
+
- miss
|
58
64
|
content-type:
|
59
65
|
- application/json; charset=utf-8
|
60
66
|
x-runtime:
|
61
|
-
- "0.
|
67
|
+
- "0.026676"
|
62
68
|
server:
|
63
|
-
- thin 1.
|
69
|
+
- thin 1.3.1 codename Triple Espresso
|
70
|
+
date:
|
71
|
+
- Mon, 12 Dec 2011 05:56:30 GMT
|
72
|
+
content-length:
|
73
|
+
- "155"
|
64
74
|
cache-control:
|
65
75
|
- max-age=0, private, must-revalidate
|
66
|
-
|
67
|
-
- chunked
|
68
|
-
body: "{\"coffee-rails\":\"3.1.1\",\"rails\":\"3.1.1\",\"sass-rails\":\"3.1.4\",\"unicorn\":\"4.1.1\",\"json\":\"1.6.1\"}"
|
76
|
+
body: "{\"uglifier\":\"1.1.0\",\"sqlite3\":\"1.3.5\",\"jquery-rails\":\"1.0.19\",\"coffee-rails\":\"3.1.1\",\"rails\":\"3.1.3\",\"sass-rails\":\"3.1.5\",\"unicorn\":\"4.1.1\",\"json\":\"1.6.3\"}"
|
69
77
|
http_version: "1.1"
|
data/spec/gemlock/config_spec.rb
CHANGED
@@ -65,11 +65,11 @@ describe Gemlock::Config do
|
|
65
65
|
end
|
66
66
|
|
67
67
|
describe ".update_interval" do
|
68
|
-
it "returns the number of seconds in
|
69
|
-
Gemlock::Config.update_interval.should eql 60*60*24*7
|
68
|
+
it "returns the number of seconds in 2 weeks if config_file is not present, or interval is not specified" do
|
69
|
+
Gemlock::Config.update_interval.should eql 60*60*24*7*2
|
70
70
|
|
71
71
|
Gemlock::Config.stubs(:parsed).returns({"email"=>"tester@example.com"})
|
72
|
-
Gemlock::Config.update_interval.should eql 60*60*24*7
|
72
|
+
Gemlock::Config.update_interval.should eql 60*60*24*7*2
|
73
73
|
end
|
74
74
|
|
75
75
|
it "returns the number of seconds until the next number of hours as given" do
|
data/spec/gemlock_spec.rb
CHANGED
@@ -93,20 +93,27 @@ describe Gemlock do
|
|
93
93
|
expected = {'coffee-rails' => { :current => '3.1.0',
|
94
94
|
:latest => '3.1.1' },
|
95
95
|
'sass-rails' => { :current => '3.1.0',
|
96
|
-
:latest => '3.1.
|
96
|
+
:latest => '3.1.5' },
|
97
97
|
'unicorn' => { :current => '3.1.0',
|
98
98
|
:latest => '4.1.1' },
|
99
99
|
'json' => { :current => '1.5.0',
|
100
|
-
:latest => '1.6.
|
100
|
+
:latest => '1.6.3' },
|
101
101
|
'rails' => { :current => '3.1.0',
|
102
|
-
:latest => '3.1.
|
102
|
+
:latest => '3.1.3'},
|
103
|
+
'jquery-rails' => { :current => '1.0.16',
|
104
|
+
:latest => '1.0.19'},
|
105
|
+
'sqlite3' => { :current => '1.3.4',
|
106
|
+
:latest => '1.3.5'},
|
107
|
+
'uglifier' => { :current => '1.0.4',
|
108
|
+
:latest => '1.1.0'} }
|
103
109
|
|
104
110
|
Gemlock.outdated.should eql expected
|
105
111
|
end
|
106
112
|
|
107
113
|
it "checks for each gem individually if the bulk check fails" do
|
108
114
|
RestClient.expects(:get).with("http://gemlock.herokuapp.com/ruby_gems/updates.json",
|
109
|
-
{:params => {:gems => in_spec.to_json
|
115
|
+
{:params => {:gems => in_spec.to_json,
|
116
|
+
:interval => 60*60*24*7*2}}).raises(RestClient::GatewayTimeout)
|
110
117
|
Gemlock.expects(:check_gems_individually).with(in_spec)
|
111
118
|
|
112
119
|
Gemlock.outdated
|
@@ -115,7 +122,8 @@ describe Gemlock do
|
|
115
122
|
it "sets an flag if it is an automatic check" do
|
116
123
|
RestClient.expects(:get).with("http://gemlock.herokuapp.com/ruby_gems/updates.json",
|
117
124
|
{:params => {:gems => in_spec.to_json,
|
118
|
-
:automatic => true
|
125
|
+
:automatic => true,
|
126
|
+
:interval => 60*60*24*7*2}}).returns('{}')
|
119
127
|
|
120
128
|
Gemlock.outdated(true)
|
121
129
|
end
|
@@ -124,7 +132,8 @@ describe Gemlock do
|
|
124
132
|
Gemlock::Config.stubs(:parsed).returns({'email' => 'hi@mikeskalnik.com'})
|
125
133
|
RestClient.expects(:get).with("http://gemlock.herokuapp.com/ruby_gems/updates.json",
|
126
134
|
{:params => {:gems => in_spec.to_json,
|
127
|
-
:email => 'hi@mikeskalnik.com'
|
135
|
+
:email => 'hi@mikeskalnik.com',
|
136
|
+
:interval => 60*60*24*7*2}}).returns('{}')
|
128
137
|
|
129
138
|
Gemlock.outdated
|
130
139
|
end
|
@@ -133,7 +142,16 @@ describe Gemlock do
|
|
133
142
|
Gemlock::Config.stubs(:parsed).returns({'name' => 'Gemlock'})
|
134
143
|
RestClient.expects(:get).with("http://gemlock.herokuapp.com/ruby_gems/updates.json",
|
135
144
|
{:params => {:gems => in_spec.to_json,
|
136
|
-
:app_name => 'Gemlock'
|
145
|
+
:app_name => 'Gemlock',
|
146
|
+
:interval => 60*60*24*7*2}}).returns('{}')
|
147
|
+
Gemlock.outdated
|
148
|
+
end
|
149
|
+
|
150
|
+
it "sends the update interval in config to the server if present" do
|
151
|
+
Gemlock::Config.stubs(:parsed).returns({'interval' => ['2 weeks']})
|
152
|
+
RestClient.expects(:get).with("http://gemlock.herokuapp.com/ruby_gems/updates.json",
|
153
|
+
{:params => {:gems => in_spec.to_json,
|
154
|
+
:interval => 60*60*24*7*2}}).returns('{}')
|
137
155
|
Gemlock.outdated
|
138
156
|
end
|
139
157
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemlock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -12,11 +12,11 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2011-12-
|
15
|
+
date: 2011-12-13 00:00:00.000000000Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: rake
|
19
|
-
requirement: &
|
19
|
+
requirement: &70326103661240 !ruby/object:Gem::Requirement
|
20
20
|
none: false
|
21
21
|
requirements:
|
22
22
|
- - ! '>='
|
@@ -24,10 +24,10 @@ dependencies:
|
|
24
24
|
version: 0.8.7
|
25
25
|
type: :runtime
|
26
26
|
prerelease: false
|
27
|
-
version_requirements: *
|
27
|
+
version_requirements: *70326103661240
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: bundler
|
30
|
-
requirement: &
|
30
|
+
requirement: &70326103660720 !ruby/object:Gem::Requirement
|
31
31
|
none: false
|
32
32
|
requirements:
|
33
33
|
- - ~>
|
@@ -35,10 +35,10 @@ dependencies:
|
|
35
35
|
version: 1.0.0
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
|
-
version_requirements: *
|
38
|
+
version_requirements: *70326103660720
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: rest-client
|
41
|
-
requirement: &
|
41
|
+
requirement: &70326103660340 !ruby/object:Gem::Requirement
|
42
42
|
none: false
|
43
43
|
requirements:
|
44
44
|
- - ! '>='
|
@@ -46,10 +46,10 @@ dependencies:
|
|
46
46
|
version: '0'
|
47
47
|
type: :runtime
|
48
48
|
prerelease: false
|
49
|
-
version_requirements: *
|
49
|
+
version_requirements: *70326103660340
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
51
|
name: json
|
52
|
-
requirement: &
|
52
|
+
requirement: &70326103659880 !ruby/object:Gem::Requirement
|
53
53
|
none: false
|
54
54
|
requirements:
|
55
55
|
- - ! '>='
|
@@ -57,10 +57,10 @@ dependencies:
|
|
57
57
|
version: '0'
|
58
58
|
type: :runtime
|
59
59
|
prerelease: false
|
60
|
-
version_requirements: *
|
60
|
+
version_requirements: *70326103659880
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: rspec
|
63
|
-
requirement: &
|
63
|
+
requirement: &70326103659380 !ruby/object:Gem::Requirement
|
64
64
|
none: false
|
65
65
|
requirements:
|
66
66
|
- - ~>
|
@@ -68,10 +68,10 @@ dependencies:
|
|
68
68
|
version: 2.7.0
|
69
69
|
type: :development
|
70
70
|
prerelease: false
|
71
|
-
version_requirements: *
|
71
|
+
version_requirements: *70326103659380
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
73
|
name: mocha
|
74
|
-
requirement: &
|
74
|
+
requirement: &70326103658820 !ruby/object:Gem::Requirement
|
75
75
|
none: false
|
76
76
|
requirements:
|
77
77
|
- - ~>
|
@@ -79,10 +79,10 @@ dependencies:
|
|
79
79
|
version: 0.10.0
|
80
80
|
type: :development
|
81
81
|
prerelease: false
|
82
|
-
version_requirements: *
|
82
|
+
version_requirements: *70326103658820
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: pry
|
85
|
-
requirement: &
|
85
|
+
requirement: &70326103658320 !ruby/object:Gem::Requirement
|
86
86
|
none: false
|
87
87
|
requirements:
|
88
88
|
- - ! '>='
|
@@ -90,10 +90,10 @@ dependencies:
|
|
90
90
|
version: 0.9.5
|
91
91
|
type: :development
|
92
92
|
prerelease: false
|
93
|
-
version_requirements: *
|
93
|
+
version_requirements: *70326103658320
|
94
94
|
- !ruby/object:Gem::Dependency
|
95
95
|
name: vcr
|
96
|
-
requirement: &
|
96
|
+
requirement: &70326103651880 !ruby/object:Gem::Requirement
|
97
97
|
none: false
|
98
98
|
requirements:
|
99
99
|
- - ! '>='
|
@@ -101,10 +101,10 @@ dependencies:
|
|
101
101
|
version: 1.11.0
|
102
102
|
type: :development
|
103
103
|
prerelease: false
|
104
|
-
version_requirements: *
|
104
|
+
version_requirements: *70326103651880
|
105
105
|
- !ruby/object:Gem::Dependency
|
106
106
|
name: fakeweb
|
107
|
-
requirement: &
|
107
|
+
requirement: &70326103651320 !ruby/object:Gem::Requirement
|
108
108
|
none: false
|
109
109
|
requirements:
|
110
110
|
- - ! '>='
|
@@ -112,7 +112,7 @@ dependencies:
|
|
112
112
|
version: 1.3.0
|
113
113
|
type: :development
|
114
114
|
prerelease: false
|
115
|
-
version_requirements: *
|
115
|
+
version_requirements: *70326103651320
|
116
116
|
description: When installed, allows a user to check for updates in their Rails application
|
117
117
|
email:
|
118
118
|
- mskalnik@gatech.edu
|
@@ -166,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
166
166
|
version: '0'
|
167
167
|
requirements: []
|
168
168
|
rubyforge_project: gemlock
|
169
|
-
rubygems_version: 1.8.
|
169
|
+
rubygems_version: 1.8.10
|
170
170
|
signing_key:
|
171
171
|
specification_version: 3
|
172
172
|
summary: Get notified when there are updates for gems in your Rails application
|