gemlock 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -44,46 +44,73 @@ describe Gemlock do
44
44
 
45
45
  it "looks up and return the latest version of a given gem" do
46
46
  version = Gemlock.lookup_version("rails")
47
- version.should eql "3.1.0"
47
+ version.should eql "3.1.1"
48
48
  end
49
49
  end
50
50
 
51
- describe ".outdated" do
51
+ describe ".check_gems_individually" do
52
52
  use_vcr_cassette
53
53
 
54
- before do
55
- Gemlock.stubs(:lockfile).returns((File.join(File.dirname(__FILE__), 'fixtures', 'Gemfile.lock')))
56
- end
54
+ it "returns a hash of outdated gems & versions specificed in config" do
55
+ Gemlock.stubs(:config).returns((File.join(File.dirname(__FILE__), 'fixtures', 'gemlock.yml')))
56
+
57
+ gems = Gemlock.locked_gemfile_specs.inject({}) do |hash, spec|
58
+ hash[spec.name] = spec.version.to_s
59
+ hash
60
+ end
57
61
 
58
- it "returns a hash of all outdated gems & versions if no config is present" do
59
62
  expected = {'coffee-rails' => { :current => '3.1.0',
60
63
  :latest => '3.1.1' },
61
64
  'sass-rails' => { :current => '3.1.0',
62
65
  :latest => '3.1.4' },
63
66
  'unicorn' => { :current => '3.1.0',
64
67
  :latest => '4.1.1' },
65
- 'json' => { :current => '1.5.0',
66
- :latest => '1.6.1' },
67
68
  'rails' => { :current => '3.1.0',
68
69
  :latest => '3.1.1'} }
69
70
 
70
- Gemlock.outdated.should eql expected
71
+ Gemlock.check_gems_individually(gems).should eql expected
71
72
  end
73
+ end
72
74
 
73
- it "returns a hash of outdated gems & versions specificed in config" do
74
- Gemlock.stubs(:config).returns((File.join(File.dirname(__FILE__), 'fixtures', 'gemlock.yml')))
75
+ describe ".outdated" do
76
+ use_vcr_cassette
77
+
78
+ before do
79
+ Gemlock.stubs(:lockfile).returns((File.join(File.dirname(__FILE__), 'fixtures', 'Gemfile.lock')))
80
+ end
75
81
 
82
+ it "returns a hash of all outdated gems" do
76
83
  expected = {'coffee-rails' => { :current => '3.1.0',
77
84
  :latest => '3.1.1' },
78
85
  'sass-rails' => { :current => '3.1.0',
79
86
  :latest => '3.1.4' },
80
87
  'unicorn' => { :current => '3.1.0',
81
88
  :latest => '4.1.1' },
89
+ 'json' => { :current => '1.5.0',
90
+ :latest => '1.6.1' },
82
91
  'rails' => { :current => '3.1.0',
83
92
  :latest => '3.1.1'} }
84
93
 
85
94
  Gemlock.outdated.should eql expected
86
95
  end
96
+
97
+ 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
+ RestClient.expects(:get).with("http://gemlock.herokuapp.com/ruby_gems/updates.json",
109
+ {:params => {:gems => in_spec.to_json}}).raises(RestClient::GatewayTimeout)
110
+ Gemlock.expects(:check_gems_individually).with(in_spec)
111
+
112
+ Gemlock.outdated
113
+ end
87
114
  end
88
115
 
89
116
  describe ".config" do
metadata CHANGED
@@ -1,10 +1,15 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: gemlock
3
- version: !ruby/object:Gem::Version
4
- version: 0.1.1
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 0
10
+ version: 0.2.0
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Mike Skalnik
9
14
  - Brian Gardner
10
15
  - Tyler Hastings
@@ -12,114 +17,159 @@ authors:
12
17
  autorequire:
13
18
  bindir: bin
14
19
  cert_chain: []
15
- date: 2011-11-02 00:00:00.000000000Z
16
- dependencies:
17
- - !ruby/object:Gem::Dependency
20
+
21
+ date: 2011-11-08 00:00:00 Z
22
+ dependencies:
23
+ - !ruby/object:Gem::Dependency
18
24
  name: rake
19
- requirement: &70160799919460 !ruby/object:Gem::Requirement
25
+ prerelease: false
26
+ requirement: &id001 !ruby/object:Gem::Requirement
20
27
  none: false
