Class: Foobara::CommandConnector::Commands::QueryGitCommitInfo
- Inherits:
-
Foobara::Command
- Object
- Foobara::Command
- Foobara::CommandConnector::Commands::QueryGitCommitInfo
- Defined in:
- foobara-0.0.110/projects/command_connectors/src/command_connector/commands/query_git_commit_info.rb
Overview
NOTE: this assumes that the following has been executed to generate the ‘git_commit_info.json` file:
git show -s –format=‘“%H”, “author”: “%an <%ae>”, “date”: “%ad”, “message”: “%s”’ \
HEAD > $1/git_commit_info.json
Defined Under Namespace
Classes: GitCommitInfoFileNotFoundError
Constant Summary collapse
- GIT_COMMIT_INFO_FILE =
"git_commit_info.json".freeze
Constants included from TruncatedInspect
Instance Attribute Summary collapse
-
#author ⇒ Object
Returns the value of attribute author.
-
#commit ⇒ Object
Returns the value of attribute commit.
-
#date ⇒ Object
Returns the value of attribute date.
-
#message ⇒ Object
Returns the value of attribute message.
Attributes included from Foobara::CommandPatternImplementation::Concerns::Subcommands
Attributes included from Foobara::CommandPatternImplementation::Concerns::Runtime
Attributes included from Foobara::CommandPatternImplementation::Concerns::Errors
Attributes included from Foobara::CommandPatternImplementation::Concerns::Inputs
Instance Method Summary collapse
- #execute ⇒ Object
- #git_commit_info ⇒ Object
- #load_git_commit_info ⇒ Object
- #validate_git_commit_info_exists ⇒ Object
Methods inherited from Foobara::Command
Methods included from Foobara::Concern
foobara_class_methods_module_for, foobara_concern?, included
Methods included from Foobara::CommandPatternImplementation::Concerns::Reflection
Methods included from Foobara::CommandPatternImplementation::Concerns::DomainMappers
#domain_map, #domain_map!, #run_mapped_subcommand!
Methods included from Foobara::CommandPatternImplementation::Concerns::Subcommands
#run_subcommand!, #subcommand?
Methods included from Foobara::CommandPatternImplementation::Concerns::Entities
Methods included from Foobara::CommandPatternImplementation::Concerns::Transactions
#auto_detect_current_transactions, #commit_transaction, #open_transaction, #opened_transactions, #relevant_entity_classes, #rollback_transaction, #transactions
Methods included from Foobara::CommandPatternImplementation::Concerns::StateMachine
Methods included from Foobara::CommandPatternImplementation::Concerns::Runtime
#halt!, #run, #run!, #run_execute, #succeed, #success?, #validate, #validate_records
Methods included from Foobara::CommandPatternImplementation::Concerns::Errors
Methods included from Foobara::CommandPatternImplementation::Concerns::Inputs
#cast_and_validate_inputs, #initialize, #method_missing, #respond_to_missing?, #respond_to_missing_for_inputs?
Methods included from TruncatedInspect
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Foobara::CommandPatternImplementation::Concerns::Inputs
Instance Attribute Details
#author ⇒ Object
Returns the value of attribute author.
46 47 48 |
# File 'foobara-0.0.110/projects/command_connectors/src/command_connector/commands/query_git_commit_info.rb', line 46 def @author end |
#commit ⇒ Object
Returns the value of attribute commit.
46 47 48 |
# File 'foobara-0.0.110/projects/command_connectors/src/command_connector/commands/query_git_commit_info.rb', line 46 def commit @commit end |
#date ⇒ Object
Returns the value of attribute date.
46 47 48 |
# File 'foobara-0.0.110/projects/command_connectors/src/command_connector/commands/query_git_commit_info.rb', line 46 def date @date end |
#message ⇒ Object
Returns the value of attribute message.
46 47 48 |
# File 'foobara-0.0.110/projects/command_connectors/src/command_connector/commands/query_git_commit_info.rb', line 46 def @message end |
Instance Method Details
#execute ⇒ Object
39 40 41 42 43 44 |
# File 'foobara-0.0.110/projects/command_connectors/src/command_connector/commands/query_git_commit_info.rb', line 39 def execute validate_git_commit_info_exists load_git_commit_info git_commit_info end |
#git_commit_info ⇒ Object
66 67 68 69 70 71 72 73 |
# File 'foobara-0.0.110/projects/command_connectors/src/command_connector/commands/query_git_commit_info.rb', line 66 def git_commit_info { commit:, author:, date:, message: } end |
#load_git_commit_info ⇒ Object
57 58 59 60 61 62 63 64 |
# File 'foobara-0.0.110/projects/command_connectors/src/command_connector/commands/query_git_commit_info.rb', line 57 def load_git_commit_info git_commit_info = JSON.parse(File.read(GIT_COMMIT_INFO_FILE)) self.commit = git_commit_info["commit"] self. = git_commit_info["author"] self.date = git_commit_info["date"] self. = git_commit_info["message"] end |
#validate_git_commit_info_exists ⇒ Object
51 52 53 54 55 |
# File 'foobara-0.0.110/projects/command_connectors/src/command_connector/commands/query_git_commit_info.rb', line 51 def validate_git_commit_info_exists unless File.exist?(GIT_COMMIT_INFO_FILE) add_runtime_error GitCommitInfoFileNotFoundError end end |