gisdatigo 0.2.1 → 0.4.0

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
  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