gem_version_check 0.0.9 → 0.0.10

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/README.md CHANGED
@@ -12,23 +12,31 @@ At XING we use this gem in combination with jenkins to automatically check on ge
12
12
 
13
13
  Use the Github project name:
14
14
 
15
- gem_version_check fdietz/team_dashboard activesupport rspec
15
+ gem_version_check fdietz/team_dashboard
16
16
 
17
17
  Use any url to a Gemfile.lock:
18
18
 
19
- gem_version_check https://raw.github.com/fdietz/team_dashboard/raw/master/Gemfile.lock activesupport rspec
19
+ gem_version_check https://raw.github.com/fdietz/team_dashboard/raw/master/Gemfile.lock
20
20
 
21
21
  ## Configuration
22
22
 
23
- Use GITHUB_HOST environment variable if you use Enterprise Github:
23
+ Use --host option if you use Enterprise Github:
24
24
 
25
- GITHUB_HOST=github.mycompany.com gem_version_check fdietz/team_dashboard activesupport rspec
25
+ gem_version_check fdietz/team_dashboard --host github.mycompany.com
26
+
27
+ Use --only option if you want to specify the list of gems
28
+
29
+ gem_version_check fdietz/team_dashboard --only activesupport,rspec
30
+
31
+ Use --output-format if you want different formats
32
+
33
+ gem_version_check fdietz/team_dashboard --output-format=json
26
34
 
27
35
  ## Example Report
28
36
 
29
37
  ### Pretty Print
30
38
 
31
- Example command: gem_version_check fdietz/team_dashboard activesupport rspec
39
+ Example command: gem_version_check fdietz/team_dashboard --only activesupport,rspec
32
40
 
33
41
  Output:
34
42
 
@@ -7,7 +7,7 @@ module GemVersionCheck
7
7
 
8
8
  def initialize(name, expected_version = nil)
9
9
  @name = name
10
- @expected_version = expected_version || latest_version
10
+ @expected_version = expected_version
11
11
  end
12
12
 
13
13
  def check(lock_file)
@@ -15,7 +15,7 @@ module GemVersionCheck
15
15
  @used = !!@version
16
16
  return unless used?
17
17
 
18
- @result = @expected_version == @version
18
+ @result = expected_version == @version
19
19
  end
20
20
 
21
21
  def valid?
@@ -26,6 +26,14 @@ module GemVersionCheck
26
26
  @used
27
27
  end
28
28
 
29
+ def gem_not_found?
30
+ expected_version.nil?
31
+ end
32
+
33
+ def expected_version
34
+ @expected_version ||= latest_version
35
+ end
36
+
29
37
  def latest_version
30
38
  @latest_version ||= begin
31
39
  spec = retrieve_spec
@@ -27,20 +27,26 @@ module GemVersionCheck
27
27
  "Project: #{project.check_failed? ? red : green}#{project.name}#{black}"
28
28
  end
29
29
 
30
- def dependency_listitem(dependency)
31
- " * #{dependency.name}: #{ yield dependency }\n"
30
+ def dependency_listitem(dep)
31
+ " #{dep.name}: #{ yield dep }\n"
32
32
  end
33
33
 
34
- def format_dependency(dependency)
35
- result = dependency.valid? ? valid_dependency(dependency) : invalid_dependency(dependency)
34
+ def format_dependency(dep)
35
+ if dep.gem_not_found?
36
+ "not found"
37
+ elsif dep.valid?
38
+ valid_dependency(dep)
39
+ else
40
+ invalid_dependency(dep)
41
+ end
36
42
  end
37
43
 
38
- def valid_dependency(dependency)
39
- "#{green}#{dependency.expected_version} ✓#{black}"
44
+ def valid_dependency(dep)
45
+ "#{green}#{dep.expected_version} ✓#{black}"
40
46
  end
41
47
 
42
- def invalid_dependency(dependency)
43
- "#{dependency.expected_version} != #{red}#{dependency.version}#{black}"
48
+ def invalid_dependency(dep)
49
+ "#{dep.expected_version} != #{red}#{dep.version}#{black}"
44
50
  end
45
51
 
46
52
  def black
@@ -1,3 +1,3 @@
1
1
  module GemVersionCheck
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
3
3
  end
@@ -9,8 +9,8 @@ module GemVersionCheck
9
9
 
10
10
  let(:dependency) { Dependency.new("activesupport", "3.2.9") }
11
11
  let(:invalid_dependency) { Dependency.new("activesupport", "3.2.10") }
12
- let(:not_found_dependency) { Dependency.new("rails", "3.2.9") }
13
-
12
+ let(:not_used_dependency) { Dependency.new("rails", "3.2.9") }
13
+
14
14
  context "#valid?" do
15
15
  it "is valid if current version == expected version" do
16
16
  dependency.check(lock_file)
@@ -30,8 +30,23 @@ module GemVersionCheck
30
30
  end
31
31
 
32
32
  it "return false if not found in lock file" do
33
- not_found_dependency.check(lock_file)
34
- not_found_dependency.should_not be_used
33
+ not_used_dependency.check(lock_file)
34
+ not_used_dependency.should_not be_used
35
+ end
36
+ end
37
+
38
+ context "#gem_not_found?" do
39
+ it "returns false if gem was found on gems server" do
40
+ dependency.check(lock_file)
41
+ dependency.should_not be_gem_not_found
42
+ end
43
+
44
+ it "returns true if gem was not found on gems server" do
45
+ dep = Dependency.new("non_existing_gem")
46
+ dep.expects(:retrieve_spec).returns(nil)
47
+ dep.check(lock_file)
48
+
49
+ dep.should be_gem_not_found
35
50
  end
36
51
  end
37
52
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gem_version_check
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -139,7 +139,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
139
139
  version: '0'
140
140
  segments:
141
141
  - 0
142
- hash: 2330606061019261803
142
+ hash: -4198302242782915360
143
143
  required_rubygems_version: !ruby/object:Gem::Requirement
144
144
  none: false
145
145
  requirements:
@@ -148,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
148
148
  version: '0'
149
149
  segments:
150
150
  - 0
151
- hash: 2330606061019261803
151
+ hash: -4198302242782915360
152
152
  requirements: []
153
153
  rubyforge_project:
154
154
  rubygems_version: 1.8.24