bundleup 1.2.0 → 2.1.2

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