Class: Puma::Plugin
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/puma/plugin.rb |
Constant Summary
-
CALLER_FILE =
Matches
"C:/Ruby22/lib/ruby/gems/2.2.0/gems/puma-3.0.1/lib/puma/plugin/tmp_restart.rb:3:in `<top (required)>'" AS C:/Ruby22/lib/ruby/gems/2.2.0/gems/puma-3.0.1/lib/puma/plugin/tmp_restart.rb
/ \A # start of string .+ # file path (one or more characters) (?= # stop previous match when :\d+ # a colon is followed by one or more digits :in # followed by a colon followed by in ) /x
Class Method Summary
- .create(&blk)
- .extract_name(ary)
- .new(loader) ⇒ Plugin constructor
Instance Attribute Summary
- #workers_supported? ⇒ Boolean readonly
Instance Method Summary
Constructor Details
.new(loader) ⇒ Plugin
# File 'lib/puma/plugin.rb', line 107
def initialize(loader) @loader = loader end
Class Method Details
.create(&blk)
[ GitHub ]# File 'lib/puma/plugin.rb', line 97
def self.create(&blk) name = extract_name(caller) cls = Class.new(self) cls.class_eval(&blk) Plugins.register name, cls end
.extract_name(ary)
[ GitHub ]# File 'lib/puma/plugin.rb', line 90
def self.extract_name(ary) path = ary.first[CALLER_FILE] m = %r!puma/plugin/([^/]*)\.rb$!.match(path) return m[1] end
Instance Attribute Details
#workers_supported? ⇒ Boolean
(readonly)
[ GitHub ]
Instance Method Details
#in_background(&blk)
[ GitHub ]# File 'lib/puma/plugin.rb', line 111
def in_background(&blk) Plugins.add_background blk end