Class: GitPrettyAccept::Transaction
- Inherits:
-
Object
- Object
- GitPrettyAccept::Transaction
- Includes:
- Methadone::CLILogging
- Defined in:
- lib/git_pretty_accept/transaction.rb
Instance Attribute Summary collapse
-
#branch ⇒ Object
readonly
Returns the value of attribute branch.
-
#enable_autosquash ⇒ Object
readonly
Returns the value of attribute enable_autosquash.
-
#let_user_edit_message ⇒ Object
readonly
Returns the value of attribute let_user_edit_message.
Instance Method Summary collapse
- #call ⇒ Object
- #commands ⇒ Object
-
#initialize(branch, options = {}) ⇒ Transaction
constructor
A new instance of Transaction.
- #source_branch ⇒ Object
Constructor Details
#initialize(branch, options = {}) ⇒ Transaction
Returns a new instance of Transaction.
7 8 9 10 11 |
# File 'lib/git_pretty_accept/transaction.rb', line 7 def initialize(branch, = {}) @branch = branch @let_user_edit_message = [:edit] @enable_autosquash = [:autosquash] end |
Instance Attribute Details
#branch ⇒ Object (readonly)
Returns the value of attribute branch.
5 6 7 |
# File 'lib/git_pretty_accept/transaction.rb', line 5 def branch @branch end |
#enable_autosquash ⇒ Object (readonly)
Returns the value of attribute enable_autosquash.
5 6 7 |
# File 'lib/git_pretty_accept/transaction.rb', line 5 def enable_autosquash @enable_autosquash end |
#let_user_edit_message ⇒ Object (readonly)
Returns the value of attribute let_user_edit_message.
5 6 7 |
# File 'lib/git_pretty_accept/transaction.rb', line 5 def @let_user_edit_message end |
Instance Method Details
#call ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/git_pretty_accept/transaction.rb', line 31 def call commands.each_with_index do |command, i| info "\n#{command}" unless system(command) error "\nDue to the error above, " + "the following commands were not executed: " + commands[i + 1, commands.size].join("\n") exit! end end end |
#commands ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/git_pretty_accept/transaction.rb', line 13 def commands [ "git fetch origin", "git rebase origin/#{source_branch}", "echo 'Confirming that #{source_branch} is not ahead of origin/#{source_branch}...'", "test `git rev-parse HEAD` = `git rev-parse origin/#{source_branch}`", "git checkout #{branch}", "git rebase origin/#{branch}", "git rebase origin/#{source_branch} #{autosquash_params}", "git push --force origin #{branch}", "git checkout #{source_branch}", MergeCommand.new(branch, ).to_s, "git push origin #{source_branch}", "git branch -d #{branch}", "git push origin :#{branch}" ] end |
#source_branch ⇒ Object
43 44 45 46 47 |
# File 'lib/git_pretty_accept/transaction.rb', line 43 def source_branch return @source_branch if @source_branch our = Git.open('.') @source_branch = our.branches.find(&:current).to_s end |