gem-src 0.9.0 → 0.10.0

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
- SHA1:
3
- metadata.gz: 4f3c83dc3c5a18f5ae5811a98878cf4f8425f9ec
4
- data.tar.gz: 9dc52976d13b55dbcc66b243698b195c89307372
2
+ SHA256:
3
+ metadata.gz: 70651b92bbaa9d17a2f084c7e2ff97adf2b40a2ebe4ec00deae616afec1fe995
4
+ data.tar.gz: 5ac36fd408e1b1f96945986c6f4bef28d737b2ef8e0d8b9e66a913c16a76dede
5
5
  SHA512:
6
- metadata.gz: 784ee29ac83834644d22b0e2ac06cb8d482ecab3e74caab90b312dc7f503dd1aebf67001506e973e3121657d3df96a212745d320039df5d52aa0ed4cf270a3d0
7
- data.tar.gz: 210a3f0b03f80eef330601954bc57eb73d87ab9033cb78b19ae83ece781405d60c3ba4e7ebb8ee8769fedb0009ce580e77773188a0f5a138819fb4f27df50f2d
6
+ metadata.gz: 1ac67aa2d4b6f7ac57ffebb80e1ebed510477117dc9e3ce3573d51d9b9b146ab2152dbdf6ad3928220e7ac6d6353808687d1548f6e310a0730def45826ba24e1
7
+ data.tar.gz: 9e2818b0389ab44f3cf537ecfcf85c00adb77d9d59edad7010ca7471aabf411403aeedb97fc4426651e372bcb788b741239f7fb9122603953544397c500ee531
data/README.md CHANGED
@@ -5,7 +5,7 @@ Plus, gem-src runs `git init` on each installed gem, and links it to the cloned
5
5
 
6
6
  ***TL;DR***
7
7
 
8
- % git clone https://github.com/amatsuda/gem-src.git ~/.rbenv/plugins/gem-src
8
+ % git clone https://github.com/amatsuda/gem-src.git "$(rbenv root)/plugins/gem-src"
9
9
  % mkdir ~/src
10
10
  % echo "gemsrc_clone_root: ~/src" >> ~/.gemrc
11
11
 
@@ -14,20 +14,26 @@ Then you're all set!
14
14
 
15
15
  ## Installation
16
16
 
17
- ### As a Rubygem
18
-
19
- gem-src is a gem plugin that can be installed via gem install command:
20
-
21
- % gem install gem-src
22
-
23
17
  ### :star2: As an rbenv plugin (recommended)
24
18
 
25
19
  Alternatively, if you're using rbenv, you can install gem-src as an rbenv plugin:
26
20
 
27
- % git clone https://github.com/amatsuda/gem-src.git ~/.rbenv/plugins/gem-src
21
+ % git clone https://github.com/amatsuda/gem-src.git "$(rbenv root)/plugins/gem-src"
28
22
 
29
23
  then you get gem-src enabled for all `gem` and `bundle` commands invoked through rbenv.
30
24
 
25
+ ### :star2: As a Bundler plugin (experimental, but also recommended)
26
+
27
+ gem-src is a bundler plugin that can be installed via bundler plugin install command:
28
+
29
+ % bundler plugin install gem-src
30
+
31
+ ### As a Rubygem
32
+
33
+ gem-src is a gem plugin that can be installed via gem install command:
34
+
35
+ % gem install gem-src
36
+
31
37
  ## Configuration
32
38
 
33
39
  ### By default
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = "gem-src"
7
- gem.version = '0.9.0'
7
+ gem.version = '0.10.0'
8
8
  gem.authors = ["Akira Matsuda"]
9
9
  gem.email = ["ronnie@dio.jp"]
10
10
  gem.description = 'Gem.post_install { `git clone gem_source src` }'
