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