pluggability 0.5.0 → 0.6.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
2
  SHA256:
3
- metadata.gz: 12c5c85715daf5f17c850a2e30068fb8cf9e91e78215228273422093768b040e
4
- data.tar.gz: 21f1401f755a1f4fc4c0c1d80b40497701a5eddeeb9c78c5851aa1d9d14840ca
3
+ metadata.gz: e23ede1e5fd763077f3a64da3b661d1f769da80c52e951d251e49bff33a20cc8
4
+ data.tar.gz: 77cc7a5f4b8454d0575ca95f3f4da6d41b6788348a5cbab058a30bda6bcc587c
5
5
  SHA512:
6
- metadata.gz: 294a6fa9924a062b02ed858b87a20d75f298ec47e026fbc9bedb25e61fd4ec8a9f8207a3cb72202317df2a516cf269b7e06089ef008baddd5cd342f0e173e3bf
7
- data.tar.gz: b50fcf256c417e4e7ff0dff4e09f540c7719320beeae835ac00463a2427056f708f0e3ccc6fa1446046f83cc329e7409c0f8c8b86da4c12c7ee7b67c6dfd3420
6
+ metadata.gz: c6e5e411c4e132b979edf119454c3c92bdc6964d25a49ad7e1571a52321b2bb9a29d91d50817138af9a6337553b3a16fc6d9703a9066bdae5a632356a2ec2353
7
+ data.tar.gz: c0e57bc0cf6f70345fe4bc247501a78d2dba35c602bfa640c54cd1e7babe74592467fb0999d91baae30ebf6b8faeef2f420486aa107aa8077df16e36456adc28
Binary file
data.tar.gz.sig CHANGED
Binary file
data/History.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## v0.6.0 [2018-03-12] Michael Granger <ged@FaerieMUD.org>
2
+
3
+ - Switch back to require for loading derivatives
4
+
5
+
1
6
  ## v0.5.0 [2018-01-19] Michael Granger <ged@FaerieMUD.org>
2
7
 
3
8
  Enhancements:
@@ -12,7 +12,7 @@ module Pluggability
12
12
 
13
13
 
14
14
  # Library version
15
- VERSION = '0.5.0'
15
+ VERSION = '0.6.0'
16
16
 
17
17
 
18
18
  # An exception class for Pluggability specific errors.
@@ -279,7 +279,7 @@ module Pluggability
279
279
 
280
280
  candidates.each do |path|
281
281
  next if self.is_excluded_path?( path )
282
- Kernel.load( path )
282
+ Kernel.require( path )
283
283
  end
284
284
  end
285
285
 
@@ -333,8 +333,7 @@ module Pluggability
333
333
 
334
334
 
335
335
  ### Search for the module with the specified <tt>mod_name</tt>, using any
336
- ### #plugin_prefixes that have been set. Return the result of +Kernel.load+ing
337
- ### the first candidate.
336
+ ### #plugin_prefixes that have been set. Return the path that was required.
338
337
  def require_derivative( mod_name )
339
338
  plugin_path = self.find_plugin_path( mod_name )
340
339
  unless plugin_path
@@ -347,7 +346,7 @@ module Pluggability
347
346
  raise Pluggability::PluginError, errmsg
348
347
  end
349
348
 
350
- Kernel.load( plugin_path.untaint )
349
+ Kernel.require( plugin_path.untaint )
351
350
 
352
351
  return plugin_path
353
352
  end
@@ -51,7 +51,7 @@ describe Pluggability do
51
51
 
52
52
  it "returns derivatives directly if they're already loaded" do
53
53
  class AlreadyLoadedPlugin < Plugin; end
54
- expect( Kernel ).to_not receive( :load )
54
+ expect( Kernel ).to_not receive( :require )
55
55
  expect( Plugin.create('alreadyloaded') ).to be_an_instance_of( AlreadyLoadedPlugin )
56
56
  expect( Plugin.create('AlreadyLoaded') ).to be_an_instance_of( AlreadyLoadedPlugin )
57
57
  expect( Plugin.create('AlreadyLoadedPlugin') ).to be_an_instance_of( AlreadyLoadedPlugin )
@@ -94,7 +94,7 @@ describe Pluggability do
94
94
  expect( Gem ).to receive( :find_latest_files ).
95
95
  at_least( :once ).
96
96
  and_return( ['/some/path/to/plugins/dazzle.rb'] )
97
- expect( Kernel ).to receive( :load ).with( '/some/path/to/plugins/dazzle.rb' ) do |*args|
97
+ expect( Kernel ).to receive( :require ).with( '/some/path/to/plugins/dazzle.rb' ) do |*args|
98
98
  loaded_class = Class.new( Plugin )
99
99
  # Simulate a named class, since we're not really requiring
100
100
  Plugin.derivatives['dazzle'] = loaded_class
@@ -122,7 +122,7 @@ describe Pluggability do
122
122
  expect( Gem ).to receive( :find_latest_files ).
123
123
  at_least( :once ).
124
124
  and_return( ['/some/path/to/corruscating.rb'] )