@@ -0,0 +1,81 @@
1
+ module Gem
2
+ class Src
3
+ IRREGULAR_REPOSITORIES = {
4
+ 'activesupport' => nil,
5
+ 'actionview' => nil,
6
+ 'actionpack' => nil,
7
+ 'activemodel' => nil,
8
+ 'activerecord' => nil,
9
+ 'activerecord-jdbcmysql-adapter' => 'https://github.com/jruby/activerecord-jdbc-adapter',
10
+ 'activerecord-jdbcpostgresql-adapter' => 'https://github.com/jruby/activerecord-jdbc-adapter',
11
+ 'activerecord-jdbcsqlite3-adapter' => 'https://github.com/jruby/activerecord-jdbc-adapter',
12
+ 'activejob' => nil,
13
+ 'actionmailbox' => nil,
14
+ 'actionmailer' => nil,
15
+ 'actioncable' => nil,
16
+ 'actiontext' => nil,
17
+ 'activestorage' => nil,
18
+ 'railties' => nil,
19
+ 'activeresource' => 'https://github.com/rails/activeresource.git',
20
+ 'autoparse' => 'https://github.com/google/autoparse.git',
21
+ 'aws-sdk-rails' => 'https://github.com/aws/aws-sdk-rails.git',
22
+ 'breadcrumbs_on_rails' => 'https://github.com/weppos/breadcrumbs_on_rails',
23
+ 'bson' => 'https://github.com/mongodb/bson-ruby.git',
24
+ 'coffee-script-source' => 'https://github.com/rails/ruby-coffee-script',
25
+ 'compass-core' => 'https://github.com/Compass/compass.git',
26
+ 'compass-import-once' => 'https://github.com/Compass/compass.git',
27
+ 'concurrent-ruby' => 'https://github.com/ruby-concurrency/concurrent-ruby/',
28
+ 'concurrent-ruby-edge' => 'https://github.com/ruby-concurrency/concurrent-ruby/',
29
+ 'concurrent-ruby-ext' => 'https://github.com/ruby-concurrency/concurrent-ruby/',
30
+ 'cool.io' => 'https://github.com/tarcieri/cool.io.git',
31
+ 'cucumber-core' => 'https://github.com/cucumber/cucumber-ruby-core.git',
32
+ 'cucumber-wire' => 'https://github.com/cucumber/cucumber-ruby-wire.git',
33
+ 'diff-lcs' => 'https://github.com/halostatue/diff-lcs.git',
34
+ 'elasticsearch' => 'https://github.com/elastic/elasticsearch-ruby.git',
35
+ 'elasticsearch-api' => 'https://github.com/elastic/elasticsearch-ruby.git',
36
+ 'elasticsearch-extensions' => 'https://github.com/elastic/elasticsearch-ruby.git',
37
+ 'elasticsearch-transport' => 'https://github.com/elastic/elasticsearch-ruby.git',
38
+ 'erubis' => 'https://github.com/kwatch/erubis.git',
39
+ 'flay' => 'https://github.com/seattlerb/flay',
40
+ 'geocoder' => 'https://github.com/alexreisner/geocoder',
41
+ 'hirb' => 'https://github.com/cldwalker/hirb',
42
+ 'houston' => 'https://github.com/nomad/houston',
43
+ 'html2haml' => 'https://github.com/haml/html2haml',
44
+ 'io-console' => 'https://github.com/ruby/io-console',
45
+ 'kaminari-actionview' => nil,
46
+ 'kaminari-activerecord' => nil,
47
+ 'kaminari-core' => nil,
48
+ 'kwalify' => nil,
49
+ 'log4r' => 'https://github.com/colbygk/log4r',
50
+ 'meta_request' => 'https://github.com/dejan/rails_panel',
51
+ 'method_source' => 'https://github.com/banister/method_source',
52
+ 'origin' => 'https://github.com/mongoid/origin',
53
+ 'padrino' => 'https://github.com/padrino/padrino-framework',
54
+ 'padrino-admin' => nil,
55
+ 'padrino-cache' => nil,
56
+ 'padrino-core' => nil,
57
+ 'padrino-gen' => nil,
58
+ 'padrino-helpers' => nil,
59
+ 'padrino-mailer' => nil,
60
+ 'padrino-performance' => nil,
61
+ 'padrino-support' => nil,
62
+ 'paranoia' => 'https://github.com/rubysherpas/paranoia',
63
+ 'pdf-core' => 'https://github.com/prawnpdf/pdf-core',
64
+ 'pg' => nil,
65
+ 'rack-mini-profiler' => 'https://github.com/MiniProfiler/rack-mini-profiler',
66
+ 'raindrops' => 'https://github.com/tmm1/raindrops',
67
+ 'redis-actionpack' => 'https://github.com/redis-store/redis-actionpack',
68
+ 'redis-activesupport' => 'https://github.com/redis-store/redis-activesupport',
69
+ 'redis-rack' => 'https://github.com/redis-store/redis-rack',
70
+ 'redis-rails' => 'https://github.com/redis-store/redis-rails',
71
+ 'rom-mapper' => 'https://github.com/rom-rb/rom-mapper',
72
+ 'rom-repository' => 'https://github.com/rom-rb/rom-repository',
73
+ 'rom-sql' => 'https://github.com/rom-rb/rom-sql',
74
+ 'rouge' => 'https://github.com/jneen/rouge',
75
+ 'rubygems-update' => nil,
76
+ 'spreadsheet' => 'https://github.com/zdavatz/spreadsheet',
77
+ 'thin' => 'https://github.com/macournoyer/thin',
78
+ 'uniform_notifier' => 'https://github.com/flyerhzm/uniform_notifier'
79
+ }.freeze unless defined? IRREGULAR_REPOSITORIES
80
+ end
81
+ end
@@ -5,35 +5,46 @@ require 'net/https'
5
5
 
