ora-cli 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/ora +1 -0
- data/lib/ora/cli/bash.rb +32 -39
- data/lib/ora/cli/precondition_error.rb +4 -0
- data/lib/ora/cli/push_task.rb +34 -0
- data/lib/ora/cli/task.rb +76 -7
- data/lib/ora/cli/tasks/new_feature_branch.rb +1 -0
- data/lib/ora/cli/tasks/push_feature_branch.rb +1 -0
- data/lib/ora/cli/tasks/push_to_aus.rb +6 -0
- data/lib/ora/cli/tasks/push_to_master.rb +3 -0
- data/lib/ora/cli/tasks/push_to_staging.rb +2 -24
- data/lib/ora/cli/tasks/push_to_uat.rb +2 -24
- data/lib/ora/cli/tasks/switch_branch.rb +7 -4
- data/lib/ora/cli/version.rb +1 -1
- data/lib/ora/cli.rb +15 -0
- metadata +5 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: f5a16980ec4decffb7553e61174d6accaf4d03a0
         | 
| 4 | 
            +
              data.tar.gz: 93b52167a75ade9e723ec2104c39cafa3fbe2e13
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 93d7c97aa498f86bfc5fe0885e89c43788e8ba89a4acfe83824cd8bd0a4d607dc98c0e2491f505b659a34a1a683754e9833a93d452e3d384ef8b27bc24264001
         | 
| 7 | 
            +
              data.tar.gz: 853a503f7e487bdcc7c4e1841f95972e64c4ef15fdb6387bbf777f4a1f7e5135633ab37a358aa88cda9e73efb48abed354d4f89f778acf83bcc356c66d48acc6
         | 
    
        data/bin/ora
    CHANGED
    
    
    
        data/lib/ora/cli/bash.rb
    CHANGED
    
    | @@ -3,11 +3,14 @@ require "ora/cli/path" | |
| 3 3 |  | 
| 4 4 | 
             
            module Ora::Cli
         | 
| 5 5 | 
             
              class Bash
         | 
| 6 | 
            +
                attr_reader :unprocessed_commands
         | 
| 7 | 
            +
             | 
| 6 8 | 
             
                def initialize(target, from: nil, print: Print.new)
         | 
| 7 | 
            -
                  @target | 
| 8 | 
            -
                  @from | 
| 9 | 
            -
                  @print | 
| 10 | 
            -
                  @success | 
| 9 | 
            +
                  @target               = target
         | 
| 10 | 
            +
                  @from                 = from
         | 
| 11 | 
            +
                  @print                = print
         | 
| 12 | 
            +
                  @success              = true
         | 
| 13 | 
            +
                  @unprocessed_commands = []
         | 
| 11 14 | 
             
                end
         | 
| 12 15 |  | 
| 13 16 | 
             
                def silent command
         | 
| @@ -16,17 +19,24 @@ module Ora::Cli | |
| 16 19 |  | 
| 17 20 | 
             
                def run commands
         | 
| 18 21 | 
             
                  @success = true
         | 
| 19 | 
            -
                  unprocessed_commands = extract commands
         | 
| 22 | 
            +
                  @unprocessed_commands = extract commands
         | 
| 20 23 |  | 
| 21 24 | 
             
                  outputs = []
         | 
| 22 | 
            -
                   | 
| 25 | 
            +
                  command = ''
         | 
| 26 | 
            +
                  while (command = complete @unprocessed_commands.shift)
         | 
| 23 27 | 
             
                    next if command.empty?
         | 
| 24 | 
            -
             | 
| 28 | 
            +
             | 
| 29 | 
            +
                    if method? command
         | 
| 30 | 
            +
                      sub_commands = call_method command
         | 
| 31 | 
            +
                      @unprocessed_commands.unshift(*extract(sub_commands))
         | 
| 32 | 
            +
                    else
         | 
| 33 | 
            +
                      @success, output = shell command
         | 
| 25 34 | 
             
                      outputs.push output
         | 
