balboa 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|