class LearnOpen::Opener
Attributes
clone_only[R]
editor[R]
get_next_lesson[R]
io[R]
logger[R]
options[R]
target_lesson[R]
Public Class Methods
new(target_lesson, editor, get_next_lesson, clone_only, options = {})
click to toggle source
# File lib/learn_open/opener.rb, line 15 def initialize(target_lesson, editor, get_next_lesson, clone_only, options = {}) @target_lesson = target_lesson @editor = editor @get_next_lesson = get_next_lesson @clone_only = clone_only @io = options.fetch(:io, LearnOpen.default_io) @logger = options.fetch(:logger, LearnOpen.logger) @options = options end
run(lesson:, editor_specified:, get_next_lesson:, clone_only:)
click to toggle source
# File lib/learn_open/opener.rb, line 11 def self.run(lesson:, editor_specified:, get_next_lesson:, clone_only:) new(lesson, editor_specified, get_next_lesson, clone_only).run end
Public Instance Methods
run()
click to toggle source
# File lib/learn_open/opener.rb, line 27 def run logger.log('Getting lesson...') io.puts "Looking for lesson..." lesson_data = LearnOpen::Adapters::LearnWebAdapter .new(options) .fetch_lesson_data( target_lesson: target_lesson, fetch_next_lesson: get_next_lesson ) lesson = Lessons.classify(lesson_data, options) environment = LearnOpen::Environments.classify(options) lesson.open(environment, editor, clone_only) end