organize_gemfile 0.1.1 → 0.1.2

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: 6e792164dde3e1157e0f179ab1fa026958c556b097436aacbd0bdaf829c52f76
4
- data.tar.gz: 3b867429dade0acb09cb736ee9cd069e8265a4fd8f3d5a2b5cee3e15772bc54c
3
+ metadata.gz: 22aa5242f1a189d3cddddb4b6086c50c89d948d18d6cb047dce073d3599399be
4
+ data.tar.gz: e4f5d8a161d25ee9368a22ec3c20761319702c130abd89462dcc708cf0a54a86
5
5
  SHA512:
6
- metadata.gz: f3da6ad4029a3b19f9c1d823906a48f0b267a10a6faedeb082d85025573b8ce671d731852884d0ab72d06178574f077fdd8fae553e5baac8ab238bcf77f07d83
7
- data.tar.gz: c0a1e837ff3ad854566c54b6f9593e0cdd4d048cf719055efedd509ca6dbe5d076087a827223cf7e8e9325d873b5d7b083247b1916c4088217259a34c0522614
6
+ metadata.gz: 6dc94259988d8048341aaa16f096815b92b68fbe6715f6d0898496b1dc58b7c5fc6200c2c8d29d70d557928f1925f5b1f2873cd362442f7e9d4204960ecb10e2
7
+ data.tar.gz: 6e9e5390bc008577cdaed3fac08c4bc604e11b2a309bf2dd50242319b7d0b23cce999b15043e0e4072af1fae74156b2e3b6520394cbc4a6c3f546c15e0e15fa4
data/Gemfile CHANGED
@@ -2,7 +2,7 @@ source "https://rubygems.org"
2
2
  git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3
3
 
4
4
  gem "minitest", "~> 5.0" # minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking
5
- gem "organize_gemfile" # Organize your Gemfile with annotations
6
- gem "rake", "~> 13.0" # Rake is a Make-like program implemented in Ruby
5
+ gem "organize_gemfile" # Organize your Gemfile with annotations
6
+ gem "rake", "~> 13.0" # Rake is a Make-like program implemented in Ruby
7
7
  gem "standard", "~> 1.3" # Ruby Style Guide, with linter & automatic code fixer
8
- gem "bump", "~> 0.6" # Bump is a command line tool to help you version your Ruby projects
8
+ gem "bump", "~> 0.6" # Bump is a command line tool to help you version your Ruby projects
data/Gemfile.lock CHANGED
@@ -5,7 +5,7 @@ GEM
5
5
  bump (0.10.0)
6
6
  json (2.6.2)
7
7
  minitest (5.16.3)
8
- organize_gemfile (0.1.0)
8
+ organize_gemfile (0.1.1)
9
9
  parallel (1.22.1)
10
10
  parser (3.1.2.1)
11
11
  ast (~> 2.4.1)
data/Rakefile CHANGED
@@ -21,12 +21,13 @@ task :build do
21
21
  system "gem build #{GEM_NAME}.gemspec"
22
22
  end
23
23
 
24
- task :install => :build do
24
+ task install: :build do
25
25
  system "gem install #{GEM_NAME}-#{GEM_VERSION}.gem"
26
26
  end
27
27
 
28
- task :publish => :build do
28
+ task publish: :build do
29
29
  system "gem push #{GEM_NAME}-#{GEM_VERSION}.gem"
30
+ system "gem push --key github --host https://rubygems.pkg.github.com/coderberry #{GEM_NAME}-#{GEM_VERSION}.gem"
30
31
  end
31
32
 
32
33
  task :clean do
data/exe/organize_gemfile CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env ruby
2
2
  require "organize_gemfile"
3
- puts OrganizeGemfile::execute ARGV
3
+ puts OrganizeGemfile.execute ARGV
@@ -6,7 +6,7 @@ module OrganizeGemfile
6
6
  @gemfile_path = gemfile_path
7
7
  @ruby_version = ruby_version
8
8
  @groups = groups
9
- new_gemfile_code = build
9
+ build
10
10
  end
11
11
 
12
12
  def build
@@ -45,4 +45,4 @@ module OrganizeGemfile
45
45
  @groups["default"]
46
46
  end
47
47
  end
48
- end
48
+ end
@@ -38,6 +38,13 @@ module OrganizeGemfile
38
38
  spec = specs.key?(dep.name) ? specs[dep.name] : nil