6
6
  module Gem
7
7
  class Src
8
- IRREGULAR_REPOSITORIES = {'activesupport' => nil, 'actionview' => nil, 'actionpack' => nil, 'activemodel' => nil, 'activerecord' => nil, 'activejob' => nil, 'actionmailer' => nil, 'actioncable' => nil, 'railties' => nil, 'activeresource' => 'https://github.com/rails/activeresource.git', 'autoparse' => 'https://github.com/google/autoparse.git', 'aws-sdk-rails' => 'https://github.com/aws/aws-sdk-rails.git', 'bson' => 'https://github.com/mongodb/bson-ruby.git', 'compass-core' => 'https://github.com/Compass/compass.git', 'compass-import-once' => 'https://github.com/Compass/compass.git', 'cool.io' => 'https://github.com/tarcieri/cool.io.git', 'cucumber-core' => 'https://github.com/cucumber/cucumber-ruby-core.git', 'cucumber-wire' => 'https://github.com/cucumber/cucumber-ruby-wire.git', 'diff-lcs' => 'https://github.com/halostatue/diff-lcs.git', 'elasticsearch-api' => 'https://github.com/elastic/elasticsearch-ruby.git', 'elasticsearch-transport' => 'https://github.com/elastic/elasticsearch-ruby.git', 'erubis' => 'https://github.com/kwatch/erubis.git', 'geocoder' => 'https://github.com/alexreisner/geocoder', 'hirb' => 'https://github.com/cldwalker/hirb', 'html2haml' => 'https://github.com/haml/html2haml', 'io-console' => nil, 'kaminari-actionview' => nil, 'kaminari-activerecord' => nil, 'kaminari-core' => nil, 'meta_request' => 'https://github.com/dejan/rails_panel', 'method_source' => 'https://github.com/banister/method_source', 'origin' => 'https://github.com/mongoid/origin', 'padrino' => 'https://github.com/padrino/padrino-framework', 'padrino-admin' => nil, 'padrino-cache' => nil, 'padrino-core' => nil, 'padrino-gen' => nil, 'padrino-helpers' => nil, 'padrino-mailer' => nil, 'padrino-performance' => nil, 'padrino-support' => nil, 'paranoia' => 'https://github.com/rubysherpas/paranoia', 'pdf-core' => 'https://github.com/prawnpdf/pdf-core', 'pg' => nil, 'rack-mini-profiler' => 'https://github.com/MiniProfiler/rack-mini-profiler', 'raindrops' => 'https://github.com/tmm1/raindrops', 'redis-actionpack' => 'https://github.com/redis-store/redis-actionpack', 'redis-activesupport' => 'https://github.com/redis-store/redis-activesupport', 'redis-rack' => 'https://github.com/redis-store/redis-rack', 'redis-rails' => 'https://github.com/redis-store/redis-rails', 'rouge' => 'https://github.com/jneen/rouge', 'spreadsheet' => 'https://github.com/zdavatz/spreadsheet', 'thin' => 'https://github.com/macournoyer/thin', 'uniform_notifier' => 'https://github.com/flyerhzm/uniform_notifier'}.freeze
8
+ class << self
9
+ def post_install_hook(installer)
10
+ return true if installer.class.name == 'Bundler::Source::Path::Installer'
11
+ return true if !!ENV['GEMSRC_SKIP']
9
12
 
