Class: Reina::GitHubController
- Inherits:
-
Object
- Object
- Reina::GitHubController
- Defined in:
- lib/reina/github_controller.rb
Constant Summary collapse
- DEPLOY_TRIGGER =
'reina: d '.freeze
- SINGLE_DEPLOY_TRIGGER =
'reina: r '.freeze
- EVENTS =
%w(issues issue_comment).freeze
Instance Method Summary collapse
- #deployed_url ⇒ Object
- #dispatch(request) ⇒ Object
-
#initialize(config) ⇒ GitHubController
constructor
A new instance of GitHubController.
Constructor Details
#initialize(config) ⇒ GitHubController
Returns a new instance of GitHubController.
15 16 17 |
# File 'lib/reina/github_controller.rb', line 15 def initialize(config) @config = config end |
Instance Method Details
#deployed_url ⇒ Object
35 36 37 38 39 |
# File 'lib/reina/github_controller.rb', line 35 def deployed_url [ 'https://', CONFIG[:app_name_prefix], repo_name, '-', issue_number, '.herokuapp.com' ].join end |
#dispatch(request) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/reina/github_controller.rb', line 19 def dispatch(request) @request = request raise UnsupportedEventError unless EVENTS.include?(event) authenticate! if deploy_requested? deploy! elsif single_deploy_requested? deploy!(true) elsif issue_closed? destroy! end end |