bundleup 1.2.0 → 2.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,59 +0,0 @@
1
- # rubocop:disable Metrics/BlockLength
2
- module Bundleup
3
- GemStatus = Struct.new(:name,
4
- :old_version,
5
- :new_version,
6
- :newest_version,
7
- :pin) do
8
- def pinned?
9
- !pin.nil?
10
- end
11
-
12
- def upgraded?
13
- new_version != old_version
14
- end
15
-
16
- def added?
17
- old_version.nil?
18
- end
19
-
20
- def removed?
21
- new_version.nil?
22
- end
23
-
24
- def color
25
- if major_upgrade? || removed?
26
- :red
27
- elsif minor_upgrade?
28
- :yellow
29
- elsif added?
30
- :blue
31
- else
32
- :plain
33
- end
34
- end
35
-
36
- def major_upgrade?
37
- return false if new_version.nil? || old_version.nil?
38
-
39
- major(new_version) != major(old_version)
40
- end
41
-
42
- def minor_upgrade?
43
- return false if new_version.nil? || old_version.nil?
44
-
45
- !major_upgrade? && minor(new_version) != minor(old_version)
46
- end
47
-
48
- private
49
-
50
- def major(version)
51
- version.split(".", 2)[0]
52
- end
53
-
54
- def minor(version)
55
- version.split(".", 3)[1]
56
- end
57
- end
58
- end
59
- # rubocop:enable Metrics/BlockLength
@@ -1,17 +0,0 @@
1
- module Bundleup
2
- module OutdatedParser
3
- def self.parse(output)
4
- expr = if output.match?(/^Gem\s+Current\s+Latest/)
5
- # Bundler >= 2.2 format
6
- /^(\S+)\s\s+\S+\s\s+(\d\S+)\s\s+(\S.*?)(?:$|\s\s)/
7
- else
8
- # Bundler < 2.2
9
- /\* (\S+) \(newest (\S+),.* requested (.*)\)/
10
- end
11
-
12
- output.scan(expr).map do |name, newest, pin|
13
- { name: name, newest: newest, pin: pin }
14
- end
15
- end
16
- end
17
- end
@@ -1,59 +0,0 @@
1
- module Bundleup
2
- class Upgrade
3
- def initialize(update_args=[], commands=BundleCommands.new)
4
- @update_args = update_args
5
- @commands = commands
6
- @gem_statuses = {}
7
- @original_lockfile_contents = IO.read(lockfile)
8
- run
9
- end
10
-
11
- def upgrades
12
- @gem_statuses.values.select(&:upgraded?).sort_by(&:name)
13
- end
14
-
15
- def pins
16
- @gem_statuses.values.select(&:pinned?).sort_by(&:name)
17
- end
18
-
19
- def lockfile_changed?
20
- IO.read(lockfile) != original_lockfile_contents
21
- end
22
-
23
- def undo
24
- IO.write(lockfile, original_lockfile_contents)
25
- end
26
-
27
- private
28
-
29
- attr_reader :update_args, :commands, :original_lockfile_contents
30
-
31
- def run
32
- find_versions(:old)
33
- commands.update(update_args)
34
- find_versions(:new)
35
- find_pinned_versions
36
- end
37
-
38
- def lockfile
39
- "Gemfile.lock"
40
- end
41
-
42
- def find_pinned_versions
43
- OutdatedParser.parse(commands.outdated).each do |gem|
44
- gem_status(gem[:name]).newest_version = gem[:newest]
45
- gem_status(gem[:name]).pin = gem[:pin]
46
- end
47
- end
48
-
49
- def find_versions(type)
50
- commands.list.scan(/\* (\S+) \((\S+)(?: (\S+))?\)/) do |name, ver, sha|
51
- gem_status(name).public_send("#{type}_version=", sha || ver)
52
- end
53
- end
54
-
55
- def gem_status(name)
56
- @gem_statuses[name] ||= GemStatus.new(name)
57
- end
58
- end
59
- end
data/sample.png DELETED
Binary file