Class: LearnSubmit::Submission
- Inherits:
-
Object
- Object
- LearnSubmit::Submission
- Defined in:
- lib/learn_submit/submission.rb,
lib/learn_submit/submission/git_interactor.rb
Defined Under Namespace
Classes: GitInteractor
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Returns the value of attribute client.
-
#file_path ⇒ Object
readonly
Returns the value of attribute file_path.
-
#git ⇒ Object
readonly
Returns the value of attribute git.
-
#message ⇒ Object
readonly
Returns the value of attribute message.
-
#save ⇒ Object
readonly
Returns the value of attribute save.
Class Method Summary collapse
Instance Method Summary collapse
- #cleanup_tmp_file ⇒ Object
- #create ⇒ Object
-
#initialize(message:, save:) ⇒ Submission
constructor
A new instance of Submission.
- #setup_tmp_file ⇒ Object
- #user ⇒ Object
Constructor Details
#initialize(message:, save:) ⇒ Submission
Returns a new instance of Submission.
9 10 11 12 13 14 15 16 17 |
# File 'lib/learn_submit/submission.rb', line 9 def initialize(message:, save:) _login, token = Netrc.read['learn-config'] @client = LearnWeb::Client.new(token: token) @git = LearnSubmit::Submission::GitInteractor.new(username: user.username, message: ) @file_path = File.('~/.learn-submit-tmp') @message = @save = save end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
3 4 5 |
# File 'lib/learn_submit/submission.rb', line 3 def client @client end |
#file_path ⇒ Object (readonly)
Returns the value of attribute file_path.
3 4 5 |
# File 'lib/learn_submit/submission.rb', line 3 def file_path @file_path end |
#git ⇒ Object (readonly)
Returns the value of attribute git.
3 4 5 |
# File 'lib/learn_submit/submission.rb', line 3 def git @git end |
#message ⇒ Object (readonly)
Returns the value of attribute message.
3 4 5 |
# File 'lib/learn_submit/submission.rb', line 3 def @message end |
#save ⇒ Object (readonly)
Returns the value of attribute save.
3 4 5 |
# File 'lib/learn_submit/submission.rb', line 3 def save @save end |
Class Method Details
.create(message: nil, save: false) ⇒ Object
5 6 7 |
# File 'lib/learn_submit/submission.rb', line 5 def self.create(message: nil, save: false) new(message: , save: save).create end |
Instance Method Details
#cleanup_tmp_file ⇒ Object
34 35 36 |
# File 'lib/learn_submit/submission.rb', line 34 def cleanup_tmp_file File.write(file_path, 'Done.') end |
#create ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/learn_submit/submission.rb', line 19 def create setup_tmp_file commit_and_push! if !save submit! end end |
#setup_tmp_file ⇒ Object
29 30 31 32 |
# File 'lib/learn_submit/submission.rb', line 29 def setup_tmp_file FileUtils.touch(file_path) File.write(file_path, '') end |
#user ⇒ Object
38 39 40 |
# File 'lib/learn_submit/submission.rb', line 38 def user @user ||= client.me end |