breezer 0.9.0 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -1
- data/Gemfile.lock +1 -1
- data/lib/breezer/command.rb +14 -6
- data/lib/breezer/version.rb +1 -1
- data/test/test_command.rb +70 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e74d162c603c5b847156a19d964cfd416c25c438857b52fd41db29541f9a9247
|
4
|
+
data.tar.gz: 8811230f6e8501a695ae771ce2ed3f8fb7ca26206c0a78d5abc552c30a7d8f75
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb5ad11225a914577596a3998df6efa5a2ef668c354c04d1b46fd22c71b78c6c7db79b727f116418de84c56466c7230ed71ce90fb5918ca4e1a03b29892079d3
|
7
|
+
data.tar.gz: e00cb84064da02d14599b880d79b5ff192d4592f10c3e2aaa6901db5baa4c0a8c2e3036e78905bad3fdf70f8fc2a09626dc610914af6f830387f6edf88f97c21
|
data/.rubocop.yml
CHANGED
data/Gemfile.lock
CHANGED
data/lib/breezer/command.rb
CHANGED
@@ -15,18 +15,25 @@ module Breezer
|
|
15
15
|
options = parse_options({ debug: false }, args)
|
16
16
|
lockfile_file = options[:lockfile_file] || "#{gemfile_file}.lock"
|
17
17
|
|
18
|
+
# Will raise if files are not valid
|
19
|
+
check_files_presence!(gemfile_file, lockfile_file)
|
20
|
+
|
21
|
+
Breezer.freeze!(gemfile_file, lockfile_file, options)
|
22
|
+
end
|
23
|
+
|
24
|
+
# Check that the Gemfile and the Lockfile exists
|
25
|
+
def check_files_presence!(gemfile_file, lockfile_file)
|
26
|
+
|
18
27
|
unless File.file?(gemfile_file)
|
19
28
|
puts "Unable to find a Gemfile (searched in #{gemfile_file})"
|
20
29
|
raise NoGemfileException, "Unable to find a Gemfile (searched in #{gemfile_file})"
|
21
30
|
end
|
22
31
|
|
23
|
-
|
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
|
32
|
+
return if File.file?(lockfile_file)
|
28
33
|
|
29
|
-
|
34
|
+
puts "Unable to find a Lockfile (Gemfile.lock). If you don't have a Gemfile.lock yet, "\
|
35
|
+
"you can run 'bundle install' first. (searched in #{lockfile_file})"
|
36
|
+
raise NoLockfileException, "Unable to find a Lockfile (Gemfile.lock) (searched in #{lockfile_file})"
|
30
37
|
end
|
31
38
|
|
32
39
|
def get_gemfile_file(args)
|
@@ -74,6 +81,7 @@ module Breezer
|
|
74
81
|
exit(0)
|
75
82
|
end
|
76
83
|
end.parse!(argv)
|
84
|
+
options
|
77
85
|
end
|
78
86
|
end
|
79
87
|
end
|
data/lib/breezer/version.rb
CHANGED
@@ -0,0 +1,70 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'minitest/autorun'
|
4
|
+
require 'minitest/around/spec'
|
5
|
+
require 'breezer'
|
6
|
+
|
7
|
+
describe Breezer::Command do # rubocop:todo Metrics/BlockLength
|
8
|
+
around do |test|
|
9
|
+
files = Dir["#{File.dirname(__FILE__)}/samples/*"]
|
10
|
+
Dir.mktmpdir do |dir|
|
11
|
+
@dir = dir
|
12
|
+
FileUtils.cp files, dir
|
13
|
+
Bundler::SharedHelpers.chdir(dir) do
|
14
|
+
test.call
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'can get_gemfile_file' do
|
20
|
+
_(Breezer::Command.get_gemfile_file([])).must_equal('./Gemfile')
|
21
|
+
_(Breezer::Command.get_gemfile_file(['..'])).must_equal('../Gemfile')
|
22
|
+
_(Breezer::Command.get_gemfile_file(['Gemfile'])).must_equal('Gemfile')
|
23
|
+
_(Breezer::Command.get_gemfile_file(['./Gemfile.checked'])).must_equal('./Gemfile.checked')
|
24
|
+
_(Breezer::Command.get_gemfile_file(['../../idontexist'])).must_equal('../../idontexist')
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'can parse_options' do
|
28
|
+
_(Breezer::Command.parse_options({}, [])).must_equal({})
|
29
|
+
_(Breezer::Command.parse_options({}, %w[-l major])).must_equal(level: 'major')
|
30
|
+
_(Breezer::Command.parse_options({}, %w[-L Gemfile.look])).must_equal(lockfile_file: 'Gemfile.look')
|
31
|
+
_(Breezer::Command.parse_options({}, %w[-d])).must_equal(dry: true)
|
32
|
+
_(Breezer::Command.parse_options({}, %w[-o Gemfool])).must_equal(output: 'Gemfool')
|
33
|
+
_(Breezer::Command.parse_options({}, %w[-c])).must_equal(check: true)
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'run without options' do
|
37
|
+
_specs = Breezer::Command.run!(%w[])
|
38
|
+
_(File.read('Gemfile')).must_equal File.read('Gemfile.final.patch')
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'run with minor level options' do
|
42
|
+
_specs = Breezer::Command.run!(%w[Gemfile -l minor])
|
43
|
+
_(File.read('Gemfile')).must_equal File.read('Gemfile.final.minor')
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'run with dry run' do
|
47
|
+
specs = Breezer::Command.run!(%w[Gemfile -d])
|
48
|
+
_(specs).must_equal File.read('Gemfile.final.patch')
|
49
|
+
_(File.read('Gemfile')).wont_be_same_as File.read('Gemfile.final.patch')
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'run with custom output' do
|
53
|
+
specs = Breezer::Command.run!(%w[Gemfile -o Gemfile.custom])
|
54
|
+
|
55
|
+
_(specs).must_equal File.read('Gemfile.final.patch')
|
56
|
+
_(File.read('Gemfile')).wont_be_same_as File.read('Gemfile.final.patch')
|
57
|
+
_(File.read('Gemfile.custom')).must_equal File.read('Gemfile.final.patch')
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'run with checks on invalid gemfile' do
|
61
|
+
specs = Breezer::Command.run!(%w[Gemfile -c])
|
62
|
+
_(specs).must_equal false
|
63
|
+
_(File.read('Gemfile')).wont_be_same_as File.read('Gemfile.final.patch')
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'run with checks on valid gemfile' do
|
67
|
+
specs = Breezer::Command.run!(%w[Gemfile.checked --lockfile=Gemfile.lock -c])
|
68
|
+
_(specs).must_equal true
|
69
|
+
end
|
70
|
+
end
|
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.9.
|
4
|
+
version: 0.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- André Aubin
|
@@ -123,6 +123,7 @@ files:
|
|
123
123
|
- test/samples/Gemfile.final.patch
|
124
124
|
- test/samples/Gemfile.lock
|
125
125
|
- test/test_breezer.rb
|
126
|
+
- test/test_command.rb
|
126
127
|
- test/test_freezer.rb
|
127
128
|
- test/test_parser.rb
|
128
129
|
homepage: http://rubygems.org/gems/breezer
|