lib/balboa/interactor/interactor_builder.rb in balboa-0.1.6 vs lib/balboa/interactor/interactor_builder.rb in balboa-0.1.7

- old
+ new

@@ -2,40 +2,48 @@ require_relative 'capybara_interactor' require_relative 'command/fetch_last_punch_command' require_relative 'command/fill_punch_command' require_relative 'command/login_command' +require_relative '../schedule' module Balboa module Interactor class InteractorBuilder def self.create(*args) new(*args).create end def initialize(options) @options = options - @interactor = Balboa::Interactor::CapybaraInteractor.new(options) + @interactor = CapybaraInteractor.new(options) end def create - last_punch = Balboa::Interactor::Command::FetchLastPunchCommand.new + last_punch = Command::FetchLastPunchCommand.new @interactor.tap do |itr| itr.add_command(:punch, fill_punch) itr.add_command(:last, last_punch) itr.add_command(:login, login) end end private + def schedule + Balboa::Schedule.new(@options['start_at'], + @options['lunch_at'], + @options['restart_at'], + @options['leave_at']) + end + def fill_punch - Balboa::Interactor::Command::FillPunchCommand.new(@options) + Command::FillPunchCommand.new(schedule, @options['project']) end def login - Balboa::Interactor::Command::LoginCommand.new(@options) + Command::LoginCommand.new(@options['email'], @options['password']) end end end end