breezer 0.7.2 → 0.7.3

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: 5a257e4fc4af102117ba2d59a01578bd12f83182496fa4416e5b273d5eee27e9
4
- data.tar.gz: a0d9cfdb594f19d6905188d9fb8fc87922e50a4451fbd63e82f9409bc255c600
3
+ metadata.gz: e55a1de81c8fff6777cfab781d875fcaf8c29e270a51203c74b9f1d263abc8f6
4
+ data.tar.gz: da017654e6c573fb38744d241012fd71cf8f253119a9f0a96d3d7162bea9cec8
5
5
  SHA512:
6
- metadata.gz: 46952f038351ba2c475c1a723406b29d99df6db132607b4a3892adf6bc489353aa5a699257e67a56931e4e098d31df615c4b209ab8d8641e22c4bf6d7741f970
7
- data.tar.gz: 3162581925835e11dfa934da53bc9dadae0a94fe0d44fa6a483fce97d255fd2c9a7ce96c835cf9990880141e8b444c2453a35212cdd7003d0c84d3ebd73b8523
6
+ metadata.gz: c550d787c69ee714247a88b080519a3cd630a499ff1799d2bdcd6d0fc9ffff1ab3db3924d0920089ed7cfadafe6744f8c6218a8b62ee01140ba2185e25b5710a
7
+ data.tar.gz: d88d24b54f6c4a44ddab2987adebf58fa4a65b7717e9fe23fce52297eb3f8d141e243a1e1811c7af86261131ccc7ca48f3aff29333fba5b7a92249d0e3e2eced
data/.rubocop.yml ADDED
@@ -0,0 +1,14 @@
1
+ Metrics/CyclomaticComplexity:
2
+ Max: 8
3
+
4
+ Metrics/MethodLength:
5
+ Max: 30
6
+
7
+ Layout/LineLength:
8
+ Max: 100
9
+
10
+ Layout/EmptyLinesAroundModuleBody:
11
+ Enabled: false
12
+
13
+ Style/FormatStringToken:
14
+ Enabled: false
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  gemspec
data/Gemfile.lock CHANGED
@@ -1,27 +1,43 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- breezer (0.7.2)
4
+ breezer (0.7.3)
5
5
  bundler (> 1.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
+ ast (2.4.0)
10
11
  bump (0.8.0)
12
+ jaro_winkler (1.5.4)
11
13
  minitest (5.14.0)
12
14
  minitest-around (0.5.0)
13
15
  minitest (~> 5.0)
16
+ parallel (1.19.1)
17
+ parser (2.7.0.2)
18
+ ast (~> 2.4.0)
19
+ rainbow (3.0.0)
14
20
  rake (13.0.1)
21
+ rubocop (0.79.0)
22
+ jaro_winkler (~> 1.5.1)
23
+ parallel (~> 1.10)
24
+ parser (>= 2.7.0.1)
25
+ rainbow (>= 2.2.2, < 4.0)
26
+ ruby-progressbar (~> 1.7)
27
+ unicode-display_width (>= 1.4.0, < 1.7)
28
+ ruby-progressbar (1.10.1)
29
+ unicode-display_width (1.6.1)
15
30
 
16
31
  PLATFORMS
17
32
  ruby
18
33
 
19
34
  DEPENDENCIES
20
35
  breezer!
21
- bump
22
- minitest
23
- minitest-around
24
- rake (>= 10.0.0)
36
+ bump (~> 0.8)
37
+ minitest (~> 5.14)
38
+ minitest-around (~> 0.5)
39
+ rake (~> 13.0)
40
+ rubocop (~> 0.79.0)
25
41
 
26
42
  BUNDLED WITH
27
43
  2.1.4
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rake/testtask'
2
4
  require 'bundler/setup'
3
5
  require 'bundler/gem_tasks'
@@ -5,8 +7,8 @@ require 'bump/tasks'
5
7
 
6
8
  Rake::TestTask.new do |t|
7
9
  t.libs << 'test'
8
- t.test_files = FileList["test/test_*.rb"]
10
+ t.test_files = FileList['test/test_*.rb']
9
11
  end
10
12
 
11
- desc "Run tests"
12
- task :default => :test
13
+ desc 'Run tests'
14
+ task default: :test
data/bin/breezer CHANGED
@@ -3,64 +3,6 @@
3
3
 
4
4
  require 'bundler'
5
5
  require 'breezer'
6
- require 'optparse'
7
6
 
8
- gemfile_dir = ARGV.first || '.'
9
-
10
- gemfile_file = File.directory?(gemfile_dir) ? File.join(gemfile_dir, 'Gemfile') : gemfile_dir
11
- lockfile_file = "#{gemfile_file}.lock"
12
-
13
- options = {
14
- debug: false
15
- }
16
-
17
- OptionParser.new do |parser|
18
- parser.banner = 'Usage: breezer DIR [options]'
19
-
20
- parser.on('-l', '--level LEVEL', "Set the minimum level of gem updates (default: patch). Set to 'exact' to lock gems versions (not recommended).") do |v|
21
- unless %w[major minor patch exact].include?(v)
22
- raise "Error: level must be one of: 'major', 'minor', 'patch' or 'exact', #{v} given."
23
- end
24
-
25
- options[:level] = v
26
- end
27
-
28
- parser.on('-L', '--lockfile NAME', 'Use different lockfile (default: Gemfile.lock)') do |v|
29
- lockfile_file = v
30
- end
31
-
32
- parser.on('-d', '--dry-run', 'Print the updated Gemfile instead of writing it') do
33
- options[:dry] = true
34
- end
35
-
36
- parser.on('-o', '--output FILE', 'The output file (default: Gemfile)') do |v|
37
- options[:output] = v
38
- end
39
-
40
- parser.on('-c', '--check', 'Check that all gems have version constraints') do |_v|
41
- options[:check] = true
42
- end
43
-
44
- parser.on('-h', '--help', 'Show this help message') do
45
- puts parser
46
- exit(0)
47
- end
48
-
49
- parser.on('-v', '--version', 'Show version') do
50
- puts Breezer::VERSION
51
- exit(0)
52
- end
53
- end.parse!
54
-
55
- unless File.file?(gemfile_file)
56
- puts "Unable to find a Gemfile (searched in #{gemfile_file})"
57
- exit(1)
58
- end
59
-
60
- unless File.file?(lockfile_file)
61
- puts "Unable to find a Lockfile (Gemfile.lock). If you don't have a Gemfile.lock yet, you can run 'bundle install' first. (searched in #{lockfile_file})"
62
- exit(1)
63
- end
64
-
65
- r = Breezer.freeze!(gemfile_file, lockfile_file, options)
7
+ r = Breezer::Command.run!(ARGV)
66
8
  exit(r == false ? 2 : 0)
data/breezer.gemspec CHANGED
@@ -1,7 +1,8 @@
1
1
  # frozen_string_literal: true
2
- # -*- encoding: utf-8 -*-
3
- $LOAD_PATH.push File.expand_path("../lib", __FILE__)
4
- require "breezer/version"
2
+
3
+ # rubocop:todo Gemspec/RequiredRubyVersion
4
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
5
+ require 'breezer/version'
5
6
 
6
7
  Gem::Specification.new do |s|
7
8
  s.name = 'breezer'
@@ -24,13 +25,15 @@ Gem::Specification.new do |s|
24
25
  s.summary = 'Breezer!'
25
26
  s.license = 'MIT'
26
27
 
27
- s.required_ruby_version = '>= 2.4.0'
28
+ s.required_ruby_version = '>= 2.1.0'
28
29
  s.required_rubygems_version = '>= 2.7.0'
29
30
 
30
- s.add_development_dependency 'bump'
31
- s.add_development_dependency 'minitest'
32
- s.add_development_dependency 'minitest-around'
33
- s.add_development_dependency 'rake', '>= 10.0.0'
31
+ s.add_development_dependency 'bump', '~> 0.8'
32
+ s.add_development_dependency 'minitest', '~> 5.14'
33
+ s.add_development_dependency 'minitest-around', '~> 0.5'
34
+ s.add_development_dependency 'rake', '~> 13.0'
35
+ s.add_development_dependency 'rubocop', '~> 0.79.0'
34
36
 
35
37
  s.add_runtime_dependency('bundler', '> 1.0')
36
38
  end
39
+ # rubocop:enable Gemspec/RequiredRubyVersion
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'optparse'
4
+
5
+ module Breezer
6
+
7
+ #
8
+ # Used to parse the command line args and run the breezer accordingly
9
+ #
10
+ class Command
11
+ class << self
12
+ def run!(args)
13
+ gemfile_file = get_gemfile_file(args)
14
+
15
+ options = parse_options({ debug: false }.merge(args))
16
+ lockfile_file = options[:lockfile_file] || "#{gemfile_file}.lock"
17
+
18
+ unless File.file?(gemfile_file)
19
+ puts "Unable to find a Gemfile (searched in #{gemfile_file})"
20
+ raise NoGemfileException, "Unable to find a Gemfile (searched in #{gemfile_file})"
21
+ end
22
+
23
+ unless File.file?(lockfile_file)
24
+ puts "Unable to find a Lockfile (Gemfile.lock). If you don't have a Gemfile.lock yet, "\
25
+ "you can run 'bundle install' first. (searched in #{lockfile_file})"
26
+ raise NoLockfileException, "Unable to find a Lockfile (Gemfile.lock) (searched in #{lockfile_file})"
27
+ end
28
+
29
+ Breezer.freeze!(gemfile_file, lockfile_file, options)
30
+ end
31
+
32
+ def get_gemfile_file(args)
33
+ gemfile_dir = args.first || '.'
34
+
35
+ File.directory?(gemfile_dir) ? File.join(gemfile_dir, 'Gemfile') : gemfile_dir
36
+ end
37
+
38
+ def parse_options(options = { debug: false }) # rubocop:todo Metrics/AbcSize
39
+ OptionParser.new do |parser| # rubocop:todo Metrics/BlockLength
40
+ parser.banner = 'Usage: breezer DIR [options]'
41
+
42
+ parser.on('-l', '--level LEVEL', 'Set the minimum level of gem updates (default: patch).'\
43
+ ' Set to "exact" to lock gems versions (not recommended).') do |v|
44
+ unless %w[major minor patch exact].include?(v)
45
+ raise InvalidLevelException, "Error: level must be one of: 'major', 'minor', 'patch' or 'exact', #{v} given."
46
+ end
47
+
48
+ options[:level] = v
49
+ end
50
+
51
+ parser.on('-L', '--lockfile NAME', 'Use different lockfile (default: Gemfile.lock)') do |v|
52
+ options[:lockfile_file] = v
53
+ end
54
+
55
+ parser.on('-d', '--dry-run', 'Print the updated Gemfile instead of writing it') do
56
+ options[:dry] = true
57
+ end
58
+
59
+ parser.on('-o', '--output FILE', 'The output file (default: Gemfile)') do |v|
60
+ options[:output] = v
61
+ end
62
+
63
+ parser.on('-c', '--check', 'Check that all gems have version constraints') do |_v|
64
+ options[:check] = true
65
+ end
66
+
67
+ parser.on('-h', '--help', 'Show this help message') do
68
+ puts parser
69
+ exit(0)
70
+ end
71
+
72
+ parser.on('-v', '--version', 'Show version') do
73
+ puts Breezer::VERSION
74
+ exit(0)
75
+ end
76
+ end.parse!
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Thrown when we can't find a Gemfile
4
+ class NoGemfileException < StandardError
5
+ def initialize(msg = 'Unable to find a Gemfile')
6
+ super
7
+ end
8
+ end
9
+
10
+ # Thrown when we can't find a Lockfile (Gemfile.lock)
11
+ class NoLockfileException < StandardError
12
+ def initialize(msg = 'Unable to find a Lockfile')
13
+ super
14
+ end
15
+ end
16
+
17
+ # Thrown the supplied level is invalid
18
+ class InvalidLevelException < StandardError
19
+ def initialize(msg = "Error: level must be one of: 'major', 'minor', 'patch' or 'exact'")
20
+ super
21
+ end
22
+ end
@@ -2,116 +2,120 @@
2
2
 
3
3
  require 'bundler'
4
4
 
5
- class Breezer::Freezer
6
- GEM_REGEX = /gem[\s]+(?<fullname>['"](?<name>[\w\-_]+)['"])(?<fullversion>,?[\s]?['"](?<version>[~><=]+[\s]?[\d\.]+)['"])?(?<fullsecversion>,?[\s]?['"](?<secversion>[~><=]+[\s]?[\d\.]+)['"])?/.freeze
5
+ module Breezer
7
6
 
8
- def self.update_gemfile!(gemfile, deps, **options)
9
- new_gemfile = []
10
- gemfile.split("\n").each { |line| new_gemfile << parse(line, deps, options) }
11
- [*new_gemfile, ''].join("\n")
12
- end
13
-
14
- def self.check_gemfile!(gemfile, deps, **options)
15
- gemfile.split("\n").each_with_index.map do |line, no|
16
- [no + 1, check(line, deps, options)]
17
- end.to_h
18
- end
19
-
20
- # Parse a gemfile line, and return the line updated with dependencies
21
- def self.parse(line, deps, **options)
22
- return line unless valid_line?(line)
23
-
24
- matches = line.match(GEM_REGEX)
25
-
26
- # return the line if we didn't matched a name
27
- return line unless matches[:name]
28
-
29
- proposed_version = deps[matches[:name]]
30
- version_string = version_for_name(proposed_version, options)
31
-
32
- # return the line if we didn't find a version
33
- return line unless proposed_version && version_string
34
-
35
- # if we already have a version and we don't want to override
36
- return line if matches[:version] && options[:preserve]
37
-
38
- transform_line_for_version(line, matches, version_string)
39
- end
40
-
41
- # Return false if there is no deps declaration in the given line
42
- def self.valid_line?(line)
43
- # Drop lines if no gem declared
44
- return false if (line =~ /gem[\s]+/).nil?
45
-
46
- # Skip git and github direct references
47
- return false if (line =~ /(git:\/\/|(github(:|\s)))/)
48
-
49
- # Drop line if it's a comment
50
- return false unless (line =~ /^[\s]?#/).nil?
51
-
52
- # Drop line if it contains a skip comment
53
- return false unless (line =~ /breezer-disable/).nil?
54
-
55
- true
56
- end
57
-
58
- # Parse a gemfile line, and return true or false wether the line is valid
59
- def self.check(line, deps, **options)
60
- return { valid: true } unless valid_line?(line)
61
-
62
- matches = line.match(GEM_REGEX)
63
-
64
- # return the line if we didn't matched a name
65
- return { valid: true } unless matches[:name]
66
-
67
- proposed_version = deps[matches[:name]]
68
- version_for_name(proposed_version, options)
69
-
70
- # Do we have a version ?
71
- {
72
- name: matches[:name],
73
- proposed_version: proposed_version,
74
- valid: !matches[:version].nil?
75
- }
76
- end
77
-
78
- # Will rewrite the old deps line with the good version
79
- def self.transform_line_for_version(line, matches, version_string)
80
- # We remove the other version
81
- line = line.gsub(matches[:fullsecversion], '') if matches[:fullsecversion]
82
-
83
- # If we had a version
84
- if matches[:version]
85
- line.gsub(matches[:version], version_string)
86
- else
87
- line.gsub(matches[:fullname], "#{matches[:fullname]}, '#{version_string}'")
88
- end
89
- end
90
-
91
- # Will return the Gemfile.lock version of a deps
92
- def self.version_for_name(proposed_version, options)
93
- get_version_string(proposed_version, options)
94
- end
95
-
96
- # Will convert the version according to the given level (default 'patch')
97
- def self.get_version_string(version, options)
98
- options = { level: 'patch' }.merge(options)
99
-
100
- gv = Gem::Version.create(version)
101
- return unless gv
102
-
103
- segments = [*gv.canonical_segments, 0, 0, 0].first(3)
104
- case options[:level].to_s
105
- when 'major'
106
- "~> #{segments.first}"
107
- when 'minor'
108
- "~> #{segments.first(2).join('.')}"
109
- when 'patch'
110
- "~> #{segments.first(3).join('.')}"
111
- when 'exact'
112
- "= #{version}"
113
- else
114
- raise("Unsupported option: #{options[:level]}")
7
+ #
8
+ # Will update (freeze) the gems in the Gemfile
9
+ #
10
+ class Freezer
11
+ class << self
12
+ GEM_REGEX = /gem[\s]+(?<fullname>['"](?<name>[\w\-_]+)['"])(?<fullversion>,?[\s]?['"](?<version>[~><=]+[\s]?[\d\.]+)['"])?(?<fullsecversion>,?[\s]?['"](?<secversion>[~><=]+[\s]?[\d\.]+)['"])?/.freeze
13
+
14
+ def update_gemfile!(gemfile, deps, **options)
15
+ new_gemfile = []
16
+ gemfile.split("\n").each { |line| new_gemfile << parse(line, deps, options) }
17
+ [*new_gemfile, ''].join("\n")
18
+ end
19
+
20
+ def check_gemfile!(gemfile, deps, **options)
21
+ gemfile.split("\n").each_with_index.map do |line, no|
22
+ [no + 1, check(line, deps, options)]
23
+ end.to_h
24
+ end
25
+
26
+ # Parse a gemfile line, and return the line updated with dependencies
27
+ def parse(line, deps, **options)
28
+ return line unless valid_line?(line)
29
+
30
+ matches = line.match(GEM_REGEX)
31
+
32
+ # return the line if we didn't matched a name
33
+ return line unless matches[:name]
34
+
35
+ proposed_version = deps[matches[:name]]
36
+ version_string = get_version_string(proposed_version, options)
37
+
38
+ # return the line if we didn't find a version
39
+ return line unless proposed_version && version_string
40
+
41
+ # if we already have a version and we don't want to override
42
+ return line if matches[:version] && options[:preserve]
43
+
44
+ transform_line_for_version(line, matches, version_string)
45
+ end
46
+
47
+ # Return false if there is no deps declaration in the given line
48
+ def valid_line?(line)
49
+ # Drop lines if no gem declared
50
+ return false if (line =~ /gem[\s]+/).nil?
51
+
52
+ # Skip git and github direct references
53
+ return false if line =~ %r{(git://|(github(:|\s)))}
54
+
55
+ # Drop line if it's a comment
56
+ return false unless (line =~ /^[\s]?#/).nil?
57
+
58
+ # Drop line if it contains a skip comment
59
+ return false unless (line =~ /breezer-disable/).nil?
60
+
61
+ true
62
+ end
63
+
64
+ # Parse a gemfile line, and return true or false wether the line is valid
65
+ def check(line, deps, **options)
66
+ return { valid: true } unless valid_line?(line)
67
+
68
+ matches = line.match(GEM_REGEX)
69
+
70
+ # return the line if we didn't matched a name
71
+ return { valid: true } unless matches[:name]
72
+
73
+ proposed_version = deps[matches[:name]]
74
+ get_version_string(proposed_version, options)
75
+
76
+ # Do we have a version ?
77
+ {
78
+ name: matches[:name],
79
+ proposed_version: proposed_version,
80
+ valid: !matches[:version].nil?
81
+ }
82
+ end
83
+
84
+ # Will rewrite the old deps line with the good version
85
+ def transform_line_for_version(line, matches, version_string)
86
+ # We remove the other version
87
+ line = line.gsub(matches[:fullsecversion], '') if matches[:fullsecversion]
88
+
89
+ # If we had a version
90
+ if matches[:version]
91
+ line.gsub(matches[:version], version_string)
92
+ else
93
+ line.gsub(matches[:fullname], "#{matches[:fullname]}, '#{version_string}'")
94
+ end
95
+ end
96
+
97
+ # Will return the Gemfile.lock version of a deps, with the version converted
98
+ # according to the given level (default 'patch')
99
+ def get_version_string(version, options)
100
+ options = { level: 'patch' }.merge(options)
101
+
102
+ gv = Gem::Version.create(version)
103
+ return unless gv
104
+
105
+ segments = [*gv.canonical_segments, 0, 0, 0].first(3)
106
+ case options[:level].to_s
107
+ when 'major'
108
+ "~> #{segments.first}"
109
+ when 'minor'
110
+ "~> #{segments.first(2).join('.')}"
111
+ when 'patch'
112
+ "~> #{segments.first(3).join('.')}"
113
+ when 'exact'
114
+ "= #{version}"
115
+ else
116
+ raise("Unsupported option: #{options[:level]}")
117
+ end
118
+ end
115
119
  end
116
120
  end
117
121
  end
@@ -2,10 +2,18 @@
2
2
 
3
3
  require 'bundler'
4
4
 
5
- class Breezer::Parser
6
- def self.deps(lockfile_path = 'Gemfile.lock', **_options)
7
- lockfile = Bundler::LockfileParser.new(Bundler.read_file(lockfile_path))
8
- specs = lockfile.specs
9
- specs.map { |h| [h.name, h.version.version] }.to_h
5
+ module Breezer
6
+
7
+ #
8
+ # Used to parse the Gemfile.lock and extract the dependencies.
9
+ #
10
+ class Parser
11
+ class << self
12
+ def deps(lockfile_path = 'Gemfile.lock', **_options)
13
+ lockfile = Bundler::LockfileParser.new(Bundler.read_file(lockfile_path))
14
+ specs = lockfile.specs
15
+ specs.map { |h| [h.name, h.version.version] }.to_h
16
+ end
17
+ end
10
18
  end
11
19
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Breezer
2
- VERSION = "0.7.2"
4
+ VERSION = '0.7.3'
3
5
  end
data/lib/breezer.rb CHANGED
@@ -40,7 +40,7 @@ module Breezer
40
40
  File.open(output_path, 'w') do |file|
41
41
  file.write(updated_gemfile)
42
42
  end
43
- puts "Gemfile updated !"
43
+ puts 'Gemfile updated !'
44
44
  end
45
45
  updated_gemfile
46
46
  end
@@ -58,6 +58,8 @@ module Breezer
58
58
  end
59
59
  end
60
60
 
61
+ require 'breezer/exceptions'
61
62
  require 'breezer/parser'
62
63
  require 'breezer/freezer'
63
64
  require 'breezer/version'
65
+ require 'breezer/command'
data/plugins.rb ADDED
@@ -0,0 +1,20 @@
1
+ # This is the plugin for bundler
2
+ class Breezer < Bundler::Plugin::API
3
+ # Register this class as a handler for the `my_command` command
4
+ command "freeze"
5
+
6
+ # The exec method will be called with the `command` and the `args`.
7
+ # This is where you should handle all logic and functionality
8
+ def exec(command, args)
9
+ puts "You called " + command + " with args: " + args.inspect
10
+ end
11
+ end
12
+
13
+ # #!/usr/bin/env ruby
14
+ # # frozen_string_literal: true
15
+
16
+ # require 'bundler'
17
+ # require 'breezer'
18
+
19
+ # r = Breezer::Command.run!(ARGV)
20
+ # exit(r == false ? 2 : 0)
data/test/samples/Gemfile CHANGED
@@ -5,10 +5,10 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
5
5
 
6
6
  ruby '2.6.5'
7
7
 
8
- gem 'colorize'
9
- gem 'ruby-progressbar'
10
8
  gem 'bootsnap', '>= 1.4.2', require: false
11
9
  gem 'carrierwave-azure', github: 'tsara27/carrierwave-azure'
10
+ gem 'colorize'
11
+ gem 'ruby-progressbar'
12
12
  gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby]
13
13
  # gem 'cancancan', '~> 1.10'
14
14
  gem 'rack', git: 'git://github.com/rack/rack.git'
@@ -26,3 +26,4 @@ group :development do
26
26
  gem 'spring-watcher-listen', '~> 2.0.0'
27
27
  gem 'web-console', '>= 3.3.0'
28
28
  end
29
+
@@ -5,10 +5,10 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
5
5
 
6
6
  ruby '2.6.5'
7
7
 
8
- gem 'colorize', '~> 0.8.1'
9
- gem 'ruby-progressbar', '~> 1.10.1'
10
8
  gem 'bootsnap', '~> 1.4.5', require: false
11
9
  gem 'carrierwave-azure', github: 'tsara27/carrierwave-azure'
10
+ gem 'colorize', '~> 0.8.1'
11
+ gem 'ruby-progressbar', '~> 1.10.1'
12
12
  gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby] # breezer-disable
13
13
  # gem 'cancancan', '~> 1.10'
14
14
  gem 'rack', git: 'git://github.com/rack/rack.git'
@@ -5,10 +5,10 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
5
5
 
6
6
  ruby '2.6.5'
7
7
 
8
- gem 'colorize', '~> 0.8'
9
- gem 'ruby-progressbar', '~> 1.10'
10
8
  gem 'bootsnap', '~> 1.4', require: false
11
9
  gem 'carrierwave-azure', github: 'tsara27/carrierwave-azure'
10
+ gem 'colorize', '~> 0.8'
11
+ gem 'ruby-progressbar', '~> 1.10'
12
12
  gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby]
13
13
  # gem 'cancancan', '~> 1.10'
14
14
  gem 'rack', git: 'git://github.com/rack/rack.git'
@@ -5,10 +5,10 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
5
5
 
6
6
  ruby '2.6.5'
7
7
 
8
- gem 'colorize', '~> 0.8.1'
9
- gem 'ruby-progressbar', '~> 1.10.1'
10
8
  gem 'bootsnap', '~> 1.4.5', require: false
11
9
  gem 'carrierwave-azure', github: 'tsara27/carrierwave-azure'
10
+ gem 'colorize', '~> 0.8.1'
11
+ gem 'ruby-progressbar', '~> 1.10.1'
12
12
  gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby]
13
13
  # gem 'cancancan', '~> 1.10'
14
14
  gem 'rack', git: 'git://github.com/rack/rack.git'
data/test/test_breezer.rb CHANGED
@@ -4,7 +4,7 @@ require 'minitest/autorun'
4
4
  require 'minitest/around/spec'
5
5
  require 'breezer'
6
6
 
7
- describe Breezer do
7
+ describe Breezer do # rubocop:todo Metrics/BlockLength
8
8
  around do |test|
9
9
  files = Dir["#{File.dirname(__FILE__)}/samples/*"]
10
10
  Dir.mktmpdir do |dir|
@@ -49,5 +49,4 @@ describe Breezer do
49
49
  specs = Breezer.freeze!('Gemfile.checked', 'Gemfile.lock', check: true)
50
50
  _(specs).must_equal true
51
51
  end
52
-
53
52
  end
data/test/test_freezer.rb CHANGED
@@ -57,7 +57,7 @@ class TestBreezer < Minitest::Test
57
57
  'zeitwerk' => '2.2.2'
58
58
  }.freeze
