class Netologiest::Lesson

Attributes

course_id[R]
id[R]
iframe_url[R]
lesson_token[R]
lesson_token_expire[R]

Public Class Methods

new(course_id, lesson_id) click to toggle source
# File lib/netologiest/resources/lesson.rb, line 8
def initialize(course_id, lesson_id)
  authorize!
  @course_id = course_id
  @id = lesson_id
end
video_url(course_id, lesson_id) click to toggle source
# File lib/netologiest/resources/lesson.rb, line 14
def self.video_url(course_id, lesson_id)
  lesson = new(course_id, lesson_id)
  lesson.video_token
  lesson.video_url
end

Public Instance Methods

video_token() click to toggle source
# File lib/netologiest/resources/lesson.rb, line 20
def video_token
  url = build_url(
    Netologiest::Course.resource_name,
    course_id,
    self.class.resource_name,
    id,
    'gettoken'
  )

  handle_lesson_token(get(url))
end
video_url() click to toggle source
# File lib/netologiest/resources/lesson.rb, line 32
def video_url
  @iframe_url = build_url(
    Netologiest::Course.resource_name,
    course_id,
    self.class.resource_name,
    id,
    "iframe?token=#{lesson_token}"
  )
end

Private Instance Methods

handle_lesson_token(response) click to toggle source
# File lib/netologiest/resources/lesson.rb, line 44
def handle_lesson_token(response)
  data = JSON.parse(response)
  return if data.kind_of?(Hash) && data.empty?

  @lesson_token_expire = data["expires_in"]
  @lesson_token = data["access_token"]
end