125
- expect( Kernel ).to receive( :load ).
125
+ expect( Kernel ).to receive( :require ).
126
126
  with( '/some/path/to/corruscating.rb' ).
127
127
  and_return( true )
128
128
 
@@ -136,7 +136,7 @@ describe Pluggability do
136
136
  expect( Gem ).to receive( :find_latest_files ).
137
137
  at_least( :once ).
138
138
  and_return( ['/some/path/to/portable.rb'] )
139
- expect( Kernel ).to receive( :load ).
139
+ expect( Kernel ).to receive( :require ).
140
140
  with( '/some/path/to/portable.rb' ).
141
141
  and_raise( ScriptError.new("error while parsing path") )
142
142
 
@@ -152,8 +152,8 @@ describe Pluggability do
152
152
  and_return( ['/some/path/to/portable', '/some/path/to/portable.rb'] )
153
153
  expect( File ).to receive( :file? ).and_return( false )
154
154
 
155
- expect( Kernel ).to_not receive( :load ).with( '/some/path/to/portable' )
156
- expect( Kernel ).to receive( :load ).
155
+ expect( Kernel ).to_not receive( :require ).with( '/some/path/to/portable' )
156
+ expect( Kernel ).to receive( :require ).
157
157
  with( '/some/path/to/portable.rb' ).
158
158
  and_return( true )
159
159
 
@@ -169,11 +169,11 @@ describe Pluggability do
169
169
  expect( Gem ).to receive( :find_latest_files ).with( 'plugins/private/*.rb' ).
170
170
  and_return([ 'plugins/private/second.rb', 'plugins/private/third.rb' ])
171
171
 
172
- expect( Kernel ).to receive( :load ).with( 'plugins/first.rb' ).
172
+ expect( Kernel ).to receive( :require ).with( 'plugins/first.rb' ).
173
173
  and_return( true )
174
- expect( Kernel ).to receive( :load ).with( 'plugins/private/second.rb' ).
174
+ expect( Kernel ).to receive( :require ).with( 'plugins/private/second.rb' ).
175
175
  and_return( true )
176
- expect( Kernel ).to receive( :load ).with( 'plugins/private/third.rb' ).
176
+ expect( Kernel ).to receive( :require ).with( 'plugins/private/third.rb' ).
177
177
  and_return( true )
178
178
 
179
179
  Plugin.load_all
@@ -185,10 +185,10 @@ describe Pluggability do
185
185
  expect( Gem ).to receive( :find_latest_files ).with( 'plugins/private/*.rb' ).
186
186
  and_return([ '/path/to/plugins/private/second.rb', '/path/to/plugins/private/third.rb' ])
187
187
 
188
- expect( Kernel ).to receive( :load ).with( '/path/to/plugins/first.rb' ).
188
+ expect( Kernel ).to receive( :require ).with( '/path/to/plugins/first.rb' ).
189
189
  and_return( true )
190
- expect( Kernel ).to_not receive( :load ).with( '/path/to/plugins/private/second.rb' )
191
- expect( Kernel ).to_not receive( :load ).with( '/path/to/plugins/private/third.rb' )
190
+ expect( Kernel ).to_not receive( :require ).with( '/path/to/plugins/private/second.rb' )
191
+ expect( Kernel ).to_not receive( :require ).with( '/path/to/plugins/private/third.rb' )
192
192
 
193
193
  Plugin.plugin_exclusions( %r{/private} )
194
194
  Plugin.load_all
@@ -201,11 +201,11 @@ describe Pluggability do
201
201
  expect( Gem ).to receive( :find_latest_files ).with( 'plugins/private/*.rb' ).
202
202
  and_return([ 'plugins/private/second.rb', 'plugins/private/third.rb' ])
203
203
 
204
- expect( Kernel ).to receive( :load ).with( 'plugins/first.rb' ).
204
+ expect( Kernel ).to receive( :require ).with( 'plugins/first.rb' ).
205
205
  and_return( true )
206
- expect( Kernel ).to receive( :load ).with( 'plugins/private/second.rb' ).
206
+ expect( Kernel ).to receive( :require ).with( 'plugins/private/second.rb' ).
207
207
  and_return( true )
208
- expect( Kernel ).to_not receive( :load ).with( 'plugins/private/third.rb' )
208
+ expect( Kernel ).to_not receive( :require ).with( 'plugins/private/third.rb' )
209
209
 
210
210
  Plugin.plugin_exclusions( '**/third.rb' )
211
211
  Plugin.load_all
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pluggability
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Chase
@@ -36,7 +36,7 @@ cert_chain:
36
36
  X0qdrKi+2aZZ0NGuFj9AItBsVmAvkBGIpX4TEKQp5haEbPpmaqO5nIIhV26PXmyT
37
37
  OMKv6pWsoS81vw5KAGBmfX8nht/Py90DQrbRvakATGI=
38
38
  -----END CERTIFICATE-----
39
- date: 2018-01-19 00:00:00.000000000 Z
39
+ date: 2018-03-21 00:00:00.000000000 Z
40
40
  dependencies:
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: loggability
metadata.gz.sig CHANGED
Binary file