keep_up 0.5.1 → 0.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8f44b77de355b205d8faca6c69c1d218b346e92f
4
- data.tar.gz: 23edfb04bfa78e2dba4c3f8667cbe5829bb87af0
3
+ metadata.gz: bdd0e57a8da8920532f77628e540e1cd7bb49487
4
+ data.tar.gz: 71996aa853b7fd964acd0526e675f50d6dd16c3d
5
5
  SHA512:
6
- metadata.gz: aeeef20c2bde11fce4c977b05fa5729e81040219a2670593ab7a5da163da6a0e24549a00478c9784e141c2bb90b57c85f39424f60d323494a03359194b8dc18e
7
- data.tar.gz: 84adbe6b59334e1dc447a2a99b78a0bc84f9dafb4bfeb404209c852f069b62160cef476a9234312cc1387107c5ad784359dce866ad57d9b25b5ab02118491748
6
+ metadata.gz: 56c60b68a732b8a7c1735ba745e59ab2b9a3652affd68ab80c4e803424b13958e1f30a5305b0223e27dd165ab6c3effd7e1565270f5c62d6a2a7e2cec4486677
7
+ data.tar.gz: bf9091e21a08aab213bf091d789196a3375f6aa796f461073798df6c84350f45f260715d9198719baac6a5f06c8067965f4b9ec2a8738c7b0dcd67bfe0b5e551
data/.dockerignore ADDED
@@ -0,0 +1,3 @@
1
+ tmp/
2
+ Dockerfile
3
+ .dockerignore
data/.rubocop.yml CHANGED
@@ -6,6 +6,10 @@ AllCops:
6
6
  Lint/AssignmentInCondition:
7
7
  AllowSafeAssignment: true
8
8
 
9
+ Metrics/BlockLength:
10
+ Exclude:
11
+ - 'spec/**/*'
12
+
9
13
  # Require lines to fit in pull requests.
10
14
  Metrics/LineLength:
11
15
  Max: 92
data/.travis.yml CHANGED
@@ -1,5 +1,18 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.3.1
5
- before_install: gem install bundler -v 1.12.5
4
+ - 2.2.6
5
+ - 2.3.3
6
+ - 2.4.0
7
+
8
+ before_install:
9
+ - rvm use @global
10
+ - gem uninstall bundler -x
11
+ - gem install bundler --version=1.13.7
12
+ - bundler --version
13
+ - git config --global user.email "you@example.com"
14
+ - git config --global user.name "Your Name"
15
+
16
+ branches:
17
+ only:
18
+ - master
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.0 / 2017-02-04
4
+
5
+ * Show actual resulting new version for each update
6
+ * Fail if only dependencies were updated
7
+ * Fail if Bundler downgrades the selected dependency
8
+ * Replace use of custom 'ci' git alias with 'commit'
9
+
3
10
  ## 0.5.1 / 2016-12-17
4
11
 
5
12
  * Handle extra and unusual whitespace when updating Gemfile and gemspec
data/Dockerfile ADDED
@@ -0,0 +1,21 @@
1
+ FROM ruby:2.4.0
2
+
3
+ RUN mkdir /keep_up
4
+ WORKDIR /keep_up
5
+
6
+ # Set up minimum files to run bundler
7
+ ADD Gemfile /keep_up
8
+ ADD keep_up.gemspec /keep_up
9
+ RUN mkdir -p /keep_up/lib/keep_up
10
+ ADD lib/keep_up/version.rb /keep_up/lib/keep_up
11
+ ADD .git /keep_up
12
+
13
+ RUN bundle install
14
+
15
+ RUN gem uninstall bunder -xa
16
+ RUN gem install bundler --version=1.13.7
17
+ RUN git config --global user.email "you@example.com"
18
+ RUN git config --global user.name "Your Name"
19
+
20
+ ADD . /keep_up
21
+ RUN bundle exec rake
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016 Matijs van Zuijlen
3
+ Copyright (c) 2016-2017 Matijs van Zuijlen
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -69,7 +69,6 @@ https://github.com/mvz/keep_up. This project is intended to be a safe,
69
69
  welcoming space for collaboration, and contributors are expected to adhere to
70
70
  the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
71
71
 
72
-
73
72
  ## License
74
73
 
75
74
  The gem is available as open source under the terms of the
data/keep_up.gemspec CHANGED
@@ -28,6 +28,6 @@ Gem::Specification.new do |spec|
28
28
  spec.add_development_dependency 'rake', '~> 12.0'
29
29
  spec.add_development_dependency 'rspec', '~> 3.0'
