husc 0.3.2 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/husc/version.rb +1 -1
- data/lib/husc.rb +42 -41
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 432d286c2357f38cbe25dd64354018fcb9f376dd330d352d680f36d0fc8a5f72
|
4
|
+
data.tar.gz: d21d5c3b59bd316a1563a6f84f1dc054714a6fb92139de0b82b8b3881816a711
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 20774f8bb988212e92a8ea29de92bbf5c14a1d1fc7b458a58343b0c69237c61673e1a7dc0d197a436b22e74e86cbed09d4ca243a603aab8cfbb9bdf8d3595f7b
|
7
|
+
data.tar.gz: e186641c198e3c05557a1491e77c34b2b542f9b339077981e96f5579f643cac2b15302809162011feaaf4ed65ededaa7225b109cba102d0e0e3d3a2f32844399
|
data/lib/husc/version.rb
CHANGED
data/lib/husc.rb
CHANGED
@@ -81,57 +81,58 @@ class Husc
|
|
81
81
|
# ファイルアップロード => file(String)を指定
|
82
82
|
# ボタンクリック => click(Bool)を指定
|
83
83
|
@params << {}
|
84
|
-
opts.
|
84
|
+
opts = opts.map { |k, v| [k.to_sym, v] }.to_h
|
85
|
+
opts.each { |k, v| @params[-1][k.to_sym] = v }
|
85
86
|
end
|
86
87
|
|
87
|
-
def submit(
|
88
|
+
def submit(opts)
|
88
89
|
## -----*----- フォーム送信 -----*----- ##
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
90
|
+
# フォーム指定
|
91
|
+
opts = opts.map { |k,v| [k.to_sym, v] }.to_h
|
92
|
+
if opts.kind_of?(Integer)
|
93
|
+
form = @agent.page.forms[opts]
|
94
|
+
else
|
95
|
+
form = @agent.page.form(**opts)
|
96
|
+
end
|
97
|
+
return if form.nil?
|
98
|
+
button = nil
|
99
|
+
|
100
|
+
@params.each do |param|
|
101
|
+
# テキスト,数値など
|
102
|
+
if param.include?(:value) && !param.include?(:check)
|
103
|
+
value = param.delete(:value)
|
104
|
+
next if value.nil?
|
105
|
+
form.field_with(**param).value = value unless form.field_with(**param).nil?
|
95
106
|
end
|
96
|
-
return if form.nil?
|
97
|
-
|
98
|
-
@params.each do |param|
|
99
|
-
# テキスト,数値など
|
100
|
-
if param.include?(:value) && !param.include?(:check)
|
101
|
-
value = param.delete(:value)
|
102
|
-
next if value.nil?
|
103
|
-
form.field_with(**param).value = value unless form.field_with(**param).nil?
|
104
|
-
end
|
105
|
-
|
106
|
-
# チェックボックス
|
107
|
-
if param.include?(:check)
|
108
|
-
check = param.delete(:check)
|
109
|
-
next if check.nil?
|
110
|
-
if check
|
111
|
-
form.checkbox_with(**param).check unless form.checkbox_with(**param).nil?
|
112
|
-
else
|
113
|
-
form.checkbox_with(**param).uncheck unless form.checkbox_with(**param).nil?
|
114
|
-
end
|
115
|
-
end
|
116
107
|
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
108
|
+
# チェックボックス
|
109
|
+
if param.include?(:check)
|
110
|
+
check = param.delete(:check)
|
111
|
+
next if check.nil?
|
112
|
+
if check
|
113
|
+
form.checkbox_with(**param).check unless form.checkbox_with(**param).nil?
|
114
|
+
else
|
115
|
+
form.checkbox_with(**param).uncheck unless form.checkbox_with(**param).nil?
|
122
116
|
end
|
117
|
+
end
|
123
118
|
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
end
|
119
|
+
# ファイルアップロード
|
120
|
+
if param.include?(:file)
|
121
|
+
file = param.delete(:file)
|
122
|
+
next if file.nil? || !File.exist?(file)
|
123
|
+
form.file_upload_with(**param).file_name = file unless form.file_upload_with(**param).nil?
|
130
124
|
end
|
131
125
|
|
132
|
-
|
133
|
-
|
126
|
+
# ボタンクリック
|
127
|
+
if param.include?(:click)
|
128
|
+
click = param.delete(:click)
|
129
|
+
next unless click
|
130
|
+
button = form.button_with(**param) unless form.button_with(**param).nil?
|
131
|
+
end
|
134
132
|
end
|
133
|
+
|
134
|
+
form = @agent.submit(form, button)
|
135
|
+
update_params(form.content.toutf8)
|
135
136
|
@params = []
|
136
137
|
end
|
137
138
|
|