bummr 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fb032ffb7c63bc677007986ace18caf47aed1260
4
- data.tar.gz: 3c7e24d80da94bb7c4f9d99c2e403beb2ac455be
3
+ metadata.gz: cb83d2ce7db59a0420fbfb78ca04026aafa4c945
4
+ data.tar.gz: 6f4a32d78dabf543fc17469e939419ab10e9f091
5
5
  SHA512:
6
- metadata.gz: d2b705f60fde76f30a3cfec00c977159ea217e11cf9beadb8721380bcc7844cdc524f2e0bf6c0403666edb917832bf84cd1a7889bbde36993e2b87dea2d7ebde
7
- data.tar.gz: 3bc615fde7de787a6cb3e1862d3b781f3421a161a9df39f5b307e3bf3cca61ff570006e4ea29ff1e08d00b536ea51dbb8882c6f0f92e8b2d982b87c1fb082ecd
6
+ metadata.gz: 309abf056757d64abdc38fe77a373c8575d9607e582620246a53fa0ad42f45b5103239ae3f589d64e7303ab0119bc27058eb6a162516b7c8c7d8bc28c8842e61
7
+ data.tar.gz: 50f5c6b7b537e4271cc7c3ca4672b41db8a48e190e8ae8f8492c3393052b483a5c450d52afb433a85a10851258b27e49e8f2979aeeb4a5f8a164f69e36b226fa
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.2.2
1
+ 2.3.1
data/README.md CHANGED
@@ -85,7 +85,14 @@ suite.
85
85
 
86
86
  `rake build` to build locally
87
87
 
