class CommitLive::Current
Attributes
lesson[RW]
netrc[RW]
sentry[RW]
Public Class Methods
new()
click to toggle source
# File lib/commit-live/lesson/current.rb, line 10 def initialize() @netrc = CommitLive::NetrcInteractor.new() @sentry = CommitLive::Sentry.new() end
Public Instance Methods
getAttr(attr)
click to toggle source
# File lib/commit-live/lesson/current.rb, line 53 def getAttr(attr) if !attr.nil? lesson.fetch(attr) end end
getCurrentLesson(puzzle_name)
click to toggle source
# File lib/commit-live/lesson/current.rb, line 15 def getCurrentLesson(puzzle_name) getLesson(puzzle_name) end
getLesson(track_slug)
click to toggle source
# File lib/commit-live/lesson/current.rb, line 24 def getLesson(track_slug) begin Timeout::timeout(15) do response = CommitLive::API.new().get( "/v2/user/track/#{track_slug}", headers: { 'Authorization' => "#{token}" } ) if response.status == 200 @lesson = JSON.parse(response.body) elsif response.status == 404 puts "Oops you are trying to access a non-existent lesson." exit else sentry.log_message("Get Lesson Failed", { 'url' => "/v2/user/track/#{track_slug}", 'response-body' => response.body, 'response-status' => response.status } ) end end rescue Timeout::Error puts "Error while getting current lesson." puts "Please check your internet connection." exit end end
getValue(key)
click to toggle source
# File lib/commit-live/lesson/current.rb, line 59 def getValue(key) lessonData = getAttr('data') lessonData[key] end
token()
click to toggle source
# File lib/commit-live/lesson/current.rb, line 19 def token netrc.read netrc.password end