pluggability 0.6.0 → 0.7.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/ChangeLog +836 -806
- data/History.md +13 -0
- data/README.md +11 -5
- data/Rakefile +3 -81
- data/lib/pluggability.rb +2 -2
- data/spec/helpers.rb +1 -0
- metadata +40 -122
- metadata.gz.sig +0 -0
data/History.md
CHANGED
@@ -1,5 +1,18 @@
|
|
1
|
+
# Release History for pluggability
|
2
|
+
|
3
|
+
---
|
4
|
+
|
5
|
+
## v0.7.0 [2020-02-05] Michael Granger <ged@faeriemud.org>
|
6
|
+
|
7
|
+
Improvements:
|
8
|
+
|
9
|
+
- Updated for Ruby 2.7
|
10
|
+
|
11
|
+
|
1
12
|
## v0.6.0 [2018-03-12] Michael Granger <ged@FaerieMUD.org>
|
2
13
|
|
14
|
+
Bugfix:
|
15
|
+
|
3
16
|
- Switch back to require for loading derivatives
|
4
17
|
|
5
18
|
|
data/README.md
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
# pluggability
|
2
2
|
|
3
|
-
|
4
|
-
: https://
|
3
|
+
home
|
4
|
+
: https://hg.sr.ht/~ged/pluggability
|
5
5
|
|
6
6
|
docs
|
7
|
-
:
|
7
|
+
: https://deveiate.org/code/pluggability
|
8
8
|
|
9
9
|
github
|
10
|
-
:
|
10
|
+
: https://github.com/ged/pluggability
|
11
11
|
|
12
12
|
|
13
13
|
## Description
|
@@ -239,9 +239,15 @@ This task will install any missing dependencies, run the tests/specs,
|
|
239
239
|
and generate the API documentation.
|
240
240
|
|
241
241
|
|
242
|
+
## Authors
|
243
|
+
|
244
|
+
- Michael Granger <ged@faeriemud.org>
|
245
|
+
- Martin Chase <outofculture@gmail.com>
|
246
|
+
|
247
|
+
|
242
248
|
## License
|
243
249
|
|
244
|
-
Copyright (c) 2008-
|
250
|
+
Copyright (c) 2008-2020, Michael Granger and Martin Chase
|
245
251
|
All rights reserved.
|
246
252
|
|
247
253
|
Redistribution and use in source and binary forms, with or without
|
data/Rakefile
CHANGED
@@ -1,87 +1,9 @@
|
|
1
1
|
#!/usr/bin/env rake
|
2
2
|
|
3
|
-
require 'rake/
|
3
|
+
require 'rake/deveiate'
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
rescue LoadError
|
8
|
-
abort "This Rakefile requires 'hoe' (gem install hoe)"
|
5
|
+
Rake::DevEiate.setup( 'pluggability' ) do |project|
|
6
|
+
project.publish_to = 'deveiate:/usr/local/www/public/code'
|
9
7
|
end
|
10
8
|
|
11
|
-
GEMSPEC = 'pluggability.gemspec'
|
12
|
-
|
13
|
-
Hoe.plugin :mercurial
|
14
|
-
Hoe.plugin :signing
|
15
|
-
Hoe.plugin :deveiate
|
16
|
-
|
17
|
-
Hoe.plugins.delete :rubyforge
|
18
|
-
|
19
|
-
hoespec = Hoe.spec 'pluggability' do |spec|
|
20
|
-
spec.readme_file = 'README.md'
|
21
|
-
spec.history_file = 'History.md'
|
22
|
-
spec.extra_rdoc_files = Rake::FileList[ '*.rdoc', '*.md' ]
|
23
|
-
spec.license 'BSD-3-Clause'
|
24
|
-
spec.urls = {
|
25
|
-
home: 'http://bitbucket.org/ged/pluggability',
|
26
|
-
code: 'http://bitbucket.org/ged/pluggability',
|
27
|
-
docs: 'http://deveiate.org/code/pluggability',
|
28
|
-
github: 'http://github.com/ged/pluggability',
|
29
|
-
}
|
30
|
-
|
31
|
-
spec.developer 'Martin Chase', 'stillflame@FaerieMUD.org'
|
32
|
-
spec.developer 'Michael Granger', 'ged@FaerieMUD.org'
|
33
|
-
|
34
|
-
spec.dependency 'loggability', '~> 0.12'
|
35
|
-
spec.dependency 'hoe-deveiate', '~> 0.9', :development
|
36
|
-
spec.dependency 'rdoc', '~> 5.1', :development
|
37
|
-
|
38
|
-
spec.require_ruby_version( '>=2.3.4' )
|
39
|
-
spec.hg_sign_tags = true if spec.respond_to?( :hg_sign_tags= )
|
40
|
-
spec.check_history_on_release = true if spec.respond_to?( :check_history_on_release= )
|
41
|
-
|
42
|
-
spec.rdoc_locations << "deveiate:/usr/local/www/public/code/#{remote_rdoc_dir}"
|
43
|
-
end
|
44
|
-
|
45
|
-
ENV['VERSION'] ||= hoespec.spec.version.to_s
|
46
|
-
|
47
|
-
# Ensure the specs pass before checking in
|
48
|
-
task 'hg:precheckin' => [ :check_history, :check_manifest, :gemspec, :spec ]
|
49
|
-
|
50
|
-
|
51
|
-
desc "Build a coverage report"
|
52
|
-
task :coverage do
|
53
|
-
ENV["COVERAGE"] = 'yes'
|
54
|
-
Rake::Task[:spec].invoke
|
55
|
-
end
|
56
|
-
CLOBBER.include( 'coverage' )
|
57
|
-
|
58
|
-
|
59
|
-
# Use the fivefish formatter for docs generated from development checkout
|
60
|
-
if File.directory?( '.hg' )
|
61
|
-
require 'rdoc/task'
|
62
|
-
|
63
|
-
Rake::Task[ 'docs' ].clear
|
64
|
-
RDoc::Task.new( 'docs' ) do |rdoc|
|
65
|
-
rdoc.main = "README.rdoc"
|
66
|
-
rdoc.rdoc_files.include( "*.rdoc", "ChangeLog", "lib/**/*.rb" )
|
67
|
-
rdoc.generator = :fivefish
|
68
|
-
rdoc.title = "Pluggability"
|
69
|
-
rdoc.rdoc_dir = 'doc'
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
task :gemspec => [ 'ChangeLog', __FILE__, 'Manifest.txt', GEMSPEC ]
|
74
|
-
task GEMSPEC do |task|
|
75
|
-
spec = $hoespec.spec
|
76
|
-
spec.files.delete( '.gemtest' )
|
77
|
-
spec.signing_key = nil
|
78
|
-
spec.version = "#{spec.version.bump}.0.pre#{Time.now.strftime("%Y%m%d%H%M%S")}"
|
79
|
-
File.open( task.name, 'w' ) do |fh|
|
80
|
-
fh.write( spec.to_ruby )
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
CLOBBER.include( GEMSPEC.to_s )
|
85
|
-
|
86
|
-
task :default => :gemspec
|
87
9
|
|
data/lib/pluggability.rb
CHANGED
@@ -12,7 +12,7 @@ module Pluggability
|
|
12
12
|
|
13
13
|
|
14
14
|
# Library version
|
15
|
-
VERSION = '0.
|
15
|
+
VERSION = '0.7.0'
|
16
16
|
|
17
17
|
|
18
18
|
# An exception class for Pluggability specific errors.
|
@@ -346,7 +346,7 @@ module Pluggability
|
|
346
346
|
raise Pluggability::PluginError, errmsg
|
347
347
|
end
|
348
348
|
|
349
|
-
Kernel.require( plugin_path
|
349
|
+
Kernel.require( plugin_path )
|
350
350
|
|
351
351
|
return plugin_path
|
352
352
|
end
|
data/spec/helpers.rb
CHANGED
metadata
CHANGED
@@ -1,42 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pluggability
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Martin Chase
|
8
7
|
- Michael Granger
|
8
|
+
- Martin Chase
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain:
|
12
12
|
- |
|
13
13
|
-----BEGIN CERTIFICATE-----
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
+
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
OMKv6pWsoS81vw5KAGBmfX8nht/Py90DQrbRvakATGI=
|
14
|
+
MIIENDCCApygAwIBAgIBATANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQDDBdnZWQv
|
15
|
+
REM9RmFlcmllTVVEL0RDPW9yZzAeFw0xOTEwMDkwMDM2NTdaFw0yMDEwMDgwMDM2
|
16
|
+
NTdaMCIxIDAeBgNVBAMMF2dlZC9EQz1GYWVyaWVNVUQvREM9b3JnMIIBojANBgkq
|
17
|
+
hkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAvyVhkRzvlEs0fe7145BYLfN6njX9ih5H
|
18
|
+
L60U0p0euIurpv84op9CNKF9tx+1WKwyQvQP7qFGuZxkSUuWcP/sFhDXL1lWUuIl
|
19
|
+
M4uHbGCRmOshDrF4dgnBeOvkHr1fIhPlJm5FO+Vew8tSQmlDsosxLUx+VB7DrVFO
|
20
|
+
5PU2AEbf04GGSrmqADGWXeaslaoRdb1fu/0M5qfPTRn5V39sWD9umuDAF9qqil/x
|
21
|
+
Sl6phTvgBrG8GExHbNZpLARd3xrBYLEFsX7RvBn2UPfgsrtvpdXjsHGfpT3IPN+B
|
22
|
+
vQ66lts4alKC69TE5cuKasWBm+16A4aEe3XdZBRNmtOu/g81gvwA7fkJHKllJuaI
|
23
|
+
dXzdHqq+zbGZVSQ7pRYHYomD0IiDe1DbIouFnPWmagaBnGHwXkDT2bKKP+s2v21m
|
24
|
+
ozilJg4aar2okb/RA6VS87o+d7g6LpDDMMQjH4G9OPnJENLdhu8KnPw/ivSVvQw7
|
25
|
+
N2I4L/ZOIe2DIVuYH7aLHfjZDQv/mNgpAgMBAAGjdTBzMAkGA1UdEwQCMAAwCwYD
|
26
|
+
VR0PBAQDAgSwMB0GA1UdDgQWBBRyjf55EbrHagiRLqt5YAd3yb8k4DAcBgNVHREE
|
27
|
+
FTATgRFnZWRARmFlcmllTVVELm9yZzAcBgNVHRIEFTATgRFnZWRARmFlcmllTVVE
|
28
|
+
Lm9yZzANBgkqhkiG9w0BAQsFAAOCAYEAFqsr6o0SvQRgjQVmhbQvExRnCMCoW1yb
|
29
|
+
FJiN7A5RA2Iy2E61OG1Ul5nGmaDmx/PNB/6JIbIV3B9Uq8aTZx4uOjK7r8vMl1/t
|
30
|
+
ZfY7r6HejJfXlcO2m6JDMbpdyEVv916LncBkzZRz6vnnNCx+31f15FKddxujpAFd
|
31
|
+
qpn3JRQY+oj7ZkoccL/IUiDpxQWeS3oOoz9qr2kVTp8R50InZimt79FqCl/1m66W
|
32
|
+
kdOuf+wM3DDx7Rt4IVNHrhGlyfMr7xjKW1Q3gll+pMN1DT6Ajx/t3JDSEg7BnnEW
|
33
|
+
r7AciSO6J4ApUdqyG+coLFlGdtgFTgRHv7ihbQtDI7Z/LV7A4Spn1j2PK3j0Omri
|
34
|
+
kSl1hPVigRytfgdVGiLXzvkkrkgj9EknCaj5UHbac7XvVBrljXj9hsnnqTANaKsg
|
35
|
+
jBZSA+N+xUTgUWpXjjwsLZjzJkhWATJWq+krNXcqpwXo6HsjmdUxoFMt63RBb+sI
|
36
|
+
XrxOxp8o0uOkU7FdLSGsyqJ2LzsR4obN
|
38
37
|
-----END CERTIFICATE-----
|
39
|
-
date:
|
38
|
+
date: 2020-02-05 00:00:00.000000000 Z
|
40
39
|
dependencies:
|
41
40
|
- !ruby/object:Gem::Dependency
|
42
41
|
name: loggability
|
@@ -44,113 +43,35 @@ dependencies:
|
|
44
43
|
requirements:
|
45
44
|
- - "~>"
|
46
45
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0.
|
46
|
+
version: '0.15'
|
48
47
|
type: :runtime
|
49
48
|
prerelease: false
|
50
49
|
version_requirements: !ruby/object:Gem::Requirement
|
51
50
|
requirements:
|
52
51
|
- - "~>"
|
53
52
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0.
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: hoe-mercurial
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '1.4'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '1.4'
|
53
|
+
version: '0.15'
|
69
54
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
55
|
+
name: rake-deveiate
|
71
56
|
requirement: !ruby/object:Gem::Requirement
|
72
57
|
requirements:
|
73
58
|
- - "~>"
|
74
59
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0.
|
60
|
+
version: '0.8'
|
76
61
|
type: :development
|
77
62
|
prerelease: false
|
78
63
|
version_requirements: !ruby/object:Gem::Requirement
|
79
64
|
requirements:
|
80
65
|
- - "~>"
|
81
66
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0.
|
83
|
-
|
84
|
-
name: hoe-highline
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0.2'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0.2'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: rdoc
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '5.1'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '5.1'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: hoe
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - "~>"
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '3.16'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - "~>"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '3.16'
|
125
|
-
description: "Pluggability is a toolkit for creating plugins.\n\nIt provides a mixin
|
126
|
-
that extends your class with methods to load and instantiate its subclasses by name.
|
127
|
-
So instead of:\n\n require 'acme/adapter/png'\n png_adapter = Acme::Adapter::PNG.new(
|
128
|
-
'file.png' )\n \nyou can do:\n\n require 'acme/adapter'\n png_adapter = Acme::Adapter.create(
|
129
|
-
:png, 'file.png' )\n\nA full example of where this might be useful is in a program
|
130
|
-
which generates\noutput with a 'driver' object, which provides a unified interface
|
131
|
-
but generates\ndifferent kinds of output.\n\nFirst the abstract base class, which
|
132
|
-
is extended with Pluggability:\n\n # in mygem/driver.rb:\n require 'pluggability'\n
|
133
|
-
\ require 'mygem' unless defined?( MyGem )\n \n class MyGem::Driver\n extend
|
134
|
-
Pluggability\n plugin_prefixes \"mygem/drivers\"\n end\n\nWe can have
|
135
|
-
one driver that outputs PDF documents:\n\n # mygem/drivers/pdf.rb:\n require
|
136
|
-
'mygem/driver' unless defined?( MyGem::Driver )\n \n class MyGem::Driver::PDF
|
137
|
-
< Driver\n ...implementation...\n end\n\nand another that outputs plain
|
138
|
-
ascii text:\n\n #mygem/drivers/ascii.rb:\n require 'mygem/driver' unless defined?(
|
139
|
-
MyGem::Driver )\n \n class MyGem::Driver::ASCII < Driver\n ...implementation...\n
|
140
|
-
\ end\n\nNow the driver is configurable by the end-user, who can just set\nit
|
141
|
-
by its short name:\n\n require 'mygem'\n \n config[:driver_type] #=> \"pdf\"\n
|
142
|
-
\ driver = MyGem::Driver.create( config[:driver_type] )\n driver.class #=>
|
143
|
-
MyGem::Driver::PDF\n\n # You can also pass arguments to the constructor, too:\n
|
144
|
-
\ ascii_driver = MyGem::Driver.create( :ascii, :columns => 80 )"
|
67
|
+
version: '0.8'
|
68
|
+
description: Pluggability is a toolkit for creating plugins.
|
145
69
|
email:
|
146
|
-
-
|
147
|
-
-
|
70
|
+
- ged@faeriemud.org
|
71
|
+
- outofculture@gmail.com
|
148
72
|
executables: []
|
149
73
|
extensions: []
|
150
|
-
extra_rdoc_files:
|
151
|
-
- History.md
|
152
|
-
- Manifest.txt
|
153
|
-
- README.md
|
74
|
+
extra_rdoc_files: []
|
154
75
|
files:
|
155
76
|
- ChangeLog
|
156
77
|
- History.md
|
@@ -160,30 +81,27 @@ files:
|
|
160
81
|
- lib/pluggability.rb
|
161
82
|
- spec/helpers.rb
|
162
83
|
- spec/pluggability_spec.rb
|
163
|
-
homepage:
|
84
|
+
homepage: https://hg.sr.ht/~ged/pluggability
|
164
85
|
licenses:
|
165
86
|
- BSD-3-Clause
|
166
87
|
metadata: {}
|
167
88
|
post_install_message:
|
168
|
-
rdoc_options:
|
169
|
-
- "--main"
|
170
|
-
- README.md
|
89
|
+
rdoc_options: []
|
171
90
|
require_paths:
|
172
91
|
- lib
|
173
92
|
required_ruby_version: !ruby/object:Gem::Requirement
|
174
93
|
requirements:
|
175
94
|
- - ">="
|
176
95
|
- !ruby/object:Gem::Version
|
177
|
-
version:
|
96
|
+
version: '0'
|
178
97
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
179
98
|
requirements:
|
180
99
|
- - ">="
|
181
100
|
- !ruby/object:Gem::Version
|
182
101
|
version: '0'
|
183
102
|
requirements: []
|
184
|
-
|
185
|
-
rubygems_version: 2.7.4
|
103
|
+
rubygems_version: 3.1.2
|
186
104
|
signing_key:
|
187
105
|
specification_version: 4
|
188
|
-
summary: Pluggability is a toolkit for creating plugins
|
106
|
+
summary: Pluggability is a toolkit for creating plugins.
|
189
107
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|