miteras_batch_application 0.0.1 → 0.0.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/bin/miteras_batch_application +3 -2
- data/lib/acknowledgement_of_application.rb +3 -2
- data/lib/attendance.rb +24 -14
- data/lib/user.rb +4 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee443e8c6ae91b4b0646918d6f5b6679dc2188bdcbfb5112ffd80cf6bf48ef69
|
4
|
+
data.tar.gz: fde39b0371159a3efcee9b8d8050e0e42d2ddc660347c9034faff9dd3ab5c4fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bec94f3b5c2625925feb8500c75f00c50cb4f9f8609f707dfdbfa1cad21029bfcf621f96008bcd91d279d69dd2864da7a13dc9e19ede7c1c5ad53bff56c0f0e2
|
7
|
+
data.tar.gz: 04d5783572ad2a3d31921873e328200ec6b98602d43663646942b1898c1d933ca18da9dad795ae9044bf0a1dec39d5d1ba5df9ee66ac046f85ea78efaa0913d3
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#!/usr/bin/env ruby
|
2
3
|
|
3
4
|
require 'attendance'
|
@@ -5,8 +6,8 @@ require 'optparse'
|
|
5
6
|
|
6
7
|
opt = OptionParser.new
|
7
8
|
params = {}
|
8
|
-
opt.on('-c') {|v| params[:c] = v }
|
9
|
-
opt.on('-e') {|v| params[:e] = v }
|
9
|
+
opt.on('-c') { |v| params[:c] = v }
|
10
|
+
opt.on('-e') { |v| params[:e] = v }
|
10
11
|
opt.parse!(ARGV)
|
11
12
|
attendance = Attendance.new(ARGV, params)
|
12
13
|
attendance.input
|
@@ -1,10 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
class AcknowledgementOfApplication
|
2
4
|
def initialize(table_row)
|
3
5
|
@table_row = table_row
|
4
6
|
end
|
5
7
|
|
6
8
|
def check_on_holidays
|
7
|
-
puts
|
8
9
|
@table_row.find_element(:class, 'monthly-checkbox').click if past_day? && unapplied?
|
9
10
|
end
|
10
11
|
|
@@ -13,7 +14,7 @@ class AcknowledgementOfApplication
|
|
13
14
|
def past_day?
|
14
15
|
require_table_row_day <= Date.today.day
|
15
16
|
end
|
16
|
-
|
17
|
+
|
17
18
|
def require_table_row_day
|
18
19
|
@table_row.text.match(/^[0-9]*/)[0].to_i
|
19
20
|
end
|
data/lib/attendance.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'selenium-webdriver'
|
2
4
|
require_relative './user'
|
3
5
|
require_relative './acknowledgement_of_application'
|
@@ -26,23 +28,23 @@ class Attendance
|
|
26
28
|
sleep(1)
|
27
29
|
end
|
28
30
|
|
29
|
-
def enter_discrepancy_reasons
|
31
|
+
def enter_discrepancy_reasons
|
30
32
|
find_table_row.length.times { |index| enter_discrepancy_reason(index) }
|
31
33
|
end
|
32
34
|
|
33
35
|
def find_table_row
|
34
|
-
@session.find_elements(:class,
|
36
|
+
@session.find_elements(:class, 'table01__row')
|
35
37
|
end
|
36
38
|
|
37
39
|
def enter_discrepancy_reason(index)
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
40
|
+
return unless find_alert_tooltip(index)
|
41
|
+
|
42
|
+
find_table_row[index].find_element(:class, 'divergence').click
|
43
|
+
sleep(1)
|
44
|
+
@session.find_element(:id, 'reason').send_keys(@reason)
|
45
|
+
@session.find_element(:id, 'regist').click
|
46
|
+
@session.find_element(:class, 'modalConfirm__btnBox').find_element(:class, 'divergence-close').click
|
47
|
+
sleep(1)
|
46
48
|
end
|
47
49
|
|
48
50
|
def find_alert_tooltip(index)
|
@@ -50,11 +52,19 @@ class Attendance
|
|
50
52
|
end
|
51
53
|
|
52
54
|
def check_on_holidays
|
53
|
-
|
54
|
-
|
55
|
-
|
55
|
+
check_table_row_holiday
|
56
|
+
click_batch_approval_application_button
|
57
|
+
sleep(4)
|
58
|
+
end
|
59
|
+
|
60
|
+
def check_table_row_holiday
|
61
|
+
find_table_row.map { |table_row| AcknowledgementOfApplication.new(table_row).check_on_holidays }
|
62
|
+
end
|
63
|
+
|
64
|
+
def click_batch_approval_application_button
|
65
|
+
return if @session.find_element(:class, 'u_relative')
|
66
|
+
|
56
67
|
@session.find_element(:id, 'batch-request').click
|
57
68
|
@session.find_element(:id, 'save-batch-request').click
|
58
|
-
sleep(4)
|
59
69
|
end
|
60
70
|
end
|
data/lib/user.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
class User
|
2
4
|
def initialize(username, password, session)
|
3
5
|
@session = session
|
@@ -6,9 +8,9 @@ class User
|
|
6
8
|
end
|
7
9
|
|
8
10
|
def login
|
9
|
-
@session.navigate.to
|
11
|
+
@session.navigate.to 'https://kintai.miteras.jp/A319971/login'
|
10
12
|
@session.find_element(:id, 'username').send_keys(@username)
|
11
13
|
@session.find_element(:id, 'password').send_keys(@password, :enter)
|
12
14
|
sleep(1)
|
13
15
|
end
|
14
|
-
end
|
16
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: miteras_batch_application
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- pontan
|
@@ -33,7 +33,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
33
33
|
requirements:
|
34
34
|
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
36
|
+
version: 3.1.1
|
37
37
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - ">="
|