10
- attr_reader :installer
13
+ gem_src = Gem::Src.new installer
14
+ gem_src.git_clone_homepage_or_source_code_uri_or_homepage_uri_or_github_organization_uri
15
+
16
+ gem_src.repositorize_installed_gem
17
+
18
+ gem_src.remote_add_src_and_origin
19
+ true
20
+ end
21
+ end
11
22
 
12
23
  def initialize(installer)
13
- @installer, @tested_repositories = installer, []
24
+ @installer, @spec, @tested_repositories = installer, installer.spec, []
14
25
  end
15
26
 
16
27
  # Guess the git repo from the gemspec and perform git clone
17
28
  def git_clone_homepage_or_source_code_uri_or_homepage_uri_or_github_organization_uri
18
- return false if skip_clone?
19
29
  return false if File.exist? clone_dir
20
30
 
21
31
  now = Time.now
22
32
 
23
- if IRREGULAR_REPOSITORIES.key? installer.spec.name
24
- return git_clone IRREGULAR_REPOSITORIES[installer.spec.name]
33
+ if IRREGULAR_REPOSITORIES.key? @spec.name
34
+ return git_clone IRREGULAR_REPOSITORIES[@spec.name]
25
35
  end
26
36
 
27
- result = git_clone(installer.spec.homepage) ||
28
- git_clone(github_url(installer.spec.homepage)) ||
37
+ result = git_clone(source_code_uri_from_metadata) ||
38
+ git_clone(@spec.homepage) ||
39
+ git_clone(github_url(@spec.homepage)) ||
29
40
  git_clone(source_code_uri) ||
30
41
  git_clone(homepage_uri) ||
31
42
  git_clone(github_url(homepage_uri)) ||
32
- git_clone(github_organization_uri(installer.spec.name))
43
+ git_clone(github_organization_uri(@spec.name))
33
44
 
34
45
  if verbose?
35
- puts "gem-src: #{installer.spec.name} - !!! Failed to find a repo." if result.nil?
36
- puts "gem-src: #{installer.spec.name} - #{Time.now - now}s"
46
+ puts "gem-src: #{@spec.name} - !!! Failed to find a repo." if result.nil?
47
+ puts "gem-src: #{@spec.name} - #{Time.now - now}s"
37
48
  end
38
49
  result
39
50
  end
@@ -41,7 +52,7 @@ module Gem
41
52
  # git init the installed gem so that we can directly edit the files there
42
53
  def repositorize_installed_gem
43
54
  if File.directory? gem_dir
44
- puts "gem-src: #{installer.spec.name} - repositorizing..." if verbose?
55
+ puts "gem-src: #{@spec.name} - repositorizing..." if verbose?
45
56
  `cd #{gem_dir} && ! git rev-parse --is-inside-work-tree 2> /dev/null && git init && git checkout -qb gem-src_init && git add -A && git commit -m 'Initial commit by gem-src'`
46
57
  end
47
58
  end
@@ -49,10 +60,10 @@ module Gem
49
60
  # git remote add from the installed gem to the cloned repo so that we can easily transfer patches
50
61
  def remote_add_src_and_origin
51
62
  if File.directory?(clone_dir) && File.directory?(gem_dir)
52
- puts "gem-src: #{installer.spec.name} - adding remotes..." if verbose?
63
+ puts "gem-src: #{@spec.name} - adding remotes..." if verbose?
53
64
  `cd #{gem_dir} && git remote add src #{clone_dir}`
54
65
  origin = `cd #{clone_dir} && git remote get-url origin`.chomp
55
- `cd #{gem_dir} && git remote set-url origin #{origin}` if origin
66
+ `cd #{gem_dir} && git config remote.origin.url #{origin}` if origin
56
67
  end
57
68
  end
58
69
 
@@ -60,17 +71,22 @@ module Gem
60
71
 
61
72
  def clone_dir
62
73
  @clone_dir ||= if ENV['GEMSRC_CLONE_ROOT']
63
- File.expand_path installer.spec.name, ENV['GEMSRC_CLONE_ROOT']
74
+ File.expand_path @spec.name, ENV['GEMSRC_CLONE_ROOT']
64
75
  elsif Gem.configuration[:gemsrc_clone_root]
65
- File.expand_path installer.spec.name, Gem.configuration[:gemsrc_clone_root]
76
+ File.expand_path @spec.name, Gem.configuration[:gemsrc_clone_root]
66
77
  else
