gisdatigo 0.2.1 → 0.4.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
  SHA256:
3
- metadata.gz: ad3c5a48c7703fc023d41a7af9d0b6783f118807471ecced8adfdf0766e09ef7
4
- data.tar.gz: 04b0b8616b315390bb84759a866290982cee665742c27f20b16bdb60825f8c91
3
+ metadata.gz: 2d7daae6b57780970b370bc3703f8ecdc7b4de9d30d3d04ba324fdb656248f84
4
+ data.tar.gz: 8e95fe52745434c33c95fc9fc71e3d4ed07163b08f30931c28bcfb2c4fcab18f
5
5
  SHA512:
6
- metadata.gz: 0c31a5c9aaca1e6b154197926eaf669a3c0091306c1818d8aab0055bfac6e32cf2fbde536cdfb8edf40348a54d61855e05771bdc8e4346ce01085ccf61f07403
7
- data.tar.gz: 55ad1f4783438cb585c4ff82ca460593894ad4ce662251c00176f57678698ecb7fed9c8b43b3b2de773ba735b87b49940ead44fe66c841f22ab3a005289a7cd0
6
+ metadata.gz: 229b916308b401513a8709b088b91d88b6a0551c97fd35c6076bd0a0477c3626cef60f1d67200d6c8d9f61df7e63c29290b8e8c6260bcd27a4df8367f018befb
7
+ data.tar.gz: 050bbd601bbfba6ae3fb831f1a876354bbed47cf9c9e39b004638481da8847b8820064d7fcdb207e7f5843c6c3beebaf29277268b75ebdea8079ee805b2ab9a7
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.5.1
1
+ 2.7.1
data/CHANGELOG CHANGED
@@ -4,6 +4,28 @@ Very opinionated automation for most of the gem update process for Rails applica
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## v0.4.0 - 24/05/2022
8
+
9
+ * Add CLI
10
+
11
+ ## v0.3.2 - 07/06/2020
12
+
13
+ * Fix release mistakes (sorry)
14
+
15
+ ## v0.3.1 - 07/06/2020
16
+
17
+ * Fix git reset
18
+ * Fix changes being listed in `git status` but that were already commited
19
+
20
+ ## v0.3.0 - 01/05/2018
21
+
22
+ * Run bundle update with conservative flag
23
+ * Run two updates with different options
24
+
25
+ ## v0.2.1 - 01/05/2018
26
+
27
+ * Fix release mistakes (sorry)
28
+
7
29
  ## v0.2.0 - 01/05/2018
8
30
 
9
31
  * Restrict codeclimate-test-reporter version
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Gisdatigo
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/gisdatigo.svg)](https://badge.fury.io/rb/gisdatigo)
4
+
3
5
  Very opinionated automation for most of the gem update process for Rails applications managed with bundler. By updating them, running the tests and then committing them.
4
6
 
5
7
  ## Installation
@@ -7,7 +9,7 @@ Very opinionated automation for most of the gem update process for Rails applica
7
9
  Add this line to your application's Gemfile:
8
10
 
9
11
  ```ruby
10
- gem 'gisdatigo', '~> 0.0.1'
12
+ gem 'gisdatigo'
11
13
  ```
12
14
 
13
15
  And then execute:
@@ -23,7 +25,7 @@ Why I still consider this gem unstable (0.x.y)? Despite I've been using it for s
23
25
  ## Usage
24
26
 
25
27
  ```
26
- rake gistadigo:run
28
+ rake gisdatigo:run
27
29
  ```
28
30
 
29
31
  ## Development
data/bin/gisdatigo ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'bundler/setup'
5
+ require 'cli'
6
+
7
+ CLI.run ARGV
data/gisdatigo.gemspec CHANGED
@@ -22,11 +22,12 @@ Gem::Specification.new do |spec|
22
22
  spec.add_dependency "rails"
23
23
  spec.add_dependency "rugged"
24
24
 
25
- spec.add_development_dependency "bundler", "~> 1.10"
25
+ spec.add_development_dependency "bundler", "~> 2.1"
26
26
  spec.add_development_dependency "rake", "~> 12.0"
27
27
  spec.add_development_dependency "rspec", "~> 3.0"
28
28
  spec.add_development_dependency "mocha", "~> 1.5.0"
29
29
  spec.add_development_dependency "simplecov"
30
30
  spec.add_development_dependency "factory_bot", "~> 4.8.2"
31
31
  spec.add_development_dependency "codeclimate-test-reporter", '< 1.0.0'
32
+ spec.add_development_dependency "byebug"
32
33
  end
data/lib/cli.rb ADDED
@@ -0,0 +1,27 @@
1
+ require 'optparse'
2
+ require "gisdatigo"
3
+ require "gisdatigo/version"
4
+
5
+ module CLI
6
+ def CLI.run(args)
7
+ options = CLI.parse_options(args)
8
+
9
+ Gisdatigo.configure_with('.gisdatigo') if File.exists?('.gisdatigo')
10
+
11
+ Gisdatigo::Runner.run
12
+ end
13
+
14
+ def CLI.parse_options(args)
15
+ OptionParser.new do |parser|
16
+ parser.on_tail('-h', '--help', 'Show this message') do
17
+ Kernel.puts parser
18
+ Kernel.exit
19
+ end
20
+
21
+ parser.on_tail('-V', '--version', 'Print version and exit') do
22
+ Kernel.puts Gisdatigo::VERSION
23
+ Kernel.exit
24
+ end
25
+ end.parse(args)
26
+ end
27
+ end
@@ -10,8 +10,8 @@ module Gisdatigo
10
10
  outdated_gems.map { |gem_line| gem_line.gsub(GEM_LINE_BEGINNING, '').split(" ")[0] }
11
11
  end
12
12
 
13
- def self.update_gem(gem_name)
14
- system("bundle update #{gem_name} &> /dev/null")
13
+ def self.update_gem(gem_name, opts=[])
14
+ system("bundle update #{opts.join(' ')} #{gem_name} &> /dev/null")
15
15
  end
16
16
  end
17
- end
17
+ end
@@ -46,6 +46,8 @@ module Gisdatigo
46
46
  update_ref: 'HEAD'
47
47
  }