| 35 | 
            +
                      break unless @success
         | 
| 26 36 | 
             
                    end
         | 
| 27 37 | 
             
                  end
         | 
| 28 38 |  | 
| 29 | 
            -
                   | 
| 39 | 
            +
                  @unprocessed_commands.unshift(command) unless @success
         | 
| 30 40 |  | 
| 31 41 | 
             
                  join outputs
         | 
| 32 42 | 
             
                end
         | 
| @@ -54,8 +64,8 @@ module Ora::Cli | |
| 54 64 | 
             
                  outputs.compact.map(&:strip).reject(&:empty?).join("\n")
         | 
| 55 65 | 
             
                end
         | 
| 56 66 |  | 
| 57 | 
            -
                def call_target method_name
         | 
| 58 | 
            -
                  @target.method(method_name).call
         | 
| 67 | 
            +
                def call_target method_name, args = []
         | 
| 68 | 
            +
                  @target.method(method_name).call(*args)
         | 
| 59 69 | 
             
                end
         | 
| 60 70 |  | 
| 61 71 | 
             
                def complete unprocessed_command
         | 
| @@ -66,45 +76,28 @@ module Ora::Cli | |
| 66 76 | 
             
                  end
         | 
| 67 77 | 
             
                end
         | 
| 68 78 |  | 
| 69 | 
            -
                def  | 
| 79 | 
            +
                def shell command
         | 
| 70 80 | 
             
                  @print.green command
         | 
| 71 81 |  | 
| 72 | 
            -
                  @ | 
| 73 | 
            -
             | 
| 74 | 
            -
                      call_method command
         | 
| 75 | 
            -
                    else
         | 
| 76 | 
            -
                      yield(shell command)
         | 
| 77 | 
            -
                      $?.success?
         | 
| 78 | 
            -
                    end
         | 
| 82 | 
            +
                  output  = @print.plain `#{move}#{command}#{capture_err}`
         | 
| 83 | 
            +
                  success = $?.success?
         | 
| 79 84 |  | 
| 80 | 
            -
                   | 
| 81 | 
            -
             | 
| 85 | 
            +
                  show_failed_message unless success
         | 
| 86 | 
            +
             | 
| 87 | 
            +
                  [success, output]
         | 
| 82 88 | 
             
                end
         | 
| 83 89 | 
             
                def method? command
         | 
| 84 90 | 
             
                  command.start_with? ":"
         | 
| 85 91 | 
             
                end
         | 
| 86 | 
            -
                def method_name command
         | 
| 87 | 
            -
                  command.sub(':', '')
         | 
| 88 | 
            -
                end
         | 
| 89 92 | 
             
                def call_method command
         | 
| 90 | 
            -
             | 
| 91 | 
            -
             | 
| 92 | 
            -
             | 
| 93 | 
            -
                   | 
| 94 | 
            -
                end
         | 
| 95 | 
            -
                def shell command
         | 
| 96 | 
            -
                  @print.plain `#{move}#{command}#{capture_err}`
         | 
| 97 | 
            -
                end
         | 
| 98 | 
            -
             | 
| 99 | 
            -
                def alert command
         | 
| 100 | 
            -
                  @print.red "\nProcess Failed! Please resolve the issue above and run commands below manually\n"
         | 
| 101 | 
            -
                  @print.red command
         | 
| 93 | 
            +
                  list   = command.split
         | 
| 94 | 
            +
                  method = list.shift.sub(':', '')
         | 
| 95 | 
            +
                  args   = list.join.split(',').map(&:strip)
         | 
| 96 | 
            +
                  call_target(method, args)
         | 
| 102 97 | 
             
                end
         | 
| 103 98 |  | 
| 104 | 
            -
                def  | 
| 105 | 
            -
                   | 
| 106 | 
            -
                    @print.red(complete unprocessed_command)
         | 
| 107 | 
            -
                  end
         | 
| 99 | 
            +
                def show_failed_message
         | 
