Class: Danger::Plugin
- Inherits:
-
Object
show all
- Defined in:
- lib/danger/plugin_support/plugin.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(dangerfile) ⇒ Plugin
3
4
5
|
# File 'lib/danger/plugin_support/plugin.rb', line 3
def initialize(dangerfile)
@dangerfile = dangerfile
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_sym, *arguments, **keyword_arguments, &block) ⇒ Object
Since we have a reference to the Dangerfile containing all the information We need to redirect the self calls to the Dangerfile
21
22
23
24
25
26
27
|
# File 'lib/danger/plugin_support/plugin.rb', line 21
def method_missing(method_sym, *arguments, **keyword_arguments, &block)
if keyword_arguments.empty?
@dangerfile.send(method_sym, *arguments, &block)
else
@dangerfile.send(method_sym, *arguments, **keyword_arguments, &block)
end
end
|
Class Method Details
.all_plugins ⇒ Object
29
30
31
|
# File 'lib/danger/plugin_support/plugin.rb', line 29
def self.all_plugins
@all_plugins ||= []
end
|
.clear_external_plugins ⇒ Object
33
34
35
|
# File 'lib/danger/plugin_support/plugin.rb', line 33
def self.clear_external_plugins
@all_plugins = @all_plugins.select { |plugin| Dangerfile.essential_plugin_classes.include? plugin }
end
|
.inherited(plugin) ⇒ Object
37
38
39
|
# File 'lib/danger/plugin_support/plugin.rb', line 37
def self.inherited(plugin)
Plugin.all_plugins.push(plugin)
end
|
.instance_name ⇒ Object
7
8
9
|
# File 'lib/danger/plugin_support/plugin.rb', line 7
def self.instance_name
to_s.gsub("Danger", "").danger_underscore.split("/").last
end
|