should-i-update 0.0.1

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6a212d2b02dbb9e66e3733bfa1ccac7f10241651
4
+ data.tar.gz: 91fd50c59329ce6284b887dc2b69d070c6b91297
5
+ SHA512:
6
+ metadata.gz: 82649f1f55293ab549cae202d449f19fc74e7f2868d6d93f302ac6c21a57351b433afc6bf00b09e173a1b1d193215b48d0791c2f38e23977c23bf0fc5fe14872
7
+ data.tar.gz: fcfcb1309a10d03b8f507360641be6f521617bd416ccb3e0ebfd93ab8f77326ce51554b13e070e936a5e21767c04d3b6666669a784334e7f8947802084ddc724
data/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ /.idea/
2
+ /pkg/
3
+ *.gem
4
+ .rspec
5
+ shouldiupdate.iml
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in should-i-update.gemspec
4
+ gemspec
5
+
6
+ group 'test' do
7
+
8
+ gem 'rspec'
9
+ gem 'timers', '4.0.1'
10
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,39 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ should-i-update (0.0.1)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ diff-lcs (1.2.5)
10
+ hitimes (1.2.2)
11
+ rake (10.4.2)
12
+ rspec (3.3.0)
13
+ rspec-core (~> 3.3.0)
14
+ rspec-expectations (~> 3.3.0)
15
+ rspec-mocks (~> 3.3.0)
16
+ rspec-core (3.3.2)
17
+ rspec-support (~> 3.3.0)
18
+ rspec-expectations (3.3.1)
19
+ diff-lcs (>= 1.2.0, < 2.0)
20
+ rspec-support (~> 3.3.0)
21
+ rspec-mocks (3.3.2)
22
+ diff-lcs (>= 1.2.0, < 2.0)
23
+ rspec-support (~> 3.3.0)
24
+ rspec-support (3.3.0)
25
+ timers (4.0.1)
26
+ hitimes
27
+
28
+ PLATFORMS
29
+ ruby
30
+
31
+ DEPENDENCIES
32
+ bundler (~> 1.10)
33
+ rake (~> 10.0)
34
+ rspec
35
+ should-i-update!
36
+ timers (= 4.0.1)
37
+
38
+ BUNDLED WITH
39
+ 1.10.5
data/README.md ADDED
@@ -0,0 +1,37 @@
1
+ #should-i-update
2
+ Takes a friendly look your Gemfile and reports any out of date gems.
3
+
4
+ $ should-i-update
5
+
6
+ Your Gemfile could do with some updating :(
7
+ timers (newest 4.1.1, installed 4.0.1)
8
+
9
+
10
+ ## How does it work ?
11
+
12
+ Under the covers, it's using `bundle outdated`, but then looking at the newest and installed versions to work out if there is a big enough difference to prompt for an update.
13
+
14
+
15
+ ## Installation
16
+
17
+ Add this line to your application's Gemfile:
18
+
19
+ gem 'should-i-update'
20
+
21
+
22
+ And then execute:
23
+
24
+ $ bundle
25
+
26
+ Or install it yourself as:
27
+
28
+ $ gem install should-i-update
29
+
30
+ ## Usage
31
+
32
+ $ should-i-update
33
+
34
+ ## Contributing
35
+
36
+ Bug reports and pull requests are welcome on GitHub at https://github.com/coder36/should-i-update.
37
+
data/Rakefile ADDED
@@ -0,0 +1,3 @@
1
+ require "bundler/gem_tasks"
2
+
3
+
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'shouldiupdate'
4
+
5
+ exit should_i_update ? 1 : 0
6
+
@@ -0,0 +1,3 @@
1
+ module ShouldIUpdate
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,49 @@
1
+ def bundle_outdated
2
+
3
+ `bundle outdated`.lines.reduce([]) do |out, line|
4
+ res = line.match /\* (.*) \(newest (.*), installed (.*), requested = (.*)\) in group/
5
+ res ||= line.match /\* (.*) \(newest (.*), installed (.*), requested = (.*)\)/
6
+ res ||= line.match /\* (.*) \(newest (.*), installed (.*)\) in group/
7
+ res ||= line.match /\* (.*) \(newest (.*), installed (.*)\)/
8
+
9
+ if res
10
+ name,newest,installed, requested = res[1], res[2], res[3], res[4]
11
+ gem = { name: name, newest: newest, installed: installed }
12
+ gem[:requested] = requested if requested
13
+ out << gem
14
+ end
15
+
16
+ out
17
+ end
18
+ end
19
+
20
+ def filter_outdated_gems
21
+ bundle_outdated.select do |gem|
22
+ yield Gem::Version.new(gem[:newest]), Gem::Version.new(gem[:installed])
23
+ end
24
+ end
25
+
26
+ def should_i_update
27
+ gems = filter_outdated_gems { |newest, installed| installed.bump < newest }
28
+
29
+ if gems.empty?
30
+ puts green "Your Gemfile looks good :)"
31
+ else
32
+ puts red "Your Gemfile could do with some updating :("
33
+ gems.each do |gem|
34
+ puts " #{gem[:name]} (newest #{gem[:newest]}, installed #{gem[:installed]})"
35
+ end
36
+ end
37
+ puts ""
38
+
39
+ !gems.empty?
40
+ end
41
+
42
+ def red str
43
+ "\e[31m#{str}\e[0m"
44
+ end
45
+
46
+ def green str
47
+ "\e[32m#{str}\e[0m"
48
+ end
49
+
@@ -0,0 +1,23 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'shouldiupdate/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "should-i-update"
8
+ spec.version = ShouldIUpdate::VERSION
9
+ spec.authors = ["coder36"]
10
+ spec.email = ["markymiddleton@gmail.com"]
11
+
12
+ spec.summary = %q{Should I update my gem's ?}
13
+ spec.description = %q{should-i-update takes a friendly look your Gemfile and reports any out of date gems}
14
+ spec.homepage = "https://github.com/coder36/should-i-update"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
+ spec.bindir = "bin"
18
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.10"
22
+ spec.add_development_dependency "rake", "~> 10.0"
23
+ end
metadata ADDED
@@ -0,0 +1,82 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: should-i-update
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - coder36
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-09-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.10'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.10'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ description: should-i-update takes a friendly look your Gemfile and reports any out
42
+ of date gems
43
+ email:
44
+ - markymiddleton@gmail.com
45
+ executables:
46
+ - should-i-update
47
+ extensions: []
48
+ extra_rdoc_files: []
49
+ files:
50
+ - ".gitignore"
51
+ - Gemfile
52
+ - Gemfile.lock
53
+ - README.md
54
+ - Rakefile
55
+ - bin/should-i-update
56
+ - lib/shouldiupdate.rb
57
+ - lib/shouldiupdate/version.rb
58
+ - shouldiupdate.gemspec
59
+ homepage: https://github.com/coder36/should-i-update
60
+ licenses: []
61
+ metadata: {}
62
+ post_install_message:
63
+ rdoc_options: []
64
+ require_paths:
65
+ - lib
66
+ required_ruby_version: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ required_rubygems_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ requirements: []
77
+ rubyforge_project:
78
+ rubygems_version: 2.4.8
79
+ signing_key:
80
+ specification_version: 4
81
+ summary: Should I update my gem's ?
82
+ test_files: []