cxeed 0.2.2 → 0.3.0
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/Gemfile.lock +1 -1
- data/README.md +4 -0
- data/hoge.png +0 -0
- data/lib/cxeed/command.rb +8 -8
- data/lib/cxeed/proxy.rb +24 -6
- data/lib/cxeed/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d5a339d47926bb079adfcd295658c88025af064
|
4
|
+
data.tar.gz: 65776ae738b2a604c50614e2be87b76abbc12c5f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 283e51e476ac7d49b3a2c9224ee73a36756677165c76877970467dea576d856c0b7ba90131ae48561ed30e774d52ecc163b67eb5c1975cba506af8bdf4e7389e
|
7
|
+
data.tar.gz: f28a19a33e7f9e904d548d9c9ae8adec2400012fd6dd3365740fc08570084375ae4acd9ddda1d28b96228de3b80a108bed1d39c88c72d0c88ae54eed273d5d97
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -34,12 +34,16 @@ install it yourself as:
|
|
34
34
|
$ cxeed arrive
|
35
35
|
or
|
36
36
|
$ cxeed arrive 10:00
|
37
|
+
or
|
38
|
+
$ cxeed arrive 10:00 2017/09/27
|
37
39
|
|
38
40
|
退社を報告します。引数なしで現在の時刻を入力します。
|
39
41
|
|
40
42
|
$ cxeed leave
|
41
43
|
or
|
42
44
|
$ cxeed leave 19:00
|
45
|
+
or
|
46
|
+
$ cxeed leave 19:00 2017/09/27
|
43
47
|
|
44
48
|
今日の勤怠を見ます。
|
45
49
|
|
data/hoge.png
ADDED
Binary file
|
data/lib/cxeed/command.rb
CHANGED
@@ -45,24 +45,24 @@ module Cxeed
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
48
|
-
desc 'arrive [time]', 'submit arrival time (time format is "%H:%M")'
|
49
|
-
def arrive(time = Time.now.strftime('%H:%M'))
|
48
|
+
desc 'arrive [time] [date]', 'submit arrival time (time format is "%H:%M") (date format 2017/09/27)'
|
49
|
+
def arrive(time = Time.now.strftime('%H:%M'), date = Time.now.strftime('%Y/%m/%d'))
|
50
50
|
cred = Cxeed::Credential.new
|
51
51
|
proxy = Cxeed::Proxy.new cred
|
52
52
|
|
53
|
-
proxy.arrive time
|
53
|
+
proxy.arrive time, DateTime.parse(date)
|
54
54
|
|
55
|
-
puts "arrive #{ time}"
|
55
|
+
puts "arrive #{ date } #{ time}"
|
56
56
|
end
|
57
57
|
|
58
|
-
desc 'leave [time]', 'submit leave time (time format is "%H:%M")'
|
59
|
-
def leave(time = Time.now.strftime('%H:%M'))
|
58
|
+
desc 'leave [time] [date]', 'submit leave time (time format is "%H:%M") (date format 2017/09/27)'
|
59
|
+
def leave(time = Time.now.strftime('%H:%M'), date = Time.now.strftime('%Y/%m/%d'))
|
60
60
|
cred = Cxeed::Credential.new
|
61
61
|
proxy = Cxeed::Proxy.new cred
|
62
62
|
|
63
|
-
proxy.leave time
|
63
|
+
proxy.leave time, DateTime.parse(date)
|
64
64
|
|
65
|
-
puts "leave #{ time}"
|
65
|
+
puts "leave #{ date } #{ time }"
|
66
66
|
end
|
67
67
|
|
68
68
|
desc 'today', 'show today attendance'
|
data/lib/cxeed/proxy.rb
CHANGED
@@ -3,6 +3,8 @@ require 'selenium-webdriver'
|
|
3
3
|
|
4
4
|
module Cxeed
|
5
5
|
class Proxy
|
6
|
+
BACKSPACE = "\ue003".freeze
|
7
|
+
|
6
8
|
def initialize(credential)
|
7
9
|
caps = Selenium::WebDriver::Remote::Capabilities.chrome('chromeOptions': {args: %i(--headless --disable-gpu window-size=1920,1080)})
|
8
10
|
@driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps
|
@@ -41,11 +43,27 @@ module Cxeed
|
|
41
43
|
@driver.switch_to.frame @driver.find_element(name: 'FRAME2')
|
42
44
|
end
|
43
45
|
|
44
|
-
|
46
|
+
# 引数の日付の入力画面に遷移する
|
47
|
+
def open_date(date)
|
48
|
+
# 処理期間の入力
|
49
|
+
@driver.find_element(:xpath, '//input[@name="StartYMD"]').send_keys(BACKSPACE * 8)
|
50
|
+
@driver.find_element(:xpath, '//input[@name="StartYMD"]').send_keys(date.strftime('%Y%m%d'))
|
51
|
+
@driver.find_element(:xpath, '//input[@name="EndYMD"]').send_keys(BACKSPACE * 8)
|
52
|
+
@driver.find_element(:xpath, '//input[@name="EndYMD"]').send_keys(date.strftime('%Y%m%d'))
|
53
|
+
|
54
|
+
# 検索
|
55
|
+
@driver.find_element(:xpath, '//input[@name="srchbutton"]').click
|
56
|
+
|
57
|
+
@driver.save_screenshot 'hoge.png'
|
58
|
+
end
|
59
|
+
|
60
|
+
def arrive(time = Time.now.strftime('%H:%M'), date = Time.now)
|
45
61
|
login
|
46
62
|
|
47
63
|
navigate_to_input_form
|
48
64
|
|
65
|
+
open_date(date)
|
66
|
+
|
49
67
|
# 出勤時間の入力
|
50
68
|
work_field = @driver.find_element(:xpath, '//td[@id="grdXyw1100G-rc-0-6"]')
|
51
69
|
@driver.action.send_keys(work_field, time).perform
|
@@ -54,11 +72,13 @@ module Cxeed
|
|
54
72
|
@driver.find_element(:xpath, '//input[@name="regbutton"]').click
|
55
73
|
end
|
56
74
|
|
57
|
-
def leave(time = Time.now.strftime('%H:%M'))
|
75
|
+
def leave(time = Time.now.strftime('%H:%M'), date = Time.now)
|
58
76
|
login
|
59
77
|
|
60
78
|
navigate_to_input_form
|
61
79
|
|
80
|
+
open_date(date)
|
81
|
+
|
62
82
|
# 退勤時間の入力
|
63
83
|
work_field = @driver.find_element(:xpath, '//td[@id="grdXyw1100G-rc-0-9"]')
|
64
84
|
@driver.action.send_keys(work_field, time).perform
|
@@ -89,12 +109,10 @@ module Cxeed
|
|
89
109
|
# 日付の整形
|
90
110
|
day_str = DateTime.parse(day).strftime('%Y%m%d')
|
91
111
|
|
92
|
-
backspace = "\ue003"
|
93
|
-
|
94
112
|
# 処理期間の入力
|
95
|
-
@driver.find_element(:xpath, '//input[@name="StartYMD"]').send_keys(
|
113
|
+
@driver.find_element(:xpath, '//input[@name="StartYMD"]').send_keys(BACKSPACE * 8)
|
96
114
|
@driver.find_element(:xpath, '//input[@name="StartYMD"]').send_keys(day_str)
|
97
|
-
@driver.find_element(:xpath, '//input[@name="EndYMD"]').send_keys(
|
115
|
+
@driver.find_element(:xpath, '//input[@name="EndYMD"]').send_keys(BACKSPACE * 8)
|
98
116
|
@driver.find_element(:xpath, '//input[@name="EndYMD"]').send_keys(day_str)
|
99
117
|
|
100
118
|
# 検索
|
data/lib/cxeed/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cxeed
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- rhythm191
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-09-
|
11
|
+
date: 2017-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -103,6 +103,7 @@ files:
|
|
103
103
|
- bin/setup
|
104
104
|
- cxeed.gemspec
|
105
105
|
- exe/cxeed
|
106
|
+
- hoge.png
|
106
107
|
- lib/cxeed.rb
|
107
108
|
- lib/cxeed/attendance.rb
|
108
109
|
- lib/cxeed/command.rb
|