balboa 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/Rakefile +1 -1
- data/balboa.gemspec +3 -0
- data/bin/balboa +12 -16
- data/lib/balboa/cli/application.rb +0 -2
- data/lib/balboa/cli/command/help_command.rb +45 -0
- data/lib/balboa/cli/command/{last_punch_command.rb → last_command.rb} +2 -2
- data/lib/balboa/cli/command/{make_punch_command.rb → punch_command.rb} +8 -6
- data/lib/balboa/cli/options.rb +4 -4
- data/lib/balboa/host.rb +5 -0
- data/lib/balboa/interactor/capybara_interactor.rb +22 -7
- data/lib/balboa/interactor/command/{last_punch_command.rb → fetch_last_punch_command.rb} +1 -1
- data/lib/balboa/interactor/command/{make_punch_command.rb → fill_punch_command.rb} +1 -1
- data/lib/balboa/interactor/command/login_command.rb +7 -0
- data/lib/balboa/interactor/interactor_builder.rb +41 -0
- data/lib/balboa/interactor/interactor_wrapper.rb +2 -2
- data/lib/balboa/version.rb +1 -1
- data/lib/balboa.rb +9 -5
- data/spec/balboa/cli/application_spec.rb +52 -0
- data/spec/balboa/interactor_spec.rb +99 -0
- data/spec/balboa_spec.rb +4 -0
- metadata +40 -9
- data/.balboa +0 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 259c76600d7bcd513743de8ac654c905536d05f5
|
4
|
+
data.tar.gz: 62811d033eb6aa3b0be11386c68a7fa835ea545a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b098e9dde480d645e69e893dbdadece15f69113a3b2de85bf501d4e5de4c92218ac337d6978db2d4e2e63f5a14ea6f8fb0db09aad7de4be13d2ef35ff74d6b99
|
7
|
+
data.tar.gz: e3cce93de5d628acec25cc1d241ac7c0ccd3430716b8e5482f6a6526da70a1a8decd9cef562ac14f790caf74dd20c9292c0ec0ce6deaeb44cecc1dcb50692502
|
data/.gitignore
CHANGED
data/Rakefile
CHANGED
data/balboa.gemspec
CHANGED
data/bin/balboa
CHANGED
@@ -3,28 +3,24 @@
|
|
3
3
|
|
4
4
|
require_relative '../lib/balboa'
|
5
5
|
|
6
|
-
command = ARGV.shift ||
|
6
|
+
command = ARGV.shift || :help
|
7
7
|
app = Balboa::CLI::Application.new(command)
|
8
8
|
options = Balboa::CLI::Options.parse(ARGV)
|
9
9
|
|
10
|
-
|
10
|
+
raw_interactor = Balboa::Interactor::CapybaraInteractor.new
|
11
11
|
|
12
|
-
|
13
|
-
crawler_make_punch = Balboa::Interactor::Command::MakePunchCommand.new(options)
|
14
|
-
crawler_login = Balboa::Interactor::Command::LoginCommand.new(options)
|
12
|
+
Balboa::Interactor::InteractorBuilder.create(raw_interactor, options)
|
15
13
|
|
16
|
-
|
17
|
-
crawler.add_command :make_punch, crawler_make_punch
|
18
|
-
crawler.add_command :login, crawler_login
|
14
|
+
interactor = Balboa::Interactor::InteractorWrapper.new(raw_interactor)
|
19
15
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
app_make_punch = Balboa::CLI::Command::MakePunchCommand.new(interactor, options['holidays'])
|
16
|
+
app_last = Balboa::CLI::Command::LastCommand.new(interactor)
|
17
|
+
app_punch = Balboa::CLI::Command::PunchCommand.new(interactor, options['holidays'])
|
18
|
+
app_help = Balboa::CLI::Command::HelpCommand.new
|
24
19
|
app_star_wars = Balboa::CLI::Command::StarWarsCommand.new
|
25
20
|
|
26
|
-
app.add_command
|
27
|
-
app.add_command
|
28
|
-
app.add_command
|
21
|
+
app.add_command(:last, app_last)
|
22
|
+
app.add_command(:punch, app_punch)
|
23
|
+
app.add_command(:help, app_help)
|
24
|
+
app.add_command(:star_wars, app_star_wars)
|
29
25
|
|
30
|
-
|
26
|
+
app.execute
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../../version'
|
4
|
+
|
5
|
+
module Balboa
|
6
|
+
module CLI
|
7
|
+
module Command
|
8
|
+
class HelpCommand
|
9
|
+
def execute
|
10
|
+
$stdout.puts help
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def help
|
16
|
+
[
|
17
|
+
"░░░░░▄▄███████████████▄▄░░░░ BALBOA #{Balboa::VERSION}",
|
18
|
+
"░░▄██████████████████████▄░░",
|
19
|
+
"░█████████▀███████▀████████░",
|
20
|
+
"█████████▀▀█▀█░░▀██▄██▄████░ Usage: balboa [command] [options]",
|
21
|
+
"░████████▄▄█░▀▀▄▄█░░▀░████░░",
|
22
|
+
"░███████▀░░░▄▄▄▄░░░▄▄▄███░░░ Commands:",
|
23
|
+
"▀███████░░▄▀▀██▀░░█▄░▄▀███░░ last Fetch last punch date",
|
24
|
+
"░██████▀░░█░██▀▀░░████░██░░░ punch Punch up to yesterday",
|
25
|
+
"████████░▄░░▀▀░░░░▀▄░▀▀█░░░░ help HERBERT, COME TO MY RESCUE",
|
26
|
+
"█▀██████▀░▄░░▄░░░░░░█░░█░░░░",
|
27
|
+
"▀▄████▄▀░░░▀▀░░▀░▄░░▀░░░█░░░ Options:",
|
28
|
+
"▄██████▀▄░░░░░░░░░██▄▄▄░█░░░ balboa punch -c FILE Override config from .balboa",
|
29
|
+
"███████░█░░░░░░░░█▀▄▄▄█░░█░░ balboa punch -p PASSWORD Override password from .balboa",
|
30
|
+
"░██████░░█░░░░░░░░░▀░░░░░░▀▄",
|
31
|
+
"▀▄█████░░░▀▄░░░░░░░░░░░░░░░█ Examples:",
|
32
|
+
"░░░███▀░░░░░░▀░░░░▄░░░░░░▄█░ balboa",
|
33
|
+
"░░░▄▀░░░░░░░░░▀▄░░░▀▀▀▀▀█▀░░ balboa punch",
|
34
|
+
"░▀░░░░░░░░░░░░░░░▀░░░░░░▀▄░░",
|
35
|
+
"░░░░░░░░░░░░░░░░░░░░░░░▄░█▀▄ #{quote}"
|
36
|
+
].join("\n")
|
37
|
+
end
|
38
|
+
|
39
|
+
def quote
|
40
|
+
"`Life's not about how hard of a hit you can give...'"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -3,13 +3,13 @@
|
|
3
3
|
module Balboa
|
4
4
|
module CLI
|
5
5
|
module Command
|
6
|
-
class
|
6
|
+
class LastCommand
|
7
7
|
def initialize(interactor)
|
8
8
|
@interactor = interactor
|
9
9
|
end
|
10
10
|
|
11
11
|
def execute
|
12
|
-
@interactor.
|
12
|
+
$stdout.puts(@interactor.last)
|
13
13
|
end
|
14
14
|
end
|
15
15
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module Balboa
|
4
4
|
module CLI
|
5
5
|
module Command
|
6
|
-
class
|
6
|
+
class PunchCommand
|
7
7
|
def initialize(interactor, holidays)
|
8
8
|
@interactor = interactor
|
9
9
|
@holidays = holidays.uniq.map { |holiday| Date.parse(holiday) }
|
@@ -11,13 +11,15 @@ module Balboa
|
|
11
11
|
|
12
12
|
def execute
|
13
13
|
punch_dates.each do |date|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
$stdout.
|
14
|
+
$stdout.print(date.strftime("%d/%m/%Y"))
|
15
|
+
|
16
|
+
if date.saturday? || date.sunday? || holiday?(date)
|
17
|
+
$stdout.print(" # SKIPPED")
|
18
18
|
else
|
19
19
|
@interactor.punch(date)
|
20
20
|
end
|
21
|
+
|
22
|
+
$stdout.print("\n")
|
21
23
|
end
|
22
24
|
end
|
23
25
|
|
@@ -34,7 +36,7 @@ module Balboa
|
|
34
36
|
end
|
35
37
|
|
36
38
|
def last_punch_date
|
37
|
-
Date.parse(@interactor.
|
39
|
+
Date.parse(@interactor.last) + 1
|
38
40
|
end
|
39
41
|
end
|
40
42
|
end
|
data/lib/balboa/cli/options.rb
CHANGED
@@ -6,8 +6,8 @@ require 'yaml'
|
|
6
6
|
module Balboa
|
7
7
|
module CLI
|
8
8
|
class Options
|
9
|
-
ERROR_EXIT_CODE
|
10
|
-
BALBOA_FILE
|
9
|
+
ERROR_EXIT_CODE = 1
|
10
|
+
BALBOA_FILE = '.balboa'.freeze
|
11
11
|
|
12
12
|
MissingOptionError = Class.new(RuntimeError)
|
13
13
|
|
@@ -50,8 +50,8 @@ module Balboa
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def load_params
|
53
|
-
@parser.on('-
|
54
|
-
@config.merge!(
|
53
|
+
@parser.on('-p', '--password PASSWORD') do |password|
|
54
|
+
@config.merge!('password' => password)
|
55
55
|
end
|
56
56
|
end
|
57
57
|
end
|
data/lib/balboa/host.rb
ADDED
@@ -3,28 +3,43 @@
|
|
3
3
|
module Balboa
|
4
4
|
module Interactor
|
5
5
|
class CapybaraInteractor
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
|
7
|
+
CommandNotFound = Class.new(RuntimeError)
|
8
|
+
LoginCommandNotFound = Class.new(CommandNotFound)
|
9
|
+
|
10
|
+
def initialize
|
11
|
+
@commands = Hash.new { fail CommandNotFound }
|
12
|
+
@signed_in = false
|
9
13
|
end
|
10
14
|
|
11
15
|
def add_command(key, command)
|
12
16
|
@commands[key.to_s] = command
|
13
17
|
end
|
14
18
|
|
15
|
-
def
|
16
|
-
login
|
17
|
-
|
19
|
+
def last
|
20
|
+
login unless signed_in?
|
21
|
+
|
22
|
+
@commands['last'].execute
|
18
23
|
end
|
19
24
|
|
20
25
|
def punch(date)
|
21
|
-
|
26
|
+
login unless signed_in?
|
27
|
+
|
28
|
+
@commands['punch'].execute(date)
|
22
29
|
end
|
23
30
|
|
24
31
|
private
|
25
32
|
|
33
|
+
attr_accessor :signed_in
|
34
|
+
|
35
|
+
alias_method :signed_in?, :signed_in
|
36
|
+
|
26
37
|
def login
|
27
38
|
@commands['login'].execute
|
39
|
+
|
40
|
+
@signed_in = true
|
41
|
+
rescue CommandNotFound
|
42
|
+
raise LoginCommandNotFound
|
28
43
|
end
|
29
44
|
end
|
30
45
|
end
|
@@ -8,6 +8,10 @@ module Balboa
|
|
8
8
|
class LoginCommand
|
9
9
|
include Capybara::DSL
|
10
10
|
|
11
|
+
SuccessMessage = 'Login efetuado com sucesso!'.freeze
|
12
|
+
|
13
|
+
LoginFailure = Class.new(RuntimeError)
|
14
|
+
|
11
15
|
def initialize(options)
|
12
16
|
@options = options
|
13
17
|
end
|
@@ -33,6 +37,9 @@ module Balboa
|
|
33
37
|
|
34
38
|
def confirm
|
35
39
|
click_button 'Sign in'
|
40
|
+
find('p', text: SuccessMessage)
|
41
|
+
rescue Capybara::ElementNotFound
|
42
|
+
raise LoginFailure
|
36
43
|
end
|
37
44
|
end
|
38
45
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'capybara_interactor'
|
4
|
+
require_relative 'command/fetch_last_punch_command'
|
5
|
+
require_relative 'command/fill_punch_command'
|
6
|
+
require_relative 'command/login_command'
|
7
|
+
|
8
|
+
module Balboa
|
9
|
+
module Interactor
|
10
|
+
class InteractorBuilder
|
11
|
+
def self.create(*args)
|
12
|
+
new(*args).create
|
13
|
+
end
|
14
|
+
|
15
|
+
def initialize(interactor, options)
|
16
|
+
@interactor = interactor
|
17
|
+
@options = options
|
18
|
+
end
|
19
|
+
|
20
|
+
def create
|
21
|
+
last_punch = Balboa::Interactor::Command::FetchLastPunchCommand.new
|
22
|
+
|
23
|
+
@interactor.tap do |itr|
|
24
|
+
itr.add_command(:punch, fill_punch)
|
25
|
+
itr.add_command(:last, last_punch)
|
26
|
+
itr.add_command(:login, login)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def fill_punch
|
33
|
+
Balboa::Interactor::Command::FillPunchCommand.new(@options)
|
34
|
+
end
|
35
|
+
|
36
|
+
def login
|
37
|
+
Balboa::Interactor::Command::LoginCommand.new(@options)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/lib/balboa/version.rb
CHANGED
data/lib/balboa.rb
CHANGED
@@ -1,16 +1,20 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative 'balboa/version'
|
4
|
+
require_relative 'balboa/host'
|
4
5
|
|
5
6
|
require_relative 'balboa/interactor/capybara_interactor'
|
6
7
|
require_relative 'balboa/interactor/interactor_wrapper'
|
7
|
-
require_relative 'balboa/interactor/
|
8
|
-
require_relative 'balboa/interactor/command/
|
8
|
+
require_relative 'balboa/interactor/interactor_builder'
|
9
|
+
require_relative 'balboa/interactor/command/fetch_last_punch_command'
|
10
|
+
require_relative 'balboa/interactor/command/fill_punch_command'
|
9
11
|
require_relative 'balboa/interactor/command/login_command'
|
10
12
|
|
11
13
|
require_relative 'balboa/cli/application'
|
12
|
-
require_relative 'balboa/cli/
|
13
|
-
require_relative 'balboa/cli/command/
|
14
|
+
require_relative 'balboa/cli/options'
|
15
|
+
require_relative 'balboa/cli/command/last_command'
|
16
|
+
require_relative 'balboa/cli/command/punch_command'
|
17
|
+
require_relative 'balboa/cli/command/help_command'
|
14
18
|
require_relative 'balboa/cli/command/star_wars_command'
|
15
19
|
|
16
20
|
require 'phantomjs'
|
@@ -21,4 +25,4 @@ Capybara.register_driver :poltergeist do |app|
|
|
21
25
|
end
|
22
26
|
Capybara.default_driver = :poltergeist
|
23
27
|
Capybara.run_server = false
|
24
|
-
Capybara.app_host =
|
28
|
+
Capybara.app_host = Balboa::HOST
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Balboa::CLI::Application do
|
6
|
+
it 'stores commands to execute later' do
|
7
|
+
app = described_class.new('cmd')
|
8
|
+
command = double('command', execute: true)
|
9
|
+
|
10
|
+
app.add_command('cmd', command)
|
11
|
+
|
12
|
+
expect(app.execute).to be true
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'coerces command_id to string' do
|
16
|
+
app = described_class.new(:cmd)
|
17
|
+
command = double('command', execute: true)
|
18
|
+
|
19
|
+
app.add_command('cmd', command)
|
20
|
+
|
21
|
+
expect(app.execute).to be true
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'coerces command_key to string' do
|
25
|
+
app = described_class.new('cmd')
|
26
|
+
command = double('command', execute: true)
|
27
|
+
|
28
|
+
app.add_command(:cmd, command)
|
29
|
+
|
30
|
+
expect(app.execute).to be true
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'does not swallow errors from executed command' do
|
34
|
+
app = described_class.new('cmd')
|
35
|
+
command = double
|
36
|
+
allow(command).to receive(:execute).and_raise
|
37
|
+
|
38
|
+
app.add_command(:cmd, command)
|
39
|
+
|
40
|
+
expect {
|
41
|
+
app.execute
|
42
|
+
}.to raise_error(RuntimeError)
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'raises error when command not found' do
|
46
|
+
app = described_class.new('cmd')
|
47
|
+
|
48
|
+
expect {
|
49
|
+
app.execute
|
50
|
+
}.to raise_error(Balboa::CLI::Application::CommandNotFound)
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,99 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Balboa::Interactor::CapybaraInteractor do
|
6
|
+
context 'when no login command' do
|
7
|
+
it 'responds to last but raises error' do
|
8
|
+
interactor = described_class.new
|
9
|
+
|
10
|
+
last = double('cmd')
|
11
|
+
interactor.add_command('last', last)
|
12
|
+
|
13
|
+
error = Balboa::Interactor::CapybaraInteractor::LoginCommandNotFound
|
14
|
+
expect { interactor.last }.to raise_error error
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'responds to punch but raises error' do
|
18
|
+
interactor = described_class.new
|
19
|
+
|
20
|
+
punch = double('cmd')
|
21
|
+
interactor.add_command('punch', punch)
|
22
|
+
|
23
|
+
error = Balboa::Interactor::CapybaraInteractor::LoginCommandNotFound
|
24
|
+
expect { interactor.punch(Date.today) }.to raise_error error
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'responds to last but raises if no command provided' do
|
29
|
+
interactor = described_class.new
|
30
|
+
|
31
|
+
last = double('cmd', execute: true)
|
32
|
+
login = double('login', execute: true)
|
33
|
+
|
34
|
+
interactor.add_command('login', login)
|
35
|
+
|
36
|
+
error = Balboa::Interactor::CapybaraInteractor::CommandNotFound
|
37
|
+
expect {
|
38
|
+
interactor.last
|
39
|
+
}.to raise_error error
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'responds to punch but raises if no command provided' do
|
43
|
+
interactor = described_class.new
|
44
|
+
|
45
|
+
punch = double('cmd', execute: nil)
|
46
|
+
login = double('login', execute: nil)
|
47
|
+
|
48
|
+
interactor.add_command('login', login)
|
49
|
+
|
50
|
+
error = Balboa::Interactor::CapybaraInteractor::CommandNotFound
|
51
|
+
expect {
|
52
|
+
interactor.punch(Date.today)
|
53
|
+
}.to raise_error error
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'signs in only once' do
|
57
|
+
interactor = described_class.new
|
58
|
+
|
59
|
+
last = double('cmd', execute: nil)
|
60
|
+
punch = double('cmd', execute: nil)
|
61
|
+
login = double('login', execute: nil)
|
62
|
+
|
63
|
+
interactor.add_command('punch', punch)
|
64
|
+
interactor.add_command('last', last)
|
65
|
+
interactor.add_command('login', login)
|
66
|
+
|
67
|
+
interactor.punch(Date.today)
|
68
|
+
interactor.last
|
69
|
+
|
70
|
+
expect(login).to have_received(:execute).once
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'stores last command to execute whenever called' do
|
74
|
+
interactor = described_class.new
|
75
|
+
|
76
|
+
last = double('cmd', execute: Date.today)
|
77
|
+
login = double('login', execute: nil)
|
78
|
+
|
79
|
+
interactor.add_command('last', last)
|
80
|
+
interactor.add_command('login', login)
|
81
|
+
|
82
|
+
expect(interactor.last).to eq(Date.today)
|
83
|
+
end
|
84
|
+
|
85
|
+
it 'stores punch command to execute whenever called' do
|
86
|
+
interactor = described_class.new
|
87
|
+
today = Date.today
|
88
|
+
|
89
|
+
punch = double('cmd')
|
90
|
+
allow(punch).to receive(:execute).with(today).and_return(true)
|
91
|
+
|
92
|
+
login = double('login', execute: nil)
|
93
|
+
|
94
|
+
interactor.add_command('punch', punch)
|
95
|
+
interactor.add_command('login', login)
|
96
|
+
|
97
|
+
expect(interactor.punch(today)).to eq(true)
|
98
|
+
end
|
99
|
+
end
|
data/spec/balboa_spec.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: balboa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Waldyr de Souza
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
12
|
-
dependencies:
|
11
|
+
date: 2016-07-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: capybara
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.7.1
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.7.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: phantomjs
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.1.1.0
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 2.1.1.0
|
13
41
|
description: Make Balboa do the punches for you
|
14
42
|
email:
|
15
43
|
- waldyr.ar@gmail.com
|
@@ -18,7 +46,6 @@ executables:
|
|
18
46
|
extensions: []
|
19
47
|
extra_rdoc_files: []
|
20
48
|
files:
|
21
|
-
- ".balboa"
|
22
49
|
- ".gitignore"
|
23
50
|
- ".reek"
|
24
51
|
- ".rspec"
|
@@ -36,16 +63,21 @@ files:
|
|
36
63
|
- features/support/env.rb
|
37
64
|
- lib/balboa.rb
|
38
65
|
- lib/balboa/cli/application.rb
|
39
|
-
- lib/balboa/cli/command/
|
40
|
-
- lib/balboa/cli/command/
|
66
|
+
- lib/balboa/cli/command/help_command.rb
|
67
|
+
- lib/balboa/cli/command/last_command.rb
|
68
|
+
- lib/balboa/cli/command/punch_command.rb
|
41
69
|
- lib/balboa/cli/command/star_wars_command.rb
|
42
70
|
- lib/balboa/cli/options.rb
|
71
|
+
- lib/balboa/host.rb
|
43
72
|
- lib/balboa/interactor/capybara_interactor.rb
|
44
|
-
- lib/balboa/interactor/command/
|
73
|
+
- lib/balboa/interactor/command/fetch_last_punch_command.rb
|
74
|
+
- lib/balboa/interactor/command/fill_punch_command.rb
|
45
75
|
- lib/balboa/interactor/command/login_command.rb
|
46
|
-
- lib/balboa/interactor/
|
76
|
+
- lib/balboa/interactor/interactor_builder.rb
|
47
77
|
- lib/balboa/interactor/interactor_wrapper.rb
|
48
78
|
- lib/balboa/version.rb
|
79
|
+
- spec/balboa/cli/application_spec.rb
|
80
|
+
- spec/balboa/interactor_spec.rb
|
49
81
|
- spec/balboa_spec.rb
|
50
82
|
- spec/spec_helper.rb
|
51
83
|
homepage:
|
@@ -73,4 +105,3 @@ signing_key:
|
|
73
105
|
specification_version: 4
|
74
106
|
summary: Make Balboa do the punches for you
|
75
107
|
test_files: []
|
76
|
-
has_rdoc:
|
data/.balboa
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
---
|
2
|
-
email: waldyr.araujo@codeminer42.com
|
3
|
-
password: waldyr.araujo@codeminer42.com
|
4
|
-
project: 'API Market Place'
|
5
|
-
start_at: '08:00'
|
6
|
-
lunch_at: '12:00'
|
7
|
-
restart_at: '13:00'
|
8
|
-
leave_at: '17:00'
|
9
|
-
holidays:
|
10
|
-
- 12/06/1992
|
11
|
-
- 12/06/1992
|
12
|
-
- 12/06/1992
|
13
|
-
- 12/06/1992
|
14
|
-
- 12/06/1992
|
15
|
-
- 12/06/1992
|
16
|
-
- 12/06/1992
|