| 100 | 
            +
                  @print.red "\nProcess Failed! Please resolve the issue above and run 'ora' again to continue\n"
         | 
| 108 101 | 
             
                end
         | 
| 109 102 |  | 
| 110 103 | 
             
              end
         | 
| @@ -0,0 +1,34 @@ | |
| 1 | 
            +
            require 'ora/cli/task'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Ora::Cli
         | 
| 4 | 
            +
              class PushTask < Task
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                def commands
         | 
| 7 | 
            +
                  '
         | 
| 8 | 
            +
                  :feature_branch!
         | 
| 9 | 
            +
                  :clean_branch!
         | 
| 10 | 
            +
                  :pull_branch
         | 
| 11 | 
            +
                  git checkout develop
         | 
| 12 | 
            +
                  git pull origin develop
         | 
| 13 | 
            +
                  git checkout #{branch}
         | 
| 14 | 
            +
                  git merge develop
         | 
| 15 | 
            +
                  git checkout #{target}
         | 
| 16 | 
            +
                  git pull origin #{target}
         | 
| 17 | 
            +
                  git merge #{branch}
         | 
| 18 | 
            +
                  git push origin #{target}
         | 
| 19 | 
            +
                  git checkout #{branch}
         | 
| 20 | 
            +
                  :slack_message_to_paste
         | 
| 21 | 
            +
                  '
         | 
| 22 | 
            +
                end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                private
         | 
| 25 | 
            +
                def slack_message_to_paste
         | 
| 26 | 
            +
                  print.plain ":merge: #{branch} => #{target}\n:monorail: #{target}"
         | 
| 27 | 
            +
                  ''
         | 
| 28 | 
            +
                end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                def target
         | 
| 31 | 
            +
                  self.class.name.match(/PushTo(.*)/)[1].downcase
         | 
| 32 | 
            +
                end
         | 
| 33 | 
            +
              end
         | 
| 34 | 
            +
            end
         | 
    
        data/lib/ora/cli/task.rb
    CHANGED
    
    | @@ -1,12 +1,15 @@ | |
| 1 1 | 
             
            require "ora/cli/bash"
         | 
| 2 2 | 
             
            require "ora/cli/print"
         | 
| 3 3 | 
             
            require "ora/cli/stdin"
         | 
| 4 | 
            +
            require 'ora/cli/precondition_error'
         | 
| 5 | 
            +
            require "json"
         | 
| 4 6 |  | 
| 5 7 | 
             
            module Ora::Cli
         | 
| 6 8 | 
             
              class Task
         | 
| 7 9 | 
             
                attr_reader :branch, :stdin, :print
         | 
| 8 10 |  | 
| 9 | 
            -
                 | 
| 11 | 
            +
                DEVELOP_BRANCH = 'develop'
         | 
| 12 | 
            +
                CONTINUE_FILE  = '~/.ora_continue'
         | 
| 10 13 |  | 
| 11 14 | 
             
                def initialize(from, inputs: [], print: Print.new)
         | 
| 12 15 | 
             
                  @from   = from
         | 
| @@ -18,10 +21,36 @@ module Ora::Cli | |
| 18 21 |  | 
| 19 22 | 
             
                def run
         | 
| 20 23 | 
             
                  @bash.run commands
         | 
| 24 | 
            +
                  save_on_fail
         | 
| 25 | 
            +
                rescue PreconditionError => e
         | 
| 26 | 
            +
                  @print.red("Precondition not met!\n#{e.message}")
         | 
| 27 | 
            +
                end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                def continue(info)
         | 
| 30 | 
            +
                  @print.green("Continue task - #{info['task']}\n")
         | 
| 31 | 
            +
                  set_variables(info['variables'])
         | 
| 32 | 
            +
                  @bash.run info['commands']
         | 
| 33 | 
            +
                  save_on_fail
         | 
| 34 | 
            +
                  File.delete(File.expand_path(CONTINUE_FILE)) if @bash.success?
         | 
| 35 | 
            +
                end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                def variables
         | 
