Class: HubMerge::Executable
- Inherits:
-
Object
- Object
- HubMerge::Executable
- Defined in:
- lib/hubmerge.rb
Instance Method Summary collapse
-
#initialize(opts = {}) ⇒ Executable
constructor
A new instance of Executable.
- #run(env, argv) ⇒ Object
Constructor Details
#initialize(opts = {}) ⇒ Executable
Returns a new instance of Executable.
14 15 16 17 18 19 20 |
# File 'lib/hubmerge.rb', line 14 def initialize(opts = {}) # Overrides only used in tests @spinner = opts[:spinner] || Spinner.new @prompts = opts[:prompts] || Prompts @github_client = opts[:github_client] @merger = opts[:merger] || Merger end |
Instance Method Details
#run(env, argv) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/hubmerge.rb', line 22 def run(env, argv) check_or_prompt_github_token(env) opts = Options.parse(argv) query = check_or_prompt_search_query(opts) prs = search_pull_requests(query) if prs.empty? @prompts.say("No pull requests found. Maybe try refining your search query?") return 1 end prs_to_merge = if opts[:merge_without_confirmation] prs else @prompts.pull_requests_to_merge(prs) end if prs_to_merge.empty? @prompts.say("No pull requests selected, aborting") return 1 else merge_pull_requests(prs_to_merge) return 0 end end |