67
- gem_dir = installer.respond_to?(:gem_dir) ? installer.gem_dir : File.expand_path(File.join(installer.gem_home, 'gems', installer.spec.full_name))
68
78
  File.join gem_dir, 'src'
69
79
  end
70
80
  end
71
81
 
72
82
  def gem_dir
73
- installer.respond_to?(:gem_dir) ? installer.gem_dir : File.expand_path(File.join(installer.gem_home, 'gems', installer.spec.full_name))
83
+ if @installer.respond_to?(:gem_dir)
84
+ @installer.gem_dir
85
+ elsif @installer.respond_to?(:gem_home) # old rubygems
86
+ File.expand_path(File.join(@installer.gem_home, 'gems', @spec.full_name))
87
+ else # bundler
88
+ File.expand_path(File.join(Gem.dir, 'gems', @spec.full_name))
89
+ end
74
90
  end
75
91
 
76
92
  def github_url(url)
@@ -99,9 +115,13 @@ module Gem
99
115
  Net::HTTP.new('github.com', 443).tap {|h| h.use_ssl = true }.request_head(url).code != '404'
100
116
  end
101
117
 
118
+ def source_code_uri_from_metadata
119
+ @spec.metadata['source_code_uri']
120
+ end
121
+
102
122
  def api
103
123
  require 'open-uri'
104
- @api ||= open("https://rubygems.org/api/v1/gems/#{installer.spec.name}.yaml", &:read)
124
+ @api ||= OpenURI.open_uri("https://rubygems.org/api/v1/gems/#{@spec.name}.yaml", &:read)
105
125
  rescue OpenURI::HTTPError
106
126
  ""
107
127
  end
@@ -120,11 +140,12 @@ module Gem
120
140
 
121
141
  def git_clone(repository)
122
142
  return if repository.nil? || repository.empty?
143
+ return if repository.include? 'rubyforge.org'
123
144
  return if @tested_repositories.include? repository
124
145
  @tested_repositories << repository
125
146
  return if github?(repository) && !github_page_exists?(repository)
126
147
 
127
- puts "gem-src: #{installer.spec.name} - Cloning from #{repository}..." if verbose?
148
+ puts "gem-src: #{@spec.name} - Cloning from #{repository}..." if verbose?
128
149
 
129
150
  if use_ghq?
130
151
  system 'ghq', 'get', repository
@@ -142,25 +163,15 @@ module Gem
142
163
  uri =~ /\A(?:https?|git):\/\// ? uri : nil
143
164
  end
144
165
 
145
- def skip_clone?
146
- !!ENV['GEMSRC_SKIP']
147
- end
148
-
149
166
  def verbose?
150
167
  !!ENV['GEMSRC_VERBOSE'] || Gem.configuration[:gemsrc_verbose]
151
168
  end
152
- end
169
+ end unless defined?(Src) # for rubygems test suite.
153
170
  end
154
171
 
172
+ require 'gem/src/irregular_repositories'
155
173
 
156
- Gem.post_install do |installer|
157
- next true if installer.class.name == 'Bundler::Source::Path::Installer'
158
-
159
- gem_src = Gem::Src.new installer
160
- gem_src.git_clone_homepage_or_source_code_uri_or_homepage_uri_or_github_organization_uri
161
-
162
- gem_src.repositorize_installed_gem
163
174
 
164
- gem_src.remote_add_src_and_origin
165
- true
175
+ Gem.post_install do |installer|
176
+ Gem::Src.post_install_hook installer
166
177
  end
