gemlock 0.0.8 → 0.0.9
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 +13 -15
- data/lib/gemlock/version.rb +1 -1
- data/spec/gemlock_spec.rb +32 -9
- metadata +20 -20
data/lib/gemlock.rb
CHANGED
@@ -59,30 +59,28 @@ module Gemlock
|
|
59
59
|
return_hash
|
60
60
|
end
|
61
61
|
|
62
|
-
def
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
end
|
62
|
+
def config
|
63
|
+
if defined?(Rails) && File.exists?(Rails.root.join('config', 'gemlock.yml'))
|
64
|
+
Rails.root.join('config', 'gemlock.yml')
|
65
|
+
end
|
67
66
|
end
|
68
67
|
|
69
68
|
def parsed_config
|
70
|
-
|
71
|
-
if(config_file)
|
72
|
-
parsed_config = YAML.load_file(config_file)
|
73
|
-
end
|
69
|
+
YAML.load_file(config) if config
|
74
70
|
end
|
75
71
|
|
76
|
-
def difference(
|
77
|
-
|
78
|
-
|
72
|
+
def difference(version_a, version_b)
|
73
|
+
major_a, minor_a, patch_a = version_a.split('.').collect(&:to_i)
|
74
|
+
major_b, minor_b, patch_b = version_b.split('.').collect(&:to_i)
|
79
75
|
|
80
|
-
if
|
76
|
+
if (major_a - major_b).abs > 0
|
81
77
|
"major"
|
82
|
-
elsif
|
78
|
+
elsif (minor_a - minor_b).abs > 0
|
83
79
|
"minor"
|
84
|
-
elsif
|
80
|
+
elsif (patch_a - patch_b).abs > 0
|
85
81
|
"patch"
|
82
|
+
else
|
83
|
+
"none"
|
86
84
|
end
|
87
85
|
end
|
88
86
|
end
|
data/lib/gemlock/version.rb
CHANGED
data/spec/gemlock_spec.rb
CHANGED
@@ -69,7 +69,7 @@ describe Gemlock do
|
|
69
69
|
end
|
70
70
|
|
71
71
|
it "returns a hash of outdated gems & versions specificed in config" do
|
72
|
-
Gemlock.stubs(:
|
72
|
+
Gemlock.stubs(:config).returns((File.join(File.dirname(__FILE__), 'fixtures', 'gemlock.yml')))
|
73
73
|
|
74
74
|
expected = {'coffee-rails' => { :current => '3.1.0',
|
75
75
|
:latest => '3.1.1' },
|
@@ -82,34 +82,47 @@ describe Gemlock do
|
|
82
82
|
end
|
83
83
|
end
|
84
84
|
|
85
|
-
describe "#
|
85
|
+
describe "#config" do
|
86
86
|
it "loads gemlock.yml from the config directory if Rails is defined" do
|
87
87
|
module Rails
|
88
88
|
def self.root
|
89
89
|
Pathname.new(File.dirname(__FILE__))
|
90
90
|
end
|
91
91
|
end
|
92
|
-
|
93
92
|
expected_path = Pathname.new(File.dirname(__FILE__)).join('config', 'gemlock.yml')
|
94
|
-
|
93
|
+
File.stubs(:exists?).with(expected_path).returns(true)
|
94
|
+
|
95
|
+
Gemlock.config.should eql expected_path
|
95
96
|
|
96
97
|
# Undefine Rails module
|
97
98
|
Object.send(:remove_const, :Rails)
|
98
99
|
|
99
100
|
end
|
100
101
|
|
101
|
-
it "is nil if Rails is not
|
102
|
-
|
102
|
+
it "is nil if Rails is defined and the files does not exist" do
|
103
|
+
module Rails
|
104
|
+
def self.root
|
105
|
+
Pathname.new(File.dirname(__FILE__))
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
Gemlock.parsed_config.should be_nil
|
110
|
+
|
111
|
+
Object.send(:remove_const, :Rails)
|
112
|
+
end
|
113
|
+
|
114
|
+
it "is nil if Rails is not defined and the file exists" do
|
115
|
+
Gemlock.config.should be_nil
|
103
116
|
end
|
104
117
|
end
|
105
118
|
|
106
119
|
describe "#parsed_config" do
|
107
|
-
it "returns nil if the
|
120
|
+
it "returns nil if the config file is not present" do
|
108
121
|
Gemlock.parsed_config.should be_nil
|
109
122
|
end
|
110
123
|
|
111
|
-
it "returns a hash containing the user's email if
|
112
|
-
Gemlock.stubs(:
|
124
|
+
it "returns a hash containing the user's email if config file is present" do
|
125
|
+
Gemlock.stubs(:config).returns((File.join(File.dirname(__FILE__), 'fixtures', 'gemlock.yml')))
|
113
126
|
|
114
127
|
Gemlock.parsed_config["email"].should eql "tester@example.com"
|
115
128
|
end
|
@@ -119,15 +132,25 @@ describe Gemlock do
|
|
119
132
|
it "returns 'major' if there is a major version difference between the two gem versions" do
|
120
133
|
Gemlock.difference("2.0.0", "3.0.0").should eql "major"
|
121
134
|
Gemlock.difference("2.5.10", "3.1.0").should eql "major"
|
135
|
+
Gemlock.difference("3.1.10", "2.5.8").should eql "major"
|
122
136
|
end
|
123
137
|
|
124
138
|
it "returns 'minor' if there is a minor version difference between the two gem versions" do
|
125
139
|
Gemlock.difference("3.0.0", "3.1.0").should eql "minor"
|
126
140
|
Gemlock.difference("3.1.0", "3.2.1").should eql "minor"
|
141
|
+
Gemlock.difference("3.1.0", "3.0.0").should eql "minor"
|
127
142
|
end
|
128
143
|
|
129
144
|
it "returns 'patch' if there is a patch version difference between the two gem versions" do
|
130
145
|
Gemlock.difference("3.1.0", "3.1.1").should eql "patch"
|
146
|
+
Gemlock.difference("0.0.2", "0.0.1").should eql "patch"
|
147
|
+
end
|
148
|
+
|
149
|
+
it "returns 'none' if there is no difference" do
|
150
|
+
Gemlock.difference("0.0.0", "0.0.0").should eql "none"
|
151
|
+
Gemlock.difference("0.0.1", "0.0.1").should eql "none"
|
152
|
+
Gemlock.difference("0.1.0", "0.1.0").should eql "none"
|
153
|
+
Gemlock.difference("1.0.0", "1.0.0").should eql "none"
|
131
154
|
end
|
132
155
|
end
|
133
156
|
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.0.
|
4
|
+
version: 0.0.9
|
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-10-
|
15
|
+
date: 2011-10-12 00:00:00.000000000Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: rake
|
19
|
-
requirement: &
|
19
|
+
requirement: &70252669943040 !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: *70252669943040
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: bundler
|
30
|
-
requirement: &
|
30
|
+
requirement: &70252669942540 !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: *70252669942540
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: rest-client
|
41
|
-
requirement: &
|
41
|
+
requirement: &70252669942160 !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: *70252669942160
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
51
|
name: json
|
52
|
-
requirement: &
|
52
|
+
requirement: &70252669941700 !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: *70252669941700
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: rspec
|
63
|
-
requirement: &
|
63
|
+
requirement: &70252669972160 !ruby/object:Gem::Requirement
|
64
64
|
none: false
|
65
65
|
requirements:
|
66
66
|
- - ~>
|
@@ -68,10 +68,10 @@ dependencies:
|
|
68
68
|
version: 2.6.0
|
69
69
|
type: :development
|
70
70
|
prerelease: false
|
71
|
-
version_requirements: *
|
71
|
+
version_requirements: *70252669972160
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
73
|
name: mocha
|
74
|
-
requirement: &
|
74
|
+
requirement: &70252669971660 !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: *70252669971660
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: pry
|
85
|
-
requirement: &
|
85
|
+
requirement: &70252669971200 !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: *70252669971200
|
94
94
|
- !ruby/object:Gem::Dependency
|
95
95
|
name: vcr
|
96
|
-
requirement: &
|
96
|
+
requirement: &70252669970740 !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: *70252669970740
|
105
105
|
- !ruby/object:Gem::Dependency
|
106
106
|
name: fakeweb
|
107
|
-
requirement: &
|
107
|
+
requirement: &70252669970280 !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: *70252669970280
|
116
116
|
description: When installed, allows a user to check for updates in their Rails application
|
117
117
|
email:
|
118
118
|
- mskalnik@gatech.edu
|