gem_sorter 0.3.0 → 0.3.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 91f751af186dcb78cb90b9acbf22c086e895dc6b74ad6b202783fe3f6d799a3d
4
- data.tar.gz: dc18ef774b7be132570b526e510c95022b0da490b45fd4483d6ec6ae39a0b1aa
3
+ metadata.gz: bbae0106b44090db037979017493686a388123413febf17d5de70a3770edd1b1
4
+ data.tar.gz: 5fa00b9f9509c83ffd9022b8631b669c66e32f00663b2433cfc66d9d1c14a2e4
5
5
  SHA512:
6
- metadata.gz: 3c527d936237f42547330dc39c740aaca01788a20a3c6e73024ebcddd11dbbce80d74bdeab5d7c39391d7beca6b23264a20fd25e79a1f44c58bb588164ae7238
7
- data.tar.gz: 9a640f1ee3d35cd1aa019cea2b9e0eb7898c3d39d0635334660f527073faeea0d5cf860ce5dfc7c90478d8c5f2361b61dbb083621805f95ae153a7900ef85d26
6
+ metadata.gz: 1cbf29f10ec73e50adeac3c18a2495c84c25633c6b82bf70ab834185995080534d7faee772910787f503694445838efbb1dd73497eb79ee720ff54b1e66d0e34
7
+ data.tar.gz: '0930ef6b73d42328c04d1d6f34740d94186db7cee60c26ada9d7352830d35161aa7037116985f440588d191aeb67f610052f07a5434a2b2e1bc7676b3b45fb18'
@@ -1,3 +1,3 @@
1
1
  module GemSorter
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.1'
3
3
  end
data/lib/gem_sorter.rb CHANGED
@@ -49,33 +49,33 @@ module GemSorter
49
49
  def update_version_text(gems)
50
50
  @versions ||= fetch_versions_from_lockfile("#{@filepath}.lock")
51
51
  gems.each do |gem_block|
52
- gem_name = gem_block[:gem_line].match(/gem\s*"([^"]+)"/)[1]
52
+ gem_name = extract_gem_name(gem_block[:gem_line])
53
53
  next if @config.ignore_gems.include?(gem_name) || @config.ignore_gem_versions.include?(gem_name)
54
54
 
55
55
  version = @versions[gem_name]
56
56
  extra_params = extract_params(gem_block[:gem_line])
57
57
  base = version ? "#{fetch_gemfile_text(gem_name, version, gem_block[:gem_line])}" : gem_block[:gem_line]
58
- return base if base == gem_block[:gem_line]
59
-
60
- gem_block[:gem_line] = [base, extra_params].select { |value| !value.nil? && !value.empty? }.join(',')
58
+ if base != gem_block[:gem_line]
59
+ gem_block[:gem_line] = [base.strip, extra_params].select { |value| !value.nil? && !value.empty? }.join(',')
60
+ end
61
61
  end
62
62
  end
63
63
 
64
64
  def extract_params(gem_line)
65
- return nil unless gem_line =~ /gem\s*"([^"]+)"/
65
+ return nil unless gem_line =~ /gem\s+['"][^'"]+['"]/
66
66
 
67
- if gem_line =~ /gem\s*"[^"]*"\s*,\s*(.*)/
67
+ if gem_line =~ /gem\s+['"][^'"]+['"]\s*,\s*(.*)/
68
68
  additional_params = $1.strip
69
69
  return nil if additional_params.empty?
70
- params_with_colon = additional_params.scan(/(\w+:\s*[^,]+)/).flatten
71
- return params_with_colon.join(', ') unless params_with_colon.empty?
70
+ params_with_colon = additional_params.scan(/(\w+:\s*[^,]+(?:,\s*[^,]+)*|\w+:\s*['"][^'"]+['"])/).flatten
71
+ return " #{params_with_colon.join(', ')}" unless params_with_colon.empty?
72
72
  end
73
73
  nil
74
74
  end
75
75
 
76
76
  def update_gem_summaries(gems)
77
77
  gems.each do |gem_block|
78
- gem_name = gem_block[:gem_line].match(/gem\s*"([^"]+)"/)[1]
78
+ gem_name = extract_gem_name(gem_block[:gem_line])
79
79
  next if @config.ignore_gems.include?(gem_name) || @config.ignore_gem_comments.include?(gem_name)
80
80
 
81
81
  if summary = get_summary(gem_name, false)
@@ -84,6 +84,10 @@ module GemSorter
84
84
  end
85
85
  end
86
86
 
87
+ def extract_gem_name(gem_line)
88
+ gem_line.match(/gem\s+['"]([^'"]+)['"]/)[1]
89
+ end
90
+
87
91
  def process_main_section(section)
88
92
  lines = section.split("\n").map(&:strip).reject(&:empty?)
89
93
  source_line = lines.shift
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gem_sorter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Renan Garcia
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-01-06 00:00:00.000000000 Z
10
+ date: 2025-01-09 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: rake