akashiyaki 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/akashiyaki/account_parser.rb +3 -1
- data/lib/akashiyaki/client.rb +7 -1
- data/lib/akashiyaki/command.rb +4 -0
- data/lib/akashiyaki/errors.rb +5 -0
- data/lib/akashiyaki/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d314ed9673aa72e3f934adb80e31c7e9e2aa007
|
4
|
+
data.tar.gz: db38ef8a77e95e410cc6206241f3ffb10fdf066b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab5fff35b7a406a5d01bda8e831146bc6725ef9810e7d928103208df6d261e7053d73ee2da07ede9888c6d00dcda5d0e92bd5503640ca221d11369f2ef9a75f4
|
7
|
+
data.tar.gz: a102e8391e54c51070a73f3cee8f72b5765fe493aae699c09380f73f3ea45c6f100aaaece9356746c17f426c5d3e2820f3ae9174429230f6856af940969a30e5
|
data/lib/akashiyaki/client.rb
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
# frozen_string_literal: true
|
2
3
|
|
3
4
|
require "mechanize"
|
4
5
|
|
6
|
+
require "akashiyaki/errors"
|
7
|
+
|
5
8
|
module Akashiyaki
|
6
9
|
class Client
|
7
10
|
DEFAULT_REQUEST_HEADERS = {
|
@@ -16,6 +19,7 @@ module Akashiyaki
|
|
16
19
|
password: "form[password]",
|
17
20
|
}.freeze
|
18
21
|
|
22
|
+
DAKOKU_PAGE_TITLE_RE = /打刻/
|
19
23
|
DAKOKU_FORM_ID = "new_form"
|
20
24
|
DAKOKU_FORM_FIELDS = {
|
21
25
|
authenticity_token: "authenticity_token",
|
@@ -45,7 +49,9 @@ module Akashiyaki
|
|
45
49
|
@account.each do |field, value|
|
46
50
|
login_form[LOGIN_FORM_FIELDS[field]] = value
|
47
51
|
end
|
48
|
-
login_form.submit
|
52
|
+
res = login_form.submit
|
53
|
+
raise NotAuthorized, "failed to log in" unless res.title =~ DAKOKU_PAGE_TITLE_RE
|
54
|
+
res
|
49
55
|
end
|
50
56
|
|
51
57
|
def start_work
|
data/lib/akashiyaki/command.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "akashiyaki/client"
|
4
|
+
require "akashiyaki/errors"
|
4
5
|
|
5
6
|
module Akashiyaki
|
6
7
|
class Command
|
@@ -14,6 +15,9 @@ module Akashiyaki
|
|
14
15
|
|
15
16
|
def run
|
16
17
|
client.send(:"#{action}_#{mode}")
|
18
|
+
puts "Succeeded!"
|
19
|
+
rescue NotAuthorized => e
|
20
|
+
puts "Failed! #{e.message}"
|
17
21
|
end
|
18
22
|
|
19
23
|
private
|
data/lib/akashiyaki/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: akashiyaki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nownabe
|
@@ -104,6 +104,7 @@ files:
|
|
104
104
|
- lib/akashiyaki/cli.rb
|
105
105
|
- lib/akashiyaki/client.rb
|
106
106
|
- lib/akashiyaki/command.rb
|
107
|
+
- lib/akashiyaki/errors.rb
|
107
108
|
- lib/akashiyaki/version.rb
|
108
109
|
homepage: https://github.com/nownabe/akashiyaki
|
109
110
|
licenses:
|