39
39
  spec = spec&.to_spec
40
40
 
41
+ version = dep.requirement.to_s
42
+ if version.nil? || version == "" || version == ">= 0"
43
+ if spec&.version
44
+ version = "~> #{spec.version}"
45
+ end
46
+ end
47
+
41
48
  {
42
49
  name: dep.name,
43
50
  summary: spec&.summary,
@@ -47,10 +54,10 @@ module OrganizeGemfile
47
54
  branch: dep.branch,
48
55
  platforms: dep.platforms,
49
56
  gemfile: dep.gemfile,
50
- version: dep.requirement.to_s,
57
+ version: version,
51
58
  source: dep.source,
52
59
  requires: @requires[dep.name],
53
- appear_at_top: @requires[dep.name].include?("dotenv/rails-now")
60
+ appear_at_top: dep.name.include?("dotenv/rails-now")
54
61
  }
55
62
  end
56
63
  end
@@ -20,6 +20,7 @@ module OrganizeGemfile
20
20
  spec_lines = specs.sort_by { |s| s[:name] }.map do |spec|
21
21
  parts = []
22
22
  parts << "gem \"#{spec[:name]}\""
23
+
23
24
  if spec[:version] && spec[:version] != ">= 0"
24
25
  version_parts = []
25
26
  spec[:version].split(",").each do |version|
@@ -27,8 +28,13 @@ module OrganizeGemfile
27
28
  end
28
29
  parts << version_parts.join(", ")
29
30
  end
30
- parts << "require: \"#{spec[:requires].first}\"" if spec[:requires].first && spec[:requires].first != spec[:name]
31
+
32
+ require_name = spec[:requires]&.first
33
+ if require_name != spec[:name] && !require_name.nil? && require_name != ""
34
+ parts << "require: \"#{require_name}\""
35
+ end
31
36
  parts << "require: false" if spec[:requires] == []
37
+ parts << "path: \"#{spec[:source].path}\"" if spec[:source]
32
38
  parts << "platforms: %i[ #{spec[:platforms].join(" ")} ]" if spec[:platforms].any?
33
39
  line = parts.join(", ")
34
40
 
@@ -46,6 +52,9 @@ module OrganizeGemfile
46
52
  if spec[:summary]
47
53
  line = line.ljust(max_length)
48
54
  line += " # #{spec[:summary]}"
55
+ if spec[:homepage]
56
+ line += " [#{spec[:homepage]}]"
57
+ end
49
58
  end
50
59
  lines << indent_spaces + line
51
60
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OrganizeGemfile
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.2"
5
5
  end
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'organize_gemfile/bundle_parser.rb'
4
- require_relative 'organize_gemfile/gemfile_group.rb'
5
- require_relative 'organize_gemfile/builder.rb'
6
- require_relative 'organize_gemfile/version'
7
- require 'optparse'
3
+ require_relative "organize_gemfile/bundle_parser"
4
+ require_relative "organize_gemfile/gemfile_group"
5
+ require_relative "organize_gemfile/builder"
6
+ require_relative "organize_gemfile/version"
7
+ require "optparse"
8
8
 
9
9
  module OrganizeGemfile
10
10
  class Error < StandardError
@@ -13,20 +13,20 @@ module OrganizeGemfile
13
13
  def self.execute(*args)
14
14
  options = parse_options(args)
15
15
 
16
- gemfile_path = options[:gemfile] ||= File.expand_path('Gemfile')
16
+ gemfile_path = options[:gemfile] ||= File.expand_path("Gemfile")
17
17
  unless File.exist?(gemfile_path)
18
18
  puts "Gemfile not found at #{gemfile_path}"
19
19
  return
20
20
  end
21
21
 
22
- gemfile_lock_path = Pathname.new(gemfile_path).parent.join('Gemfile.lock')
22
+ gemfile_lock_path = Pathname.new(gemfile_path).parent.join("Gemfile.lock")
23
23
  unless gemfile_lock_path.exist?
24
24
  puts "Gemfile.lock not found at #{gemfile_lock_path}. Be sure to run `bundle install` before running this command."
25
25
  return
26
26
  end
27
27
 
28
- gemfile_lock_path = File.expand_path('Gemfile.lock')
29
- raise 'Gemfile.lock not found' unless File.exist?(gemfile_lock_path)
28
+ gemfile_lock_path = File.expand_path("Gemfile.lock")
29
+ raise "Gemfile.lock not found" unless File.exist?(gemfile_lock_path)
30
30
 