| 38 | 
            +
                  instance_variables.inject({}) do |hash, attribute|
         | 
| 39 | 
            +
                    value = instance_variable_get(attribute)
         | 
| 40 | 
            +
                    if value.to_s.start_with? '#<'
         | 
| 41 | 
            +
                      hash
         | 
| 42 | 
            +
                    else
         | 
| 43 | 
            +
                      hash.merge!(attribute.to_s.sub('@', '') => value)
         | 
| 44 | 
            +
                    end
         | 
| 45 | 
            +
                  end
         | 
| 46 | 
            +
                end
         | 
| 47 | 
            +
             | 
| 48 | 
            +
                def set_variables data
         | 
| 49 | 
            +
                  data.each { |k, v| instance_variable_set("@#{k}", v) }
         | 
| 21 50 | 
             
                end
         | 
| 22 51 |  | 
| 23 52 | 
             
                def commands
         | 
| 24 | 
            -
                  raise "Override this method in subclass"
         | 
| 53 | 
            +
                  raise PreconditionError, "Override this method in subclass."
         | 
| 25 54 | 
             
                end
         | 
| 26 55 |  | 
| 27 56 | 
             
                def success?
         | 
| @@ -34,24 +63,64 @@ module Ora::Cli | |
| 34 63 | 
             
                end
         | 
| 35 64 |  | 
| 36 65 | 
             
                def main_branch?
         | 
| 37 | 
            -
                   | 
| 66 | 
            +
                  main_branches.include? branch
         | 
| 67 | 
            +
                end
         | 
| 68 | 
            +
             | 
| 69 | 
            +
                def main_branches
         | 
| 70 | 
            +
                  [DEVELOP_BRANCH] +
         | 
| 71 | 
            +
                  Dir.entries(Path.tasks).
         | 
| 72 | 
            +
                    map {|name| name.match(/push_to_(.*)\.rb/)}.compact.
         | 
| 73 | 
            +
                    map {|match| match[1]}
         | 
| 38 74 | 
             
                end
         | 
| 39 75 |  | 
| 40 76 | 
             
                def feature_branch!
         | 
| 41 77 | 
             
                  if main_branch?
         | 
| 42 | 
            -
                     | 
| 43 | 
            -
                    false
         | 
| 78 | 
            +
                    raise PreconditionError, "Please checkout feature branch first."
         | 
| 44 79 | 
             
                  end
         | 
| 80 | 
            +
                  ''
         | 
| 45 81 | 
             
                end
         | 
| 46 82 |  | 
| 47 83 | 
             
                def clean_branch!
         | 
| 48 84 | 
             
                  if dirty?
         | 
| 49 | 
            -
                     | 
| 50 | 
            -
             | 
| 85 | 
            +
                    raise PreconditionError,
         | 
| 86 | 
            +
                      "Please clean the feature branch '#{branch}'."
         | 
| 51 87 | 
             
                  end
         | 
| 88 | 
            +
                  ''
         | 
| 52 89 | 
             
                end
         | 
| 53 90 | 
             
                def dirty?
         | 
| 54 91 | 
             
                  !@bash.silent('git status').include? 'nothing to commit'
         | 
| 55 92 | 
             
                end
         | 
| 93 | 
            +
             | 
| 94 | 
            +
                def pull_branch
         | 
| 95 | 
            +
                  return '' unless remote_branch?
         | 
| 96 | 
            +
             | 
| 97 | 
            +
                  "git pull origin #{branch}"
         | 
| 98 | 
            +
                end
         | 
| 99 | 
            +
                def remote_branch?
         | 
| 100 | 
            +
                  !@bash.silent("git branch -a | grep remotes/origin/#{branch}$").empty?
         | 
| 101 | 
            +
                end
         | 
| 102 | 
            +
             | 
| 103 | 
            +
                def save_on_fail
         | 
| 104 | 
            +
                  return if @bash.success?
         | 
| 105 | 
            +
             | 
