drg 0.2.1 → 0.3.0
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 +4 -4
- data/README.md +8 -1
- data/drg.gemspec +1 -1
- data/lib/drg/tasks/updater.rb +9 -3
- data/lib/drg/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a225b05622730e75686a1128aed86ca6670044d
|
4
|
+
data.tar.gz: bfafb71e3ead992a670f928004d2c4d948e1017c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0bd3f7928f75664c1a66b2c01e0053c803780167c852b4b5f7fe215d3957ef41523cf2d085ef59e8c52ebd403a46d42e9b65cc6c670568bf165303f0ff200a75
|
7
|
+
data.tar.gz: 6318a1728ff781d47a03e149d0b728c5508c6a9fdda5263796ef9510acd7dc09c26c677fcb23ab088035e050da6443d7d46fdba547528cb1e8ef0e6a0fb3e4ee
|
data/README.md
CHANGED
@@ -28,7 +28,14 @@ DRG can help you manage your project's gems by updating your Gemfile with pinned
|
|
28
28
|
rake drg:pin
|
29
29
|
```
|
30
30
|
|
31
|
-
|
31
|
+
### Updating Gems
|
32
|
+
|
33
|
+
DRG can also try to update all outdated gems to the most recent version. It'll update the gem and run your tests. If your
|
34
|
+
tests pass, then it'll update your gemfile with the current version. Similar to what Gemnasium offers.
|
35
|
+
|
36
|
+
```bash
|
37
|
+
rake drg:update
|
38
|
+
```
|
32
39
|
|
33
40
|
## Development
|
34
41
|
|
data/drg.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
|
19
19
|
spec.add_dependency 'ruby_parser', '>= 3.7.0', '< 4.0.0'
|
20
20
|
spec.add_dependency 'ruby2ruby', '>= 2.2.0', '< 3.0.0'
|
21
|
-
spec.add_dependency 'bundler', '~> 1.
|
21
|
+
spec.add_dependency 'bundler', '~> 1.10'
|
22
22
|
|
23
23
|
spec.add_development_dependency 'rake', '~> 10.0'
|
24
24
|
spec.add_development_dependency 'rspec', '>= 3.2', '< 4'
|
data/lib/drg/tasks/updater.rb
CHANGED
@@ -6,17 +6,22 @@ module DRG
|
|
6
6
|
def initialize
|
7
7
|
@gemfile = Gemfile.new
|
8
8
|
@versions = {}
|
9
|
+
@failures = Set.new
|
9
10
|
end
|
10
11
|
|
11
|
-
def perform
|
12
|
+
def perform(tries = 2)
|
12
13
|
`bundle outdated`.scan(/\s\*\s(.+)\s/).flatten.each &method(:try_update)
|
14
|
+
perform(tries -= 1) if @failures.any? && tries > 1
|
15
|
+
gemfile.write
|
16
|
+
`bundle` # Install all new dependencies for updated gems
|
13
17
|
end
|
14
18
|
|
15
19
|
# @param [Item] item from the `bundle outdated` command (e.g. 'slop (newest 4.2.0, installed 3.6.0) in group "default"')
|
16
20
|
def try_update(item)
|
17
|
-
name = item[/(
|
21
|
+
name = item[/([\-\w0-9]+)\s/, 1]
|
18
22
|
gem = gemfile.find_by_name(name)
|
19
23
|
return unless gem
|
24
|
+
`bundle` # make sure current list is up-to-date
|
20
25
|
latest_version = item[/newest\s([\d.]+)/, 1]
|
21
26
|
log(%Q(Trying to update gem "#{name}" to #{latest_version}))
|
22
27
|
if system("bundle update #{name}")
|
@@ -24,12 +29,13 @@ module DRG
|
|
24
29
|
if system('rake')
|
25
30
|
log(%Q(Tests passed after updating "#{name}" to version #{latest_version}))
|
26
31
|
gemfile.update(gem, latest_version)
|
27
|
-
gemfile.write
|
28
32
|
else
|
29
33
|
log(%Q(Tests failed after updating "#{name}" to version #{latest_version}))
|
34
|
+
@failures << name
|
30
35
|
end
|
31
36
|
else
|
32
37
|
log(%Q[Failed to install "#{name}" (#{latest_version})])
|
38
|
+
@failures << name
|
33
39
|
end
|
34
40
|
end
|
35
41
|
|
data/lib/drg/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: drg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Buckley
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby_parser
|
@@ -56,14 +56,14 @@ dependencies:
|
|
56
56
|
requirements:
|
57
57
|
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: '1.
|
59
|
+
version: '1.10'
|
60
60
|
type: :runtime
|
61
61
|
prerelease: false
|
62
62
|
version_requirements: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
64
|
- - "~>"
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version: '1.
|
66
|
+
version: '1.10'
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
68
|
name: rake
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|