21
- requirements:
22
- - - ! '>='
23
- - !ruby/object:Gem::Version
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ hash: 49
32
+ segments:
33
+ - 0
34
+ - 8
35
+ - 7
24
36
  version: 0.8.7
25
37
  type: :runtime
26
- prerelease: false
27
- version_requirements: *70160799919460
28
- - !ruby/object:Gem::Dependency
38
+ version_requirements: *id001
39
+ - !ruby/object:Gem::Dependency
29
40
  name: bundler
30
- requirement: &70160799917500 !ruby/object:Gem::Requirement
41
+ prerelease: false
42
+ requirement: &id002 !ruby/object:Gem::Requirement
31
43
  none: false
32
- requirements:
44
+ requirements:
33
45
  - - ~>
34
- - !ruby/object:Gem::Version
46
+ - !ruby/object:Gem::Version
47
+ hash: 23
48
+ segments:
49
+ - 1
50
+ - 0
51
+ - 0
35
52
  version: 1.0.0
36
53
  type: :runtime
37
- prerelease: false
38
- version_requirements: *70160799917500
39
- - !ruby/object:Gem::Dependency
54
+ version_requirements: *id002
55
+ - !ruby/object:Gem::Dependency
40
56
  name: rest-client
41
- requirement: &70160799916320 !ruby/object:Gem::Requirement
57
+ prerelease: false
58
+ requirement: &id003 !ruby/object:Gem::Requirement
42
59
  none: false
43
- requirements:
44
- - - ! '>='
45
- - !ruby/object:Gem::Version
46
- version: '0'
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ hash: 3
64
+ segments:
65
+ - 0
66
+ version: "0"
47
67
  type: :runtime
48
- prerelease: false
49
- version_requirements: *70160799916320
50
- - !ruby/object:Gem::Dependency
68
+ version_requirements: *id003
69
+ - !ruby/object:Gem::Dependency
51
70
  name: json
52
- requirement: &70160799914760 !ruby/object:Gem::Requirement
71
+ prerelease: false
72
+ requirement: &id004 !ruby/object:Gem::Requirement
53
73
  none: false
54
- requirements:
55
- - - ! '>='
56
- - !ruby/object:Gem::Version
57
- version: '0'
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ hash: 3
78
+ segments:
79
+ - 0
80
+ version: "0"
58
81
  type: :runtime
59
- prerelease: false
60
- version_requirements: *70160799914760
61
- - !ruby/object:Gem::Dependency
82
+ version_requirements: *id004
83
+ - !ruby/object:Gem::Dependency
62
84
  name: rspec
63
- requirement: &70160799913840 !ruby/object:Gem::Requirement
85
+ prerelease: false
86
+ requirement: &id005 !ruby/object:Gem::Requirement
64
87
  none: false
65
- requirements:
88
+ requirements:
66
89
  - - ~>
67
- - !ruby/object:Gem::Version
90
+ - !ruby/object:Gem::Version
91
+ hash: 19
92
+ segments:
93
+ - 2
94
+ - 7
95
+ - 0
68
96
  version: 2.7.0
69
97
  type: :development
70
- prerelease: false
71
- version_requirements: *70160799913840
72
- - !ruby/object:Gem::Dependency
98
+ version_requirements: *id005
99
+ - !ruby/object:Gem::Dependency
73
100
  name: mocha
74
- requirement: &70160799913120 !ruby/object:Gem::Requirement
101
+ prerelease: false
102
+ requirement: &id006 !ruby/object:Gem::Requirement
75
103
  none: false
76
- requirements:
104
+ requirements:
77
105
  - - ~>
78
- - !ruby/object:Gem::Version
106
+ - !ruby/object:Gem::Version
107
+ hash: 55
108
+ segments:
109
+ - 0
110
+ - 10
111
+ - 0
79
112
  version: 0.10.0
80
113
  type: :development
81
- prerelease: false
82
- version_requirements: *70160799913120
83
- - !ruby/object:Gem::Dependency
114
+ version_requirements: *id006
115
+ - !ruby/object:Gem::Dependency
84
116
  name: pry
85
- requirement: &70160799912420 !ruby/object:Gem::Requirement
117
+ prerelease: false
118
+ requirement: &id007 !ruby/object:Gem::Requirement
86
119
  none: false
