gemlock 0.1.1 → 0.2.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.
@@ -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