Class: Puma::Plugin
- Inherits:
-
Object
- Object
- Puma::Plugin
- Defined in:
- lib/puma/plugin.rb
Constant Summary collapse
- 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 collapse
Instance Method Summary collapse
Class Method Details
.create(&blk) ⇒ Object
97 98 99 100 101 102 103 104 105 |
# 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) ⇒ Object
90 91 92 93 94 95 |
# File 'lib/puma/plugin.rb', line 90 def self.extract_name(ary) path = ary.first[CALLER_FILE] m = %r!puma/plugin/([^/]*)\.rb$!.match(path) m[1] end |
Instance Method Details
#in_background(&blk) ⇒ Object
107 108 109 |
# File 'lib/puma/plugin.rb', line 107 def in_background(&blk) Plugins.add_background blk end |