48
48
  )
49
+
50
+ @repository.index.write
49
51
  end
50
52
  end
51
53
 
@@ -54,7 +56,7 @@ module Gisdatigo
54
56
  end
55
57
 
56
58
  def reset
57
- @repository.reset(@repository.head, :hard)
59
+ @repository.reset('HEAD', :hard)
58
60
  end
59
61
  end
60
62
  end
@@ -2,23 +2,41 @@ module Gisdatigo
2
2
  module Runner
3
3
  class Updater < Base
4
4
  def update
5
- puts "Running updates:"
5
+ puts "Running conservative updates:"
6
+ update_gems_with_options(['--conservative'])
6
7
 
7
- print "\tFetching outdated list..."
8
- outdated_list = BundlerManager.gem_name_list
9
- print "OK!\n"
8
+ puts "\nRunning default updates:"
9
+ update_gems_with_options([])
10
+ end
10
11
 
12
+ private
13
+
14
+ def update_gems_with_options(options)
11
15
  current_package = 1
16
+ outdated_list = fetch_outdated_list
17
+
12
18
  outdated_list.each do |gem_name|
13
19
  puts "\t#{current_package}/#{outdated_list.count} - Updating #{gem_name}"
14
- BundlerManager.update_gem(gem_name)
15
- if @git_manager.has_changes?
16
- test("ERROR: Failed to update #{gem_name}! Tests were broken!")
17
- @git_manager.commit(gem_name)
18
- end
20
+ BundlerManager.update_gem(gem_name, options)
21
+ commit(gem_name)
19
22
  current_package = current_package + 1
20
23
  end
21
24
  end
25
+
26
+ def fetch_outdated_list
27
+ print "\tFetching outdated list..."
28
+ outdated_list = BundlerManager.gem_name_list
29
+ print "OK!\n"
30
+
31
+ outdated_list
32
+ end
33
+
34
+ def commit(gem_name)
35
+ if @git_manager.has_changes?
36
+ test("ERROR: Failed to update #{gem_name}! Tests were broken!")
37
+ @git_manager.commit(gem_name)
38
+ end
39
+ end
22
40
  end
23
41
  end
24
- end
42
+ end
@@ -1,3 +1,3 @@
1
1
  module Gisdatigo
2
- VERSION = "0.2.1"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gisdatigo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rafael Reggiani Manzo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-01 00:00:00.000000000 Z
11
+ date: 2022-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.10'
47
+ version: '2.1'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.10'
54
+ version: '2.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -136,12 +136,27 @@ dependencies:
136
136
  - - "<"
137
137
  - !ruby/object:Gem::Version
138
138
  version: 1.0.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: byebug
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
139
153
  description: Automates most of the gem update process for Rails applications managed
140
154
  with bundler. By producing updating them, running the tests and then commiting them.
141
155
  email:
142
156
  - rr.manzo@gmail.com
143
157
  executables:
144
158
  - console
159
+ - gisdatigo
145
160
  - setup
146
161
  extensions: []
147
162
  extra_rdoc_files: []
@@ -158,8 +173,10 @@ files:
158
173
  - README.md
159
174
  - Rakefile
160
175
  - bin/console
176
+ - bin/gisdatigo
161
177
  - bin/setup
162
178
  - gisdatigo.gemspec
179
+ - lib/cli.rb
163
180
  - lib/gisdatigo.rb
164
181
  - lib/gisdatigo/bundler_manager.rb
165
182
  - lib/gisdatigo/git_manager.rb
@@ -191,8 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
191
208
  - !ruby/object:Gem::Version
192
209
  version: '0'
193
210
  requirements: []
194
- rubyforge_project:
195
- rubygems_version: 2.7.6
211
+ rubygems_version: 3.3.7
196
212
  signing_key:
197
213
  specification_version: 4
198
214
  summary: Automates most of the gem update process for Rails applications managed with