Class: Danger::DangerfileDangerPlugin
- Defined in:
- lib/danger/danger_core/plugins/dangerfile_danger_plugin.rb
Overview
One way to support internal plugins is via ‘plugin.import` this gives you the chance to quickly iterate without the need for building rubygems. As such, it does not have the stringent rules around documentation expected of a public plugin. It’s worth noting, that you can also have plugins inside ‘./danger_plugins` and they will be automatically imported into your Dangerfile at launch.
Danger collapse
-
#import_dangerfile(slug) ⇒ void
Download and execute a remote Dangerfile.
-
#import_plugin(path_or_url) ⇒ void
Download a local or remote plugin and make it usable inside the Dangerfile.
Class Method Summary collapse
-
.instance_name ⇒ String
The instance name used in the Dangerfile.
Methods inherited from Plugin
all_plugins, clear_external_plugins, inherited, #initialize, #method_missing
Constructor Details
This class inherits a constructor from Danger::Plugin
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Danger::Plugin
Class Method Details
.instance_name ⇒ String
The instance name used in the Dangerfile
30 31 32 |
# File 'lib/danger/danger_core/plugins/dangerfile_danger_plugin.rb', line 30 def self.instance_name "danger" end |
Instance Method Details
#import_dangerfile(slug) ⇒ void
This method returns an undefined value.
Download and execute a remote Dangerfile.
59 60 61 62 63 64 65 |
# File 'lib/danger/danger_core/plugins/dangerfile_danger_plugin.rb', line 59 def import_dangerfile(slug) raise "`import` requires a string" unless slug.kind_of?(String) org, repo = slug.split("/") download_url = env.request_source.file_url(organisation: org, repository: repo, branch: "master", path: "Dangerfile") local_path = import_url(download_url) dangerfile.parse(Pathname.new(local_path)) end |
#import_plugin(path_or_url) ⇒ void
This method returns an undefined value.
Download a local or remote plugin and make it usable inside the Dangerfile.
42 43 44 45 46 47 48 49 50 |
# File 'lib/danger/danger_core/plugins/dangerfile_danger_plugin.rb', line 42 def import_plugin(path_or_url) raise "`import` requires a string" unless path_or_url.kind_of?(String) if path_or_url.start_with?("http") import_url(path_or_url) else import_local(path_or_url) end end |