88
- `gem install --local ~/dev/mine/bummr/pkg/bummr-0.0.X.gem` in the app you wish to use it with.
88
+ `gem install --local ~/dev/mine/bummr/pkg/bummr-X.X.X.gem` in the app you
89
+ wish to use it with.
90
+
91
+ `rake` will run the suite of unit tests.
92
+
93
+ I'd like to create feature tests, but because Bummr relies on command line
94
+ manipulations which need to be doubled, I'm waiting on [this
95
+ issue](https://github.com/bjoernalbers/aruba-doubles/issues/5)
89
96
 
90
97
  ## Wanted
91
98
 
data/Rakefile CHANGED
@@ -1,2 +1,10 @@
1
- require "bundler/gem_tasks"
1
+ require 'rspec/core/rake_task'
2
+ require 'bundler/gem_tasks'
2
3
 
4
+ # Default directory to look in is `/specs`
5
+ # Run with `rake spec`
6
+ RSpec::Core::RakeTask.new(:spec) do |task|
7
+ task.rspec_opts = ['--color', '--format', 'progress']
8
+ end
9
+
10
+ task :default => :spec
data/bin/bummr CHANGED
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require_relative '../lib/bummr/cli'
3
+ require_relative '../lib/bummr'
4
4
  Bummr::CLI.start(ARGV)
data/bummr.gemspec CHANGED
@@ -18,11 +18,15 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency 'thor', "~> 0.19"
22
- spec.add_dependency 'colorize', "~> 0.7"
21
+ spec.add_dependency 'thor'
22
+ spec.add_dependency 'colorize'
23
23
 
24
- spec.add_development_dependency "bundler", "~> 1.7"
25
- spec.add_development_dependency "rake", "~> 10.0"
26
- spec.add_development_dependency 'rspec', "~> 0"
27
- spec.add_development_dependency 'pry', "~> 0"
24
+ spec.add_development_dependency "rspec"
25
+ spec.add_development_dependency "rspec-nc"
26
+ spec.add_development_dependency "bundler"
27
+ spec.add_development_dependency "rake"
28
+ spec.add_development_dependency "guard"
29
+ spec.add_development_dependency "pry"
30
+ spec.add_development_dependency "pry-remote"
31
+ spec.add_development_dependency "pry-nav"
28
32
  end
data/lib/bummr.rb CHANGED
@@ -1,5 +1,3 @@
1
1
  require "bummr/version"
2
-
3
- module Bummr
4
- # Your code goes here...
5
- end
2
+ require "bummr/cli"
3
+ require "bummr/outdated"
data/lib/bummr/cli.rb CHANGED
@@ -1,4 +1,3 @@
1
- require 'bundler'
2
1
  require 'thor'
3
2
  require 'open3'
4
3
  require 'colorize'
@@ -52,6 +51,7 @@ module Bummr
52
51
  exit 0
53
52
  else
54
53
  puts "Ready to run bummr.".green
54
+
55
55
  end
56
56
  end
57
57
 
@@ -71,6 +71,8 @@ module Bummr
71
71
  log("Bummr update initiated #{Time.now}")
72
72
  `bundle`
73
73
 
74
+ outdated_gems = Bummr::Outdated.instance.outdated_gems
75
+
74
76
  if outdated_gems.empty?
75
77
  say "No outdated gems to update".green
76
78
  else
@@ -174,35 +176,5 @@ module Bummr
174
176
  say "Run 'bummr test' again once the rebase is complete"
175
177
  end
176
178
  end
177
-
178
- def outdated_gems
179
- @outdated_gems ||= begin
180
- results = []
181
-
182
- Open3.popen2("bundle outdated --strict") do |std_in, std_out|
183
- while line = std_out.gets
184
- puts line
185
-
186
- regex = / \* (.*) \(newest (\d\.\d\.\d), installed (\d\.\d\.\d)/.match line
187
- unless regex.nil?
188
- gem = { name: regex[1], newest: regex[2], installed: regex[3] }
189
- if gemfile_contains(gem[:name])
190
- results.push gem
191
- end
192
- end
193
- end
194
- end
195
-
196
- results
197
- end
198
- end
199
-
200
- def gemfile_contains(gem_name)
201
- /['"]#{gem_name}['"]/.match gemfile
202
- end
203
-
204
- def gemfile
205
- @gemfile ||= `cat Gemfile`
206
- end
207
179
  end
208
180
  end
@@ -0,0 +1,43 @@
1
+ require 'open3'
2
+ require 'singleton'
3
+
4
+ module Bummr
5
+ class Outdated
6
+ include Singleton
7
+
8
+ def outdated_gems
9
+ @outdated_gems ||= begin
10
+ results = []
11
+
12
+ Open3.popen2("bundle outdated --strict") do |std_in, std_out|
13
+ while line = std_out.gets
14
+ puts line
15
+ gem = parse_gem_from(line)
16
+
17
+ if gem && gemfile_contains(gem[:name])
18
+ results.push gem
19
+ end
20
+ end
21
+ end
22
+
23
+ results
24
+ end
25
+ end
26
+
27
+ def parse_gem_from(line)
28
+ regex = / \* (.*) \(newest (\d.*\d), installed (\d.*\d)[\),\s]/.match line
29
+
30
+ unless regex.nil?
31
+ { name: regex[1], newest: regex[2], installed: regex[3] }
32
+ end
33
+ end
34
+
35
+ def gemfile_contains(gem_name)
36
+ /gem ['"]#{gem_name}['"]/.match gemfile
37
+ end
38
+
39
+ def gemfile
40
+ @gemfile ||= `cat Gemfile`
41
+ end
42
+ end
43
+ end
data/lib/bummr/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Bummr
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -0,0 +1,25 @@
1
+ require 'spec_helper'
2
+
3
+ describe Bummr::Outdated do
4
+ describe "#parse_gem_from" do
5
+ it 'line' do
6
+ line = ' * devise (newest 4.1.1, installed 3.5.2) in group "default"'
7
+
8
+ gem = Bummr::Outdated.instance.parse_gem_from(line)
9
+
10
+ expect(gem[:name]).to eq('devise')
11
+ expect(gem[:newest]).to eq('4.1.1')
12
+ expect(gem[:installed]).to eq('3.5.2')
13
+ end
14
+
15
+ it 'line in group' do
16
+ line = ' * rake (newest 11.1.2, installed 10.4.2)'
17
+
18
+ gem = Bummr::Outdated.instance.parse_gem_from(line)
19
+
20
+ expect(gem[:name]).to eq('rake')
21
+ expect(gem[:newest]).to eq('11.1.2')
22
+ expect(gem[:installed]).to eq('10.4.2')
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,2 @@
1
+ require 'pry'
2
+ require 'bummr'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bummr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lee Pender
@@ -14,84 +14,140 @@ dependencies:
14
14
  name: thor
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.19'
19
+ version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0.19'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: colorize
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '0.7'
33
+ version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
39
46
  - !ruby/object:Gem::Version
40
- version: '0.7'
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec-nc
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: bundler
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
- - - "~>"
73
+ - - ">="
46
74
  - !ruby/object:Gem::Version
47
- version: '1.7'
75
+ version: '0'
48
76
  type: :development
49
77
  prerelease: false
50
78
  version_requirements: !ruby/object:Gem::Requirement
51
79
  requirements:
52
- - - "~>"
80
+ - - ">="
53
81
  - !ruby/object:Gem::Version
54
- version: '1.7'
82
+ version: '0'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: rake
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
- - - "~>"
87
+ - - ">="
60
88
  - !ruby/object:Gem::Version
61
- version: '10.0'
89
+ version: '0'
62
90
  type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
- - - "~>"
94
+ - - ">="
67
95
  - !ruby/object:Gem::Version
68
- version: '10.0'
96
+ version: '0'
69
97
  - !ruby/object:Gem::Dependency
70
- name: rspec
98
+ name: guard
71
99
  requirement: !ruby/object:Gem::Requirement
72
100
  requirements:
73
- - - "~>"
101
+ - - ">="
74
102
  - !ruby/object:Gem::Version
75
103
  version: '0'
76
104
  type: :development
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
- - - "~>"
108
+ - - ">="
81
109
  - !ruby/object:Gem::Version
82
110
  version: '0'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: pry
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
- - - "~>"
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry-remote
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: pry-nav
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
88
144
  - !ruby/object:Gem::Version
89
145
  version: '0'
90
146
  type: :development
91
147
  prerelease: false
92
148
  version_requirements: !ruby/object:Gem::Requirement
93
149
  requirements:
94
- - - "~>"
150
+ - - ">="
95
151
  - !ruby/object:Gem::Version
96
152
  version: '0'
97
153
  description: See Readme
@@ -111,7 +167,10 @@ files:
111
167
  - bummr.gemspec
112
168
  - lib/bummr.rb
113
169
  - lib/bummr/cli.rb
170
+ - lib/bummr/outdated.rb
114
171
  - lib/bummr/version.rb
172
+ - spec/outdated_spec.rb
173
+ - spec/spec_helper.rb
115
174
  homepage: https://github.com/lpender/bummr
116
175
  licenses:
117
176
  - MIT
@@ -132,8 +191,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
132
191
  version: '0'
133
192
  requirements: []
134
193
  rubyforge_project:
135
- rubygems_version: 2.4.8
194
+ rubygems_version: 2.5.1
136
195
  signing_key:
137
196
  specification_version: 4
138
197
  summary: Helper script to intelligently update your Gemfile
139
- test_files: []
198
+ test_files:
199
+ - spec/outdated_spec.rb
200
+ - spec/spec_helper.rb