| 106 | 
            +
                  text = JSON.generate(
         | 
| 107 | 
            +
                    'task'      => underscore(self.class.name.split(':').last),
         | 
| 108 | 
            +
                    'variables' => variables,
         | 
| 109 | 
            +
                    'commands'  => @bash.unprocessed_commands.join("\n")
         | 
| 110 | 
            +
                  )
         | 
| 111 | 
            +
                  File.write(File.expand_path(CONTINUE_FILE), text)
         | 
| 112 | 
            +
                end
         | 
| 113 | 
            +
             | 
| 114 | 
            +
                # File activesupport/lib/active_support/inflector/methods.rb
         | 
| 115 | 
            +
                def underscore(camel_cased_word)
         | 
| 116 | 
            +
                  return camel_cased_word unless camel_cased_word =~ /[A-Z-]|::/
         | 
| 117 | 
            +
                  word = camel_cased_word.to_s.gsub('::'.freeze, '/'.freeze)
         | 
| 118 | 
            +
                  # word.gsub!(/(?:(?<=([A-Za-z\d]))|\b)(#{inflections.acronym_regex})(?=\b|[^a-z])/) { "#{$1 && '_'.freeze }#{$2.downcase}" }
         | 
| 119 | 
            +
                  word.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2'.freeze)
         | 
| 120 | 
            +
                  word.gsub!(/([a-z\d])([A-Z])/, '\1_\2'.freeze)
         | 
| 121 | 
            +
                  word.tr!("-".freeze, "_".freeze)
         | 
| 122 | 
            +
                  word.downcase!
         | 
| 123 | 
            +
                  word
         | 
| 124 | 
            +
                end
         | 
| 56 125 | 
             
              end
         | 
| 57 126 | 
             
            end
         | 
| @@ -8,6 +8,7 @@ module Ora::Cli | |
| 8 8 | 
             
                  '
         | 
| 9 9 | 
             
                  :feature_branch!
         | 
| 10 10 | 
             
                  :clean_branch!
         | 
| 11 | 
            +
                  :pull_branch
         | 
| 11 12 | 
             
                  git checkout develop
         | 
| 12 13 | 
             
                  git pull origin develop
         | 
| 13 14 | 
             
                  git merge #{branch}
         | 
| @@ -33,6 +34,7 @@ module Ora::Cli | |
| 33 34 | 
             
                  print.inline "New Version: "
         | 
