rggen-core 0.25.0 → 0.25.1

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: 57e33c7b563198efa0e1d2c20adcb0b6896d72d4575673c9f64761aeca93779a
4
- data.tar.gz: 61e593cab9704bdc330a3767791afc9e6373020809777c7cd4f67ac18adb7b92
3
+ metadata.gz: 7915fd6d79d893307c6b14ef89fa805139615cfd12e7400c68098a14e824fe0d
4
+ data.tar.gz: 0f41b79d7df0cfd60b46d30a411d168e1ba4bfafb337c2af1ca87616e4cdf296
5
5
  SHA512:
6
- metadata.gz: 40b23ff5bd0eca3b9a53cda4cb37a220bd8e7a5648bfce598c1404031bfb43421eda997eb8a7c37868e31418a54c7267d336f72631d29522106c20dc3752433a
7
- data.tar.gz: 6918ad93d019dd22e4af13205eb5c8529b1ae8b7c71cd50352b183ae84d3c5a54682189e606859adcd7e70cd292f42d11b8621997cff95ac2e89e2b47f876d1f
6
+ metadata.gz: 3982fd1243a0181d48e3588c58493fb14457a476d1615c23e54583a09b42fe53e7625dced0405d6d6deaca22a1673f49ceb1568840ec66a8c8bbbd5f52dbaa8b
7
+ data.tar.gz: ac8fbcebc7f56751455069e11e972e319e38a379e8bf1855537444bcfb82f2fbb34f03f419e1079552fce44176ea94c56e3311a0c0b0dbfe4e9b5b6019123a2e
@@ -30,13 +30,13 @@ module RgGen
30
30
 
31
31
  def load_plugin(setup_path_or_name)
32
32
  setup_path_or_name = setup_path_or_name.to_s.strip
33
- setup_path =
33
+ setup_path, root_dir =
34
34
  if setup_file_directly_given?(setup_path_or_name)
35
- setup_path_or_name
35
+ [setup_path_or_name, extract_root_dir(setup_path_or_name)]
36
36
  else
37
- get_setup_path(setup_path_or_name)
37
+ [get_setup_path(setup_path_or_name), nil]
38
38
  end
39
- read_setup_file(setup_path, setup_path_or_name)
39
+ read_setup_file(setup_path, setup_path_or_name, root_dir)
40
40
  end
41
41
 
42
42
  def load_plugins(plugins, no_default_plugins, activation = true)
@@ -69,13 +69,26 @@ module RgGen
69
69
  File.basename(setup_path_or_name, '.*') == 'setup'
70
70
  end
71
71
 
72
+ def extract_root_dir(setup_path)
73
+ Pathname
74
+ .new(setup_path)
75
+ .ascend.find(&method(:rggen_dir?))
76
+ &.parent
77
+ &.to_s
78
+ end
79
+
80
+ def rggen_dir?(path)
81
+ path.each_filename.to_a[-2..-1] == ['lib', 'rggen']
82
+ end
83
+
72
84
  def get_setup_path(name)
73
85
  base, sub_directory = name.split('/', 2)
74
86
  base = base.sub(/^rggen[-_]/, '').tr('-', '_')
75
87
  File.join(*['rggen', base, sub_directory, 'setup'].compact)
76
88
  end
77
89
 
78
- def read_setup_file(setup_path, setup_path_or_name)
90
+ def read_setup_file(setup_path, setup_path_or_name, root_dir)
91
+ root_dir && $LOAD_PATH.unshift(root_dir)
79
92
  require setup_path
80
93
  rescue ::LoadError
81
94
  message =
@@ -2,7 +2,7 @@
2
2
 
3
3
  module RgGen
4
4
  module Core
5
- VERSION = '0.25.0'
5
+ VERSION = '0.25.1'
6
6
  MAJOR, MINOR, PATCH = VERSION.split('.').map(&:to_i)
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rggen-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.25.0
4
+ version: 0.25.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Taichi Ishitani
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-28 00:00:00.000000000 Z
11
+ date: 2021-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: docile
@@ -215,5 +215,5 @@ requirements: []
215
215
  rubygems_version: 3.2.3
216
216
  signing_key:
217
217
  specification_version: 4
218
- summary: rggen-core-0.25.0
218
+ summary: rggen-core-0.25.1
219
219
  test_files: []