59
59
 
60
- def test_good_matchs
60
+ def test_good_matchs # rubocop:todo Metrics/MethodLength
61
61
  [
62
62
  [
63
63
  "gem 'colorize'",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: breezer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - André Aubin
@@ -14,58 +14,72 @@ dependencies:
14
14
  name: bump
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '0.8'
20
20
  type: :development
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'
26
+ version: '0.8'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '5.14'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '5.14'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest-around
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '0.5'
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: '0'
54
+ version: '0.5'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 10.0.0
61
+ version: '13.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 10.0.0
68
+ version: '13.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.79.0
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.79.0
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: bundler
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -88,6 +102,7 @@ extensions: []
88
102
  extra_rdoc_files: []
89
103
  files:
90
104
  - ".gitignore"
105
+ - ".rubocop.yml"
91
106
  - Gemfile
92
107
  - Gemfile.lock
93
108
  - README.md
@@ -96,9 +111,12 @@ files:
96
111
  - breezer.gemspec
97
112
  - images/demo.gif
98
113
  - lib/breezer.rb
114
+ - lib/breezer/command.rb
115
+ - lib/breezer/exceptions.rb
99
116
  - lib/breezer/freezer.rb
100
117
  - lib/breezer/parser.rb
101
118
  - lib/breezer/version.rb
119
+ - plugins.rb
102
120
  - test/samples/Gemfile
103
121
  - test/samples/Gemfile.checked
104
122
  - test/samples/Gemfile.final.minor
@@ -119,7 +137,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
137
  requirements:
120
138
  - - ">="
121
139
  - !ruby/object:Gem::Version
122
- version: 2.4.0
140
+ version: 2.1.0
123
141
  required_rubygems_version: !ruby/object:Gem::Requirement
124
142
  requirements:
125
143
  - - ">="