@@ -0,0 +1,7 @@
1
+ # frozen-string-literal: true
2
+
3
+ Bundler::Plugin::API.hook Bundler::Plugin::Events::GEM_AFTER_INSTALL do |spec_install|
4
+ require_relative 'lib/rubygems_plugin'
5
+
6
+ Gem::Src.post_install_hook spec_install
7
+ end
@@ -0,0 +1,71 @@
1
+ require 'spec_helper'
2
+
3
+ describe Gem::Src do
4
+ def quick_gem(name, version='2')
5
+ require 'rubygems/specification'
6
+
7
+ spec = Gem::Specification.new do |s|
8
+ s.platform = Gem::Platform::RUBY
9
+ s.name = name
10
+ s.version = version
11
+ s.author = 'A User'
12
+ s.email = 'example@example.com'
13
+ s.homepage = 'http://example.com'
14
+ s.summary = "this is a summary"
15
+ s.description = "This is a test description"
16
+
17
+ yield(s) if block_given?
18
+ end
19
+
20
+ Gem::Specification.map # HACK: force specs to (re-)load before we write
21
+
22
+ written_path = write_file spec.spec_file do |io|
23
+ io.write spec.to_ruby_for_cache
24
+ end
25
+
26
+ spec.loaded_from = spec.loaded_from = written_path
27
+
28
+ Gem::Specification.add_spec spec.for_cache
29
+
30
+ spec
31
+ end
32
+
33
+ describe '#clone_dir' do
34
+ subject do
35
+ gem = quick_gem 'my_awesome_gem'
36
+ installer = Gem::Installer.new gem
37
+ installer.stub(:gem_dir, '~/g/my_awesome_gem')
38
+ Gem::Src.new installer
39
+ end
40
+ context "with ENV['GEMSRC_CLONE_ROOT']" do
41
+ around do |example|
42
+ e, g = ENV['GEMSRC_CLONE_ROOT'], Gem.configuration[:gemsrc_clone_root]
43
+ ENV['GEMSRC_CLONE_ROOT'], Gem.configuration[:gemsrc_clone_root] = '~/foo', nil
44
+ example.run
45
+ ENV['GEMSRC_CLONE_ROOT'], Gem.configuration[:gemsrc_clone_root] = e, g
46
+ end
47
+ its(:clone_dir) { should == '~/foo/my_awesome_gem' }
48
+ end
49
+
50
+ context "with Gem.configuration[:gemsrc_clone_root]" do
51
+ around do |example|
52
+ e, g = ENV['GEMSRC_CLONE_ROOT'], Gem.configuration[:gemsrc_clone_root]
53
+ ENV['GEMSRC_CLONE_ROOT'], Gem.configuration[:gemsrc_clone_root] = nil, '~/bar'
54
+ example.run
55
+ ENV['GEMSRC_CLONE_ROOT'], Gem.configuration[:gemsrc_clone_root] = e, g
56
+ end
57
+ its(:clone_dir) { should == '~/bar/my_awesome_gem' }
58
+ end
59
+
60
+ context "without clone_root configuration" do
61
+ around do |example|
62
+ e, g = ENV['GEMSRC_CLONE_ROOT'], Gem.configuration[:gemsrc_clone_root]
63
+ ENV['GEMSRC_CLONE_ROOT'], Gem.configuration[:gemsrc_clone_root] = nil, nil
64
+ example.run
65
+ ENV['GEMSRC_CLONE_ROOT'], Gem.configuration[:gemsrc_clone_root] = e, g
66
+ end
67
+ its(:clone_dir) { should == '~/aho/my_awesome_gem/src' }
68
+ end
69
+
70
+ end
71
+ end
@@ -0,0 +1,6 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+
4
+ require 'bundler/setup'
5
+ Bundler.require
6
+ require File.join(File.dirname(__FILE__), '../lib/rubygems_plugin')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gem-src
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akira Matsuda
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-20 00:00:00.000000000 Z
11
+ date: 2020-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -38,7 +38,11 @@ files:
38
38
  - Rakefile
39
39
  - etc/rbenv.d/exec/~gem-src.bash
40
40
  - gem-src.gemspec
41
+ - lib/gem/src/irregular_repositories.rb
41
42
  - lib/rubygems_plugin.rb
43
+ - plugins.rb
44
+ - spec/gem-src_spec.rb
45
+ - spec/spec_helper.rb
42
46
  homepage: https://github.com/amatsuda/gem-src
43
47
  licenses: []
44
48
  metadata: {}
@@ -64,9 +68,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
64
68
  - !ruby/object:Gem::Version
65
69
  version: '0'
66
70
  requirements: []
67
- rubyforge_project:
68
- rubygems_version: 2.6.8
69
- signing_key:
71
+ rubygems_version: 3.2.0.rc.1
72
+ signing_key:
70
73
  specification_version: 4
71
74
  summary: Gem.post_install { `git clone gem_source src` }
72
- test_files: []
75
+ test_files:
76
+ - spec/gem-src_spec.rb
77
+ - spec/spec_helper.rb