30
30
  spec.add_development_dependency 'aruba', '~> 0.14.2'
31
- spec.add_development_dependency 'rubocop', '~> 0.46.0'
31
+ spec.add_development_dependency 'rubocop', '~> 0.47.1'
32
32
  spec.add_development_dependency 'pry'
33
33
  end
@@ -25,7 +25,7 @@ module KeepUp
25
25
  def run
26
26
  sanity_check
27
27
  update_all_dependencies
28
- report_up_to_date
28
+ report_done
29
29
  end
30
30
 
31
31
  private
@@ -54,8 +54,7 @@ module KeepUp
54
54
  @bundle ||= Bundle.new(definition_builder: definition_builder)
55
55
  end
56
56
 
57
- def report_up_to_date
58
- puts 'Bundle up to date!'
57
+ def report_done
59
58
  puts 'All done!'
60
59
  end
61
60
 
@@ -15,10 +15,12 @@ module KeepUp
15
15
  end
16
16
 
17
17
  def apply_updated_dependency(dependency)
18
- puts "Updating #{dependency.name} to #{dependency.version}"
18
+ report_intent dependency
19
19
  update_gemfile_contents(dependency)
20
20
  update_gemspec_contents(dependency)
21
- update_lockfile(dependency)
21
+ result = update_lockfile(dependency)
22
+ report_result dependency, result
23
+ result
22
24
  end
23
25
 
24
26
  def check?
@@ -29,6 +31,19 @@ module KeepUp
29
31
 
30
32
  attr_reader :definition_builder
31
33
 
34
+ def report_intent(dependency)
35
+ print "Updating #{dependency.name}"
36
+ end
37
+
38
+ def report_result(dependency, result)
39
+ if result
40
+ puts " to #{result.version}"
41
+ else
42
+ puts " to #{dependency.version}"
43
+ puts 'Update failed'
44
+ end
45
+ end
46
+
32
47
  def gemfile_dependencies
33
48
  build_dependencies bundler_lockfile.dependencies
34
49
  end
@@ -98,12 +113,15 @@ module KeepUp
98
113
  end
99
114
  end
100
115
 
116
+ # Update lockfile and return resulting spec, or false in case of failure
101
117
  def update_lockfile(update)
102
118
  Bundler.clear_gemspec_cache
103
- definition_builder.build(gems: [update.name]).lock('Gemfile.lock')
104
- true
119
+ definition = definition_builder.build(gems: [update.name])
120
+ definition.lock('Gemfile.lock')
121
+ current = locked_spec(update)
122
+ result = definition.specs.find { |it| it.name == update.name }
123
+ result if result.version > current.version
105
124
  rescue Bundler::VersionConflict
106
- puts 'Update failed'
107
125
  false
108
126
  end
109
127
  end
@@ -14,8 +14,9 @@ module KeepUp
14
14
 
15
15
  def run
16
16
  possible_updates.each do |update|
17
- if bundle.apply_updated_dependency update
18
- version_control.commit_changes update
17
+ result = bundle.apply_updated_dependency update
18
+ if result
19
+ version_control.commit_changes result
19
20
  else
20
21
  version_control.revert_changes
21
22
  end
@@ -1,3 +1,3 @@
1
1
  module KeepUp
2
- VERSION = '0.5.1'.freeze
2
+ VERSION = '0.6.0'.freeze
3
3
  end
@@ -2,7 +2,7 @@ module KeepUp
2
2
  # Interface to the version control system (only Git is supported).
3
3
  class VersionControl
4
4
  def commit_changes(dependency)
5
- `git ci -am "Update #{dependency.name} to #{dependency.version}"`
5
+ `git commit -am "Auto-update #{dependency.name} to #{dependency.version}"`
6
6
  end
7
7
 
8
8
  def revert_changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: keep_up
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matijs van Zuijlen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-17 00:00:00.000000000 Z
11
+ date: 2017-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.46.0
75
+ version: 0.47.1
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.46.0
82
+ version: 0.47.1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: pry
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -103,12 +103,14 @@ executables:
103
103
  extensions: []
104
104
  extra_rdoc_files: []
105
105
  files:
106
+ - ".dockerignore"
106
107
  - ".gitignore"
107
108
  - ".rspec"
108
109
  - ".rubocop.yml"
109
110
  - ".travis.yml"
110
111
  - CHANGELOG.md
111
112
  - CODE_OF_CONDUCT.md
113
+ - Dockerfile
112
114
  - Gemfile
113
115
  - LICENSE.txt
114
116
  - README.md