| 34 35 | 
             
                  @version = stdin.gets(/^(v[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)?$/)
         | 
| 35 36 | 
             
                  @version = recommend_version if @version.empty?
         | 
| 37 | 
            +
                  ''
         | 
| 36 38 | 
             
                end
         | 
| 37 39 | 
             
                def latest_versions
         | 
| 38 40 | 
             
                  @latest_versions ||=
         | 
| @@ -48,6 +50,7 @@ module Ora::Cli | |
| 48 50 |  | 
| 49 51 | 
             
                def slack_message_to_paste
         | 
| 50 52 | 
             
                  print.plain ":merge: #{branch} => develop\n:merge: develop => master\n:monorail: production"
         | 
| 53 | 
            +
                  ''
         | 
| 51 54 | 
             
                end
         | 
| 52 55 | 
             
              end
         | 
| 53 56 | 
             
            end
         | 
| @@ -1,28 +1,6 @@ | |
| 1 | 
            -
            require 'ora/cli/ | 
| 1 | 
            +
            require 'ora/cli/push_task'
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Ora::Cli
         | 
| 4 | 
            -
              class PushToStaging <  | 
| 5 | 
            -
             | 
| 6 | 
            -
                def commands
         | 
| 7 | 
            -
                  '
         | 
| 8 | 
            -
                  :feature_branch!
         | 
| 9 | 
            -
                  :clean_branch!
         | 
| 10 | 
            -
                  git checkout develop
         | 
| 11 | 
            -
                  git pull origin develop
         | 
| 12 | 
            -
                  git checkout #{branch}
         | 
| 13 | 
            -
                  git merge develop
         | 
| 14 | 
            -
                  git checkout staging
         | 
| 15 | 
            -
                  git pull origin staging
         | 
| 16 | 
            -
                  git merge #{branch}
         | 
| 17 | 
            -
                  git push origin staging
         | 
| 18 | 
            -
                  git checkout #{branch}
         | 
| 19 | 
            -
                  :slack_message_to_paste
         | 
| 20 | 
            -
                  '
         | 
| 21 | 
            -
                end
         | 
| 22 | 
            -
             | 
| 23 | 
            -
                private
         | 
| 24 | 
            -
                def slack_message_to_paste
         | 
| 25 | 
            -
                  print.plain ":merge: #{branch} => staging\n:monorail: staging"
         | 
| 26 | 
            -
                end
         | 
| 4 | 
            +
              class PushToStaging < PushTask
         | 
| 27 5 | 
             
              end
         | 
| 28 6 | 
             
            end
         | 
| @@ -1,28 +1,6 @@ | |
| 1 | 
            -
            require 'ora/cli/ | 
| 1 | 
            +
            require 'ora/cli/push_task'
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Ora::Cli
         | 
| 4 | 
            -
              class PushToUat <  | 
| 5 | 
            -
             | 
| 6 | 
            -
                def commands
         | 
| 7 | 
            -
                  '
         | 
| 8 | 
            -
                  :feature_branch!
         | 
| 9 | 
            -
                  :clean_branch!
         | 
| 10 | 
            -
                  git checkout develop
         | 
| 11 | 
            -
                  git pull origin develop
         | 
| 12 | 
            -
                  git checkout #{branch}
         | 
| 13 | 
            -
                  git merge develop
         | 
| 14 | 
            -
                  git checkout uat
         | 
| 15 | 
            -
                  git pull origin uat
         | 
| 16 | 
            -
                  git merge #{branch}
         | 
| 17 | 
            -
                  git push origin uat
         | 
| 18 | 
            -
                  git checkout #{branch}
         | 
| 19 | 
            -
                  :slack_message_to_paste
         | 
| 20 | 
            -
                  '
         | 
| 21 | 
            -
                end
         | 
| 22 | 
            -
             | 
| 23 | 
            -
                private
         | 
| 24 | 
            -
                def slack_message_to_paste
         | 
| 25 | 
            -
                  print.plain ":merge: #{branch} => uat\n:monorail: uat"
         | 
| 26 | 
            -
                end
         | 
| 4 | 
            +
              class PushToUat < PushTask
         | 
| 27 5 | 
             
              end
         | 
| 28 6 | 
             
            end
         | 
| @@ -1,4 +1,5 @@ | |
| 1 1 | 
             
            require 'ora/cli/task'
         | 
| 2 | 
            +
            require 'ora/cli/precondition_error'
         | 
| 2 3 |  | 
| 3 4 | 
             
            module Ora::Cli
         | 
| 4 5 | 
             
              class SwitchBranch < Task
         | 
| @@ -10,24 +11,26 @@ module Ora::Cli | |
| 10 11 | 
             
                  :switch_to
         | 
| 11 12 | 
             
                  git stash save -u "OraCli"
         | 
| 12 13 | 
             
                  git checkout #{target_branch}
         | 
| 13 | 
            -
                   | 
| 14 | 
            +
                  :apply_stash
         | 
| 14 15 | 
             
                  '
         | 
| 15 16 | 
             
                end
         | 
| 16 17 |  | 
| 17 18 | 
             
                private
         | 
| 18 19 | 
             
                def only_feature_branch_can_be_dirty!
         | 
| 19 20 | 
             
                  if main_branch? && dirty?
         | 
| 20 | 
            -
                     | 
| 21 | 
            -
                    return false
         | 
| 21 | 
            +
                    raise PreconditionError, "#{branch} branch can't be dirty."
         | 
| 22 22 | 
             
                  end
         | 
| 23 | 
            +
                  ''
         | 
| 23 24 | 
             
                end
         | 
| 24 25 |  | 
| 25 26 | 
             
                def switch_to
         | 
| 26 27 | 
             
                  @target_branch = stdin.select("git branch | grep '^  ' | sed 's/^  //'")
         | 
| 28 | 
            +
                  ''
         | 
| 27 29 | 
             
                end
         | 
| 28 30 |  | 
| 29 31 | 
             
                def apply_stash
         | 
| 30 | 
            -
                  return  | 
| 32 | 
            +
                  return '' if target_stash_revision.empty?
         | 
| 33 | 
            +
             | 
| 31 34 | 
             
                  "git stash pop #{target_stash_revision}"
         | 
| 32 35 | 
             
                end
         | 
| 33 36 | 
             
                def target_stash_revision
         | 
    
        data/lib/ora/cli/version.rb
    CHANGED
    
    
    
        data/lib/ora/cli.rb
    CHANGED
    
    | @@ -1,6 +1,7 @@ | |
| 1 1 | 
             
            require "ora/cli/version"
         | 
| 2 2 | 
             
            require "ora/cli/bash"
         | 
| 3 3 | 
             
            require "ora/cli/path"
         | 
| 4 | 
            +
            require "ora/cli/task"
         | 
| 4 5 |  | 
| 5 6 | 
             
            module Ora
         | 
| 6 7 | 
             
              module Cli
         | 
| @@ -8,6 +9,20 @@ module Ora | |
| 8 9 | 
             
                  project_path = `pwd`.strip
         | 
| 9 10 | 
             
                  remove_ext   = "sed 's/\.[^.]*$//'"
         | 
| 10 11 |  | 
| 12 | 
            +
                  unless `cat #{Task::CONTINUE_FILE}`.empty?
         | 
| 13 | 
            +
                    continue = JSON.parse(File.read(File.expand_path(Task::CONTINUE_FILE)))
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                    task = continue['task']
         | 
| 16 | 
            +
                    require "ora/cli/tasks/#{task}"
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                    class_name = task.split('_').map(&:capitalize).join
         | 
| 19 | 
            +
                    Object.const_get("Ora::Cli::#{class_name}").
         | 
| 20 | 
            +
                      new(project_path).
         | 
| 21 | 
            +
                      continue(continue)
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                    return
         | 
| 24 | 
            +
                  end
         | 
| 25 | 
            +
             | 
| 11 26 | 
             
                  task = Bash.new(project_path).select("ls #{Path.tasks} | #{remove_ext}")
         | 
| 12 27 |  | 
| 13 28 | 
             
                  require "ora/cli/tasks/#{task}"
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: ora-cli
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.8
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Ducksan Cho
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016-09- | 
| 11 | 
            +
            date: 2016-09-18 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -75,11 +75,14 @@ files: | |
| 75 75 | 
             
            - lib/ora/cli.rb
         | 
| 76 76 | 
             
            - lib/ora/cli/bash.rb
         | 
| 77 77 | 
             
            - lib/ora/cli/path.rb
         | 
| 78 | 
            +
            - lib/ora/cli/precondition_error.rb
         | 
| 78 79 | 
             
            - lib/ora/cli/print.rb
         | 
| 80 | 
            +
            - lib/ora/cli/push_task.rb
         | 
| 79 81 | 
             
            - lib/ora/cli/stdin.rb
         | 
| 80 82 | 
             
            - lib/ora/cli/task.rb
         | 
| 81 83 | 
             
            - lib/ora/cli/tasks/new_feature_branch.rb
         | 
| 82 84 | 
             
            - lib/ora/cli/tasks/push_feature_branch.rb
         | 
| 85 | 
            +
            - lib/ora/cli/tasks/push_to_aus.rb
         | 
| 83 86 | 
             
            - lib/ora/cli/tasks/push_to_master.rb
         | 
| 84 87 | 
             
            - lib/ora/cli/tasks/push_to_staging.rb
         | 
| 85 88 | 
             
            - lib/ora/cli/tasks/push_to_uat.rb
         |