31
31
  parser = BundleParser.new(gemfile_path, gemfile_lock_path)
32
32
  ruby_version = parser.ruby_version
@@ -35,23 +35,23 @@ module OrganizeGemfile
35
35
  Builder.new(gemfile_path, ruby_version: ruby_version, groups: groups)
36
36
  revised_gemfile = builder.build
37
37
 
38
- File.open(gemfile_path, 'w') { |f| f.write(revised_gemfile) }
38
+ File.write(gemfile_path, revised_gemfile)
39
39
 
40
- puts 'Gemfile organized!'
40
+ puts "Gemfile organized!"
41
41
  end
42
42
 
43
43
  def self.parse_options(args)
44
44
  options = {}
45
45
 
46
46
  opts = OptionParser.new
47
- opts.banner = 'Usage: organize_gemfile [options]'
47
+ opts.banner = "Usage: organize_gemfile [options]"
48
48
 
49
- opts.on('-h', '--help', 'Prints this help') do
49
+ opts.on("-h", "--help", "Prints this help") do
50
50
  puts opts
51
51
  exit
52
52
  end
53
53
 
54
- opts.on('-gPATH', '--gemfile=PATH', 'Path to Gemfile') do |path|
54
+ opts.on("-gPATH", "--gemfile=PATH", "Path to Gemfile") do |path|
55
55
  options[:gemfile] = File.expand_path(path)
56
56
  end
57
57
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: organize_gemfile
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Berry
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-07 00:00:00.000000000 Z
11
+ date: 2022-10-02 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Organize your Gemfile with annotations
14
14
  email:
@@ -32,7 +32,6 @@ files:
32
32
  - lib/organize_gemfile/bundle_parser.rb
33
33
  - lib/organize_gemfile/gemfile_group.rb
34
34
  - lib/organize_gemfile/version.rb
35
- - organize_gemfile.gemspec
36
35
  - sig/organize_gemfile.rbs
37
36
  homepage: https://github.com/coderberry/organize_gemfile
38
37
  licenses:
@@ -42,7 +41,7 @@ metadata:
42
41
  homepage_uri: https://github.com/coderberry/organize_gemfile
43
42
  source_code_uri: https://github.com/coderberry/organize_gemfile
44
43
  changelog_uri: https://github.com/coderberry/organize_gemfile/CHANGELOG.md
45
- post_install_message:
44
+ post_install_message:
46
45
  rdoc_options: []
47
46
  require_paths:
48
47
  - lib
@@ -57,8 +56,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
57
56
  - !ruby/object:Gem::Version
58
57
  version: '0'
59
58
  requirements: []
60
- rubygems_version: 3.1.6
61
- signing_key:
59
+ rubygems_version: 3.3.7
60
+ signing_key:
62
61
  specification_version: 4
63
62
  summary: Organize your Gemfile with annotations
64
63
  test_files: []
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "lib/organize_gemfile/version"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "organize_gemfile"
7
- spec.version = OrganizeGemfile::VERSION
8
- spec.authors = ["Eric Berry"]
9
- spec.email = ["eric@berry.sh"]
10
-
11
- spec.summary = "Organize your Gemfile with annotations"
12
- spec.description = spec.summary
13
- spec.homepage = "https://github.com/coderberry/organize_gemfile"
14
- spec.license = "MIT"
15
- spec.required_ruby_version = ">= 2.6.0"
16
-
17
- spec.metadata["allowed_push_host"] = "https://rubygems.org"
18
-
19
- spec.metadata["homepage_uri"] = spec.homepage
20
- spec.metadata["source_code_uri"] = spec.homepage
21
- spec.metadata["changelog_uri"] = "#{spec.homepage}/CHANGELOG.md"
22
-
23
- # Specify which files should be added to the gem when it is released.
24
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
26
- `git ls-files -z`.split("\x0").reject do |f|
27
- (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
28
- end
29
- end
30
- spec.bindir = "exe"
31
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
32
- spec.require_paths = ["lib"]
33
-
34
- # Uncomment to register a new dependency of your gem
35
- # spec.add_dependency "example-gem", "~> 1.0"
36
-
37
- # For more information and examples about making a new gem, check out our
38
- # guide at: https://bundler.io/guides/creating_gem.html
39
- end