Class: RoboPigeon::Dsl::Base

Inherits:
Job
  • Object
show all
Defined in:
lib/robopigeon/dsl/base.rb

Overview

this inherits from job, so that the job dsls are available in extensions. That’s very helpful if you’re trying to write an extension that interfaces with another extension or built in.

Instance Method Summary collapse

Methods inherited from Job

#gitlab, #jenkins, #jira, run, #slack

Methods included from Helpers

#skip

Methods included from Helpers::Markdown

#confluence_from_md, #html_from_md, #jira_from_md, #slack_from_md

Methods included from Helpers::GitLab

#deployment_code_change_stats, #deployment_diff_link, #deployment_ref, #deployment_sha, #deployment_shortlog, #deployment_time, #environment_link, #tickets_in_log_since_deployment_to

Methods included from Helpers::Slack

#slack_name_for, #slack_user_for, #slack_user_group

Methods included from Helpers::Jira

#jira_last_created_ticket, #jira_last_created_ticket_link, #jira_last_created_ticket_slack_link, #jira_slack_link

Methods included from Helpers::Git

#changed_since?, #git_branch_merged_source, #git_branch_merged_target, #git_committer_email, #git_committer_name, #git_merger_email, #git_merger_name

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/robopigeon/dsl/base.rb', line 10

def method_missing(method, *args)
  self.class.class_exec do
    include RoboPigeon::Dsl::Helpers
  end
  if respond_to?(method)
    send(method, *args)
  else
    super
  end
end

Instance Method Details

#respond_to_missing?(method, include_private) ⇒ Boolean

Returns:

  • (Boolean)


6
7
8
# File 'lib/robopigeon/dsl/base.rb', line 6

def respond_to_missing?(method, include_private)
  RoboPigeon::Dsl::Helpers.instance_methods(include_private).include?(method)
end