Class: Danger::Plugin
- Inherits:
-
Object
- Object
- Danger::Plugin
- Defined in:
- lib/danger/plugin_support/plugin.rb
Direct Known Subclasses
DangerfileBitbucketCloudPlugin, DangerfileBitbucketServerPlugin, DangerfileDangerPlugin, DangerfileGitHubPlugin, DangerfileGitLabPlugin, DangerfileGitPlugin, DangerfileLocalOnlyPlugin, DangerfileMessagingPlugin, DangerfileVSTSPlugin
Class Method Summary collapse
- .all_plugins ⇒ Object
- .clear_external_plugins ⇒ Object
- .inherited(plugin) ⇒ Object
- .instance_name ⇒ Object
Instance Method Summary collapse
-
#initialize(dangerfile) ⇒ Plugin
constructor
A new instance of Plugin.
-
#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.
Constructor Details
#initialize(dangerfile) ⇒ Plugin
Returns a new instance of 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 |