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.
@@ -59,30 +59,28 @@ module Gemlock
59
59
  return_hash
60
60
  end
61
61
 
62
- def config_file
63
- config_file = nil
64
- config_file = if defined?(Rails)
65
- Rails.root.join('config', 'gemlock.yml')
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
- parsed_config = nil
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(local_version, gem_version)
77
- lock_major, lock_minor, lock_patch = local_version.split('.')
78
- gem_major, gem_minor, gem_patch = gem_version.split('.')
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 gem_major > lock_major
76
+ if (major_a - major_b).abs > 0
81
77
  "major"
82
- elsif gem_minor > lock_minor
78
+ elsif (minor_a - minor_b).abs > 0
83
79
  "minor"
84
- elsif gem_patch>lock_patch
80
+ elsif (patch_a - patch_b).abs > 0
85
81
  "patch"
82
+ else
83
+ "none"
86
84
  end
87
85
  end
88
86
  end
@@ -1,3 +1,3 @@
1
1
  module Gemlock
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.9"
3
3
  end
@@ -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(:config_file).returns((File.join(File.dirname(__FILE__), 'fixtures', 'gemlock.yml')))
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 "#config_file" do
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
- Gemlock.config_file.should eql expected_path
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 defined" do
102
- Gemlock.config_file.should be_nil
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 config_file is not defined" do
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 config_file is defined" do
112
- Gemlock.stubs(:config_file).returns((File.join(File.dirname(__FILE__), 'fixtures', 'gemlock.yml')))
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.8
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-11 00:00:00.000000000Z
15
+ date: 2011-10-12 00:00:00.000000000Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rake
19
- requirement: &70120938963580 !ruby/object:Gem::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: *70120938963580
27
+ version_requirements: *70252669943040
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: bundler
30
- requirement: &70120938963080 !ruby/object:Gem::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: *70120938963080
38
+ version_requirements: *70252669942540
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: rest-client
41
- requirement: &70120938962700 !ruby/object:Gem::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: *70120938962700
49
+ version_requirements: *70252669942160
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: json
52
- requirement: &70120938962240 !ruby/object:Gem::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: *70120938962240
60
+ version_requirements: *70252669941700
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: rspec
63
- requirement: &70120938961740 !ruby/object:Gem::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: *70120938961740
71
+ version_requirements: *70252669972160
72
72
  - !ruby/object:Gem::Dependency
73
73
  name: mocha
74
- requirement: &70120938961240 !ruby/object:Gem::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: *70120938961240
82
+ version_requirements: *70252669971660
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: pry
85
- requirement: &70120938989440 !ruby/object:Gem::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: *70120938989440
93
+ version_requirements: *70252669971200
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: vcr
96
- requirement: &70120938988980 !ruby/object:Gem::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: *70120938988980
104
+ version_requirements: *70252669970740
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: fakeweb
107
- requirement: &70120938988520 !ruby/object:Gem::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: *70120938988520
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