87
- requirements:
88
- - - ! '>='
89
- - !ruby/object:Gem::Version
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ hash: 49
124
+ segments:
125
+ - 0
126
+ - 9
127
+ - 5
90
128
  version: 0.9.5
91
129
  type: :development
92
- prerelease: false
93
- version_requirements: *70160799912420
94
- - !ruby/object:Gem::Dependency
130
+ version_requirements: *id007
131
+ - !ruby/object:Gem::Dependency
95
132
  name: vcr
96
- requirement: &70160799911580 !ruby/object:Gem::Requirement
133
+ prerelease: false
134
+ requirement: &id008 !ruby/object:Gem::Requirement
97
135
  none: false
98
- requirements:
99
- - - ! '>='
100
- - !ruby/object:Gem::Version
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ hash: 59
140
+ segments:
141
+ - 1
142
+ - 11
143
+ - 0
101
144
  version: 1.11.0
102
145
  type: :development
103
- prerelease: false
104
- version_requirements: *70160799911580
105
- - !ruby/object:Gem::Dependency
146
+ version_requirements: *id008
147
+ - !ruby/object:Gem::Dependency
106
148
  name: fakeweb
107
- requirement: &70160799910600 !ruby/object:Gem::Requirement
149
+ prerelease: false
150
+ requirement: &id009 !ruby/object:Gem::Requirement
108
151
  none: false
109
- requirements:
110
- - - ! '>='
111
- - !ruby/object:Gem::Version
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ hash: 27
156
+ segments:
157
+ - 1
158
+ - 3
159
+ - 0
112
160
  version: 1.3.0
113
161
  type: :development
114
- prerelease: false
115
- version_requirements: *70160799910600
162
+ version_requirements: *id009
116
163
  description: When installed, allows a user to check for updates in their Rails application
117
- email:
164
+ email:
118
165
  - mskalnik@gatech.edu
119
166
  executables: []
167
+
120
168
  extensions: []
169
+
121
170
  extra_rdoc_files: []
122
- files:
171
+
172
+ files:
123
173
  - .gitignore
124
174
  - .rspec
125
175
  - .travis.yml
@@ -137,38 +187,49 @@ files:
137
187
  - spec/fixtures/Gemfile
138
188
  - spec/fixtures/Gemfile.lock
139
189
  - spec/fixtures/gemlock.yml
190
+ - spec/fixtures/vcr_cassettes/Gemlock/_check_gems_individually.yml
140
191
  - spec/fixtures/vcr_cassettes/Gemlock/_lookup_version.yml
141
192
  - spec/fixtures/vcr_cassettes/Gemlock/_outdated.yml
142
193
  - spec/gemlock_spec.rb
143
194
  - spec/spec_helper.rb
144
- homepage: ''
195
+ homepage: ""
145
196
  licenses: []
197
+
146
198
  post_install_message:
147
199
  rdoc_options: []
148
- require_paths:
200
+
201
+ require_paths:
149
202
  - lib
150
- required_ruby_version: !ruby/object:Gem::Requirement
203
+ required_ruby_version: !ruby/object:Gem::Requirement
151
204
  none: false
152
- requirements:
153
- - - ! '>='
154
- - !ruby/object:Gem::Version
155
- version: '0'
156
- required_rubygems_version: !ruby/object:Gem::Requirement
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
157
213
  none: false
158
- requirements:
159
- - - ! '>='
160
- - !ruby/object:Gem::Version
161
- version: '0'
214
+ requirements:
215
+ - - ">="
216
+ - !ruby/object:Gem::Version
217
+ hash: 3
218
+ segments:
219
+ - 0
220
+ version: "0"
162
221
  requirements: []
222
+
163
223
  rubyforge_project: gemlock
164
- rubygems_version: 1.8.6
224
+ rubygems_version: 1.8.10
165
225
  signing_key:
166
226
  specification_version: 3
167
227
  summary: Get notified when there are updates for gems in your Rails application
168
- test_files:
228
+ test_files:
169
229
  - spec/fixtures/Gemfile
170
230
  - spec/fixtures/Gemfile.lock
171
231
  - spec/fixtures/gemlock.yml
232
+ - spec/fixtures/vcr_cassettes/Gemlock/_check_gems_individually.yml
172
233
  - spec/fixtures/vcr_cassettes/Gemlock/_lookup_version.yml
173
234
  - spec/fixtures/vcr_cassettes/Gemlock/_outdated.yml
174
235
  - spec/gemlock_spec.rb