dingbot 0.2.0 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.idea/workspace.xml +286 -138
- data/README.md +14 -6
- data/dingbot.gemspec +1 -1
- data/lib/dingbot/client.rb +22 -3
- data/lib/dingbot/configuration.rb +3 -2
- data/lib/dingbot/error.rb +0 -14
- data/lib/dingbot/message/action_card.rb +34 -10
- data/lib/dingbot/message/markdown.rb +16 -3
- data/lib/dingbot/message/text.rb +2 -2
- data/lib/dingbot/version.rb +1 -1
- data/lib/dingbot.rb +1 -1
- metadata +7 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d5786404b17bd985d218ca86427d9295b8aa0e3c62e5de0d1a9a711bbc68b912
|
4
|
+
data.tar.gz: f1b404b5ef785d3239f9e8dcbfffea5fac403d117537b89b1122a01a1b42f006
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43acda49cef2e0496a98cdff8136fd2e8cf58a247fa78bcf850690d71443aebff784d5dd79ab895df3e378ab4b125dd810f359dd62b93f0d75cd4e1fe98a6751
|
7
|
+
data.tar.gz: d4f9c6a4cabee5ebaf06a0b3837fa2c584440d18d3e6676bc51fd9197e3b50f428b7f657ef66bcd9b45c8545841440bcdc2d9a3afcfbccf23d7f3fbb427b6a20
|
data/.idea/workspace.xml
CHANGED
@@ -2,7 +2,9 @@
|
|
2
2
|
<project version="4">
|
3
3
|
<component name="ChangeListManager">
|
4
4
|
<list default="true" id="c677bfc7-f26b-44ab-b929-b38da245becc" name="Default" comment="">
|
5
|
-
<change type="MODIFICATION" beforePath="$PROJECT_DIR
|
5
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
6
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/README.md" afterPath="$PROJECT_DIR$/README.md" />
|
7
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/dingbot_test.rb" afterPath="$PROJECT_DIR$/test/dingbot_test.rb" />
|
6
8
|
</list>
|
7
9
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
8
10
|
<option name="TRACKING_ENABLED" value="true" />
|
@@ -17,27 +19,39 @@
|
|
17
19
|
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
|
18
20
|
<component name="FileEditorManager">
|
19
21
|
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
20
|
-
<file leaf-file-name="
|
21
|
-
<entry file="file://$PROJECT_DIR$/
|
22
|
+
<file leaf-file-name="dingbot_test.rb" pinned="false" current-in-tab="false">
|
23
|
+
<entry file="file://$PROJECT_DIR$/test/dingbot_test.rb">
|
22
24
|
<provider selected="true" editor-type-id="text-editor">
|
23
|
-
<state relative-caret-position="
|
24
|
-
<caret line="
|
25
|
+
<state relative-caret-position="560">
|
26
|
+
<caret line="28" column="32" lean-forward="false" selection-start-line="28" selection-start-column="32" selection-end-line="28" selection-end-column="32" />
|
25
27
|
<folding />
|
26
28
|
</state>
|
27
29
|
</provider>
|
28
30
|
</entry>
|
29
31
|
</file>
|
30
|
-
<file leaf-file-name="
|
31
|
-
<entry file="file://$PROJECT_DIR$/
|
32
|
-
<provider selected="true" editor-type-id="text-editor">
|
33
|
-
<state
|
34
|
-
<
|
35
|
-
|
32
|
+
<file leaf-file-name="README.md" pinned="false" current-in-tab="true">
|
33
|
+
<entry file="file://$PROJECT_DIR$/README.md">
|
34
|
+
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
35
|
+
<state split_layout="SPLIT">
|
36
|
+
<first_editor relative-caret-position="358">
|
37
|
+
<caret line="35" column="8" lean-forward="false" selection-start-line="35" selection-start-column="8" selection-end-line="35" selection-end-column="8" />
|
38
|
+
<folding>
|
39
|
+
<marker date="1497856439000" expanded="true" signature="697:1013" ph="do ... end" />
|
40
|
+
<marker date="1497856439000" expanded="true" signature="1246:1287" ph=" ... end" />
|
41
|
+
<marker date="1497856439000" expanded="true" signature="1315:1449" ph=" ... end" />
|
42
|
+
<marker date="1497856439000" expanded="true" signature="1475:1707" ph=" ... end" />
|
43
|
+
<marker date="1497856439000" expanded="true" signature="1741:1807" ph=" ... end" />
|
44
|
+
<marker date="1497856439000" expanded="true" signature="1856:2108" ph=" ... end" />
|
45
|
+
<marker date="1497856439000" expanded="true" signature="2165:2550" ph=" ... end" />
|
46
|
+
<marker date="1497856439000" expanded="true" signature="2585:3062" ph=" ... end" />
|
47
|
+
</folding>
|
48
|
+
</first_editor>
|
49
|
+
<second_editor />
|
36
50
|
</state>
|
37
51
|
</provider>
|
38
52
|
</entry>
|
39
53
|
</file>
|
40
|
-
<file leaf-file-name="version.rb" pinned="false" current-in-tab="
|
54
|
+
<file leaf-file-name="version.rb" pinned="false" current-in-tab="false">
|
41
55
|
<entry file="file://$PROJECT_DIR$/lib/dingbot/version.rb">
|
42
56
|
<provider selected="true" editor-type-id="text-editor">
|
43
57
|
<state relative-caret-position="40">
|
@@ -47,61 +61,71 @@
|
|
47
61
|
</provider>
|
48
62
|
</entry>
|
49
63
|
</file>
|
50
|
-
<file leaf-file-name="
|
51
|
-
<entry file="file://$PROJECT_DIR$/
|
64
|
+
<file leaf-file-name="Gemfile" pinned="false" current-in-tab="false">
|
65
|
+
<entry file="file://$PROJECT_DIR$/Gemfile">
|
52
66
|
<provider selected="true" editor-type-id="text-editor">
|
53
|
-
<state relative-caret-position="
|
54
|
-
<caret line="
|
67
|
+
<state relative-caret-position="0">
|
68
|
+
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
55
69
|
<folding />
|
56
70
|
</state>
|
57
71
|
</provider>
|
58
72
|
</entry>
|
59
73
|
</file>
|
60
|
-
<file leaf-file-name="
|
61
|
-
<entry file="file://$PROJECT_DIR$/lib/dingbot/
|
74
|
+
<file leaf-file-name="feed_card.rb" pinned="false" current-in-tab="false">
|
75
|
+
<entry file="file://$PROJECT_DIR$/lib/dingbot/message/feed_card.rb">
|
62
76
|
<provider selected="true" editor-type-id="text-editor">
|
63
|
-
<state relative-caret-position="
|
64
|
-
<caret line="
|
77
|
+
<state relative-caret-position="500">
|
78
|
+
<caret line="25" column="0" lean-forward="false" selection-start-line="25" selection-start-column="0" selection-end-line="25" selection-end-column="0" />
|
65
79
|
<folding />
|
66
80
|
</state>
|
67
81
|
</provider>
|
68
82
|
</entry>
|
69
83
|
</file>
|
70
|
-
<file leaf-file-name="
|
71
|
-
<entry file="file://$
|
84
|
+
<file leaf-file-name="httparty.rb" pinned="false" current-in-tab="false">
|
85
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/httparty-0.15.5/lib/httparty.rb">
|
72
86
|
<provider selected="true" editor-type-id="text-editor">
|
73
|
-
<state relative-caret-position="
|
74
|
-
<caret line="
|
87
|
+
<state relative-caret-position="10060">
|
88
|
+
<caret line="503" column="8" lean-forward="false" selection-start-line="503" selection-start-column="8" selection-end-line="503" selection-end-column="8" />
|
75
89
|
<folding />
|
76
90
|
</state>
|
77
91
|
</provider>
|
78
92
|
</entry>
|
79
93
|
</file>
|
80
|
-
<file leaf-file-name="
|
81
|
-
<entry file="file://$PROJECT_DIR$/lib/dingbot/message/
|
94
|
+
<file leaf-file-name="base.rb" pinned="false" current-in-tab="false">
|
95
|
+
<entry file="file://$PROJECT_DIR$/lib/dingbot/message/base.rb">
|
82
96
|
<provider selected="true" editor-type-id="text-editor">
|
83
|
-
<state relative-caret-position="
|
84
|
-
<caret line="
|
97
|
+
<state relative-caret-position="280">
|
98
|
+
<caret line="14" column="0" lean-forward="false" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
|
85
99
|
<folding />
|
86
100
|
</state>
|
87
101
|
</provider>
|
88
102
|
</entry>
|
89
103
|
</file>
|
90
|
-
<file leaf-file-name="
|
91
|
-
<entry file="file://$
|
104
|
+
<file leaf-file-name="response.rb" pinned="false" current-in-tab="false">
|
105
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/httparty-0.15.5/lib/httparty/response.rb">
|
92
106
|
<provider selected="true" editor-type-id="text-editor">
|
93
|
-
<state relative-caret-position="
|
94
|
-
<caret line="
|
107
|
+
<state relative-caret-position="480">
|
108
|
+
<caret line="24" column="0" lean-forward="false" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
|
95
109
|
<folding />
|
96
110
|
</state>
|
97
111
|
</provider>
|
98
112
|
</entry>
|
99
113
|
</file>
|
100
|
-
<file leaf-file-name="
|
101
|
-
<entry file="file://$
|
114
|
+
<file leaf-file-name="request.rb" pinned="false" current-in-tab="false">
|
115
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/httparty-0.15.5/lib/httparty/request.rb">
|
116
|
+
<provider selected="true" editor-type-id="text-editor">
|
117
|
+
<state relative-caret-position="7640">
|
118
|
+
<caret line="382" column="0" lean-forward="false" selection-start-line="382" selection-start-column="0" selection-end-line="382" selection-end-column="0" />
|
119
|
+
<folding />
|
120
|
+
</state>
|
121
|
+
</provider>
|
122
|
+
</entry>
|
123
|
+
</file>
|
124
|
+
<file leaf-file-name="parser.rb" pinned="false" current-in-tab="false">
|
125
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/httparty-0.15.5/lib/httparty/parser.rb">
|
102
126
|
<provider selected="true" editor-type-id="text-editor">
|
103
|
-
<state relative-caret-position="
|
104
|
-
<caret line="
|
127
|
+
<state relative-caret-position="1220">
|
128
|
+
<caret line="61" column="19" lean-forward="false" selection-start-line="61" selection-start-column="19" selection-end-line="61" selection-end-column="19" />
|
105
129
|
<folding />
|
106
130
|
</state>
|
107
131
|
</provider>
|
@@ -137,22 +161,22 @@
|
|
137
161
|
<option value="$PROJECT_DIR$/lib/dingbot/msg/message.rb" />
|
138
162
|
<option value="$PROJECT_DIR$/lib/dingbot/msg/base.rb" />
|
139
163
|
<option value="$PROJECT_DIR$/lib/dingbot/request.rb" />
|
140
|
-
<option value="$PROJECT_DIR$/lib/dingbot/message/feed_card.rb" />
|
141
164
|
<option value="$PROJECT_DIR$/lib/dingbot/message/base.rb" />
|
142
165
|
<option value="$PROJECT_DIR$/.travis.yml" />
|
143
166
|
<option value="$PROJECT_DIR$/.gitignore" />
|
144
167
|
<option value="$PROJECT_DIR$/lib/dingbot/error.rb" />
|
145
168
|
<option value="$PROJECT_DIR$/lib/dingbot/message/markdown.rb" />
|
146
169
|
<option value="$PROJECT_DIR$/lib/dingbot/message/link.rb" />
|
147
|
-
<option value="$PROJECT_DIR$/lib/dingbot/message/text.rb" />
|
148
|
-
<option value="$PROJECT_DIR$/dingbot.gemspec" />
|
149
170
|
<option value="$PROJECT_DIR$/lib/dingbot/configuration.rb" />
|
150
171
|
<option value="$PROJECT_DIR$/lib/dingbot.rb" />
|
151
172
|
<option value="$PROJECT_DIR$/lib/dingbot/client.rb" />
|
173
|
+
<option value="$PROJECT_DIR$/dingbot.gemspec" />
|
174
|
+
<option value="$PROJECT_DIR$/lib/dingbot/message/text.rb" />
|
152
175
|
<option value="$PROJECT_DIR$/lib/dingbot/message/action_card.rb" />
|
176
|
+
<option value="$PROJECT_DIR$/lib/dingbot/version.rb" />
|
177
|
+
<option value="$PROJECT_DIR$/lib/dingbot/message/feed_card.rb" />
|
153
178
|
<option value="$PROJECT_DIR$/test/dingbot_test.rb" />
|
154
179
|
<option value="$PROJECT_DIR$/README.md" />
|
155
|
-
<option value="$PROJECT_DIR$/lib/dingbot/version.rb" />
|
156
180
|
</list>
|
157
181
|
</option>
|
158
182
|
</component>
|
@@ -164,8 +188,8 @@
|
|
164
188
|
</component>
|
165
189
|
<component name="ProjectFrameBounds">
|
166
190
|
<option name="y" value="23" />
|
167
|
-
<option name="width" value="
|
168
|
-
<option name="height" value="
|
191
|
+
<option name="width" value="1440" />
|
192
|
+
<option name="height" value="873" />
|
169
193
|
</component>
|
170
194
|
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
171
195
|
<component name="ProjectView">
|
@@ -186,6 +210,88 @@
|
|
186
210
|
<pane id="Scratches" />
|
187
211
|
<pane id="ProjectPane">
|
188
212
|
<subPane>
|
213
|
+
<PATH>
|
214
|
+
<PATH_ELEMENT>
|
215
|
+
<option name="myItemId" value="dingbot" />
|
216
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
217
|
+
</PATH_ELEMENT>
|
218
|
+
<PATH_ELEMENT>
|
219
|
+
<option name="myItemId" value="External Libraries" />
|
220
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ExternalLibrariesNode" />
|
221
|
+
</PATH_ELEMENT>
|
222
|
+
</PATH>
|
223
|
+
<PATH>
|
224
|
+
<PATH_ELEMENT>
|
225
|
+
<option name="myItemId" value="dingbot" />
|
226
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
227
|
+
</PATH_ELEMENT>
|
228
|
+
<PATH_ELEMENT>
|
229
|
+
<option name="myItemId" value="External Libraries" />
|
230
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ExternalLibrariesNode" />
|
231
|
+
</PATH_ELEMENT>
|
232
|
+
<PATH_ELEMENT>
|
233
|
+
<option name="myItemId" value="httparty (v0.15.5, RVM: ruby-2.3.1) [gem]" />
|
234
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.NamedLibraryElementNode" />
|
235
|
+
</PATH_ELEMENT>
|
236
|
+
</PATH>
|
237
|
+
<PATH>
|
238
|
+
<PATH_ELEMENT>
|
239
|
+
<option name="myItemId" value="dingbot" />
|
240
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
241
|
+
</PATH_ELEMENT>
|
242
|
+
<PATH_ELEMENT>
|
243
|
+
<option name="myItemId" value="External Libraries" />
|
244
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ExternalLibrariesNode" />
|
245
|
+
</PATH_ELEMENT>
|
246
|
+
<PATH_ELEMENT>
|
247
|
+
<option name="myItemId" value="httparty (v0.15.5, RVM: ruby-2.3.1) [gem]" />
|
248
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.NamedLibraryElementNode" />
|
249
|
+
</PATH_ELEMENT>
|
250
|
+
<PATH_ELEMENT>
|
251
|
+
<option name="myItemId" value="lib" />
|
252
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
253
|
+
</PATH_ELEMENT>
|
254
|
+
</PATH>
|
255
|
+
<PATH>
|
256
|
+
<PATH_ELEMENT>
|
257
|
+
<option name="myItemId" value="dingbot" />
|
258
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
259
|
+
</PATH_ELEMENT>
|
260
|
+
<PATH_ELEMENT>
|
261
|
+
<option name="myItemId" value="External Libraries" />
|
262
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ExternalLibrariesNode" />
|
263
|
+
</PATH_ELEMENT>
|
264
|
+
<PATH_ELEMENT>
|
265
|
+
<option name="myItemId" value="httparty (v0.15.5, RVM: ruby-2.3.1) [gem]" />
|
266
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.NamedLibraryElementNode" />
|
267
|
+
</PATH_ELEMENT>
|
268
|
+
<PATH_ELEMENT>
|
269
|
+
<option name="myItemId" value="lib" />
|
270
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
271
|
+
</PATH_ELEMENT>
|
272
|
+
<PATH_ELEMENT>
|
273
|
+
<option name="myItemId" value="httparty" />
|
274
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
275
|
+
</PATH_ELEMENT>
|
276
|
+
</PATH>
|
277
|
+
<PATH>
|
278
|
+
<PATH_ELEMENT>
|
279
|
+
<option name="myItemId" value="dingbot" />
|
280
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
281
|
+
</PATH_ELEMENT>
|
282
|
+
<PATH_ELEMENT>
|
283
|
+
<option name="myItemId" value="External Libraries" />
|
284
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ExternalLibrariesNode" />
|
285
|
+
</PATH_ELEMENT>
|
286
|
+
<PATH_ELEMENT>
|
287
|
+
<option name="myItemId" value="httparty (v0.15.5, RVM: ruby-2.3.1) [gem]" />
|
288
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.NamedLibraryElementNode" />
|
289
|
+
</PATH_ELEMENT>
|
290
|
+
<PATH_ELEMENT>
|
291
|
+
<option name="myItemId" value="bin" />
|
292
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
293
|
+
</PATH_ELEMENT>
|
294
|
+
</PATH>
|
189
295
|
<PATH>
|
190
296
|
<PATH_ELEMENT>
|
191
297
|
<option name="myItemId" value="dingbot" />
|
@@ -495,26 +601,26 @@
|
|
495
601
|
<updated>1497604722774</updated>
|
496
602
|
<workItem from="1497604723936" duration="2965000" />
|
497
603
|
<workItem from="1497772186956" duration="12205000" />
|
498
|
-
<workItem from="1497843772813" duration="
|
604
|
+
<workItem from="1497843772813" duration="4189000" />
|
605
|
+
<workItem from="1497856200573" duration="247000" />
|
499
606
|
</task>
|
500
607
|
<servers />
|
501
608
|
</component>
|
502
609
|
<component name="TimeTrackingManager">
|
503
|
-
<option name="totallyTimeSpent" value="
|
610
|
+
<option name="totallyTimeSpent" value="19606000" />
|
504
611
|
</component>
|
505
612
|
<component name="ToolWindowManager">
|
506
|
-
<frame x="0" y="23" width="
|
613
|
+
<frame x="0" y="23" width="1440" height="873" extended-state="6" />
|
507
614
|
<editor active="true" />
|
508
615
|
<layout>
|
509
|
-
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.
|
616
|
+
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.1988555" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
510
617
|
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
511
618
|
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
|
512
619
|
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
513
|
-
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
514
620
|
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.23517169" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
515
621
|
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
516
622
|
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
517
|
-
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.
|
623
|
+
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2599232" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
518
624
|
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
519
625
|
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
520
626
|
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
@@ -522,6 +628,7 @@
|
|
522
628
|
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
523
629
|
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
524
630
|
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
631
|
+
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
525
632
|
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
526
633
|
</layout>
|
527
634
|
</component>
|
@@ -536,11 +643,50 @@
|
|
536
643
|
<watches-manager />
|
537
644
|
</component>
|
538
645
|
<component name="editorHistoryManager">
|
646
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/httparty-0.15.5/bin/httparty">
|
647
|
+
<provider selected="true" editor-type-id="text-editor">
|
648
|
+
<state relative-caret-position="0">
|
649
|
+
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
650
|
+
<folding />
|
651
|
+
</state>
|
652
|
+
</provider>
|
653
|
+
</entry>
|
654
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/httparty-0.15.5/lib/httparty.rb">
|
655
|
+
<provider selected="true" editor-type-id="text-editor">
|
656
|
+
<state relative-caret-position="10060">
|
657
|
+
<caret line="503" column="8" lean-forward="false" selection-start-line="503" selection-start-column="8" selection-end-line="503" selection-end-column="8" />
|
658
|
+
<folding />
|
659
|
+
</state>
|
660
|
+
</provider>
|
661
|
+
</entry>
|
662
|
+
<entry file="file://$PROJECT_DIR$/lib/dingbot/message/base.rb">
|
663
|
+
<provider selected="true" editor-type-id="text-editor">
|
664
|
+
<state relative-caret-position="280">
|
665
|
+
<caret line="14" column="0" lean-forward="true" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
|
666
|
+
<folding />
|
667
|
+
</state>
|
668
|
+
</provider>
|
669
|
+
</entry>
|
670
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/httparty-0.15.5/lib/httparty/response.rb">
|
671
|
+
<provider selected="true" editor-type-id="text-editor">
|
672
|
+
<state relative-caret-position="480">
|
673
|
+
<caret line="24" column="0" lean-forward="false" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
|
674
|
+
<folding />
|
675
|
+
</state>
|
676
|
+
</provider>
|
677
|
+
</entry>
|
678
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/httparty-0.15.5/lib/httparty/request.rb">
|
679
|
+
<provider selected="true" editor-type-id="text-editor">
|
680
|
+
<state relative-caret-position="7640">
|
681
|
+
<caret line="382" column="0" lean-forward="false" selection-start-line="382" selection-start-column="0" selection-end-line="382" selection-end-column="0" />
|
682
|
+
<folding />
|
683
|
+
</state>
|
684
|
+
</provider>
|
685
|
+
</entry>
|
539
686
|
<entry file="file://$PROJECT_DIR$/lib/dingbot.rb">
|
540
687
|
<provider selected="true" editor-type-id="text-editor">
|
541
688
|
<state relative-caret-position="220">
|
542
689
|
<caret line="11" column="24" lean-forward="false" selection-start-line="11" selection-start-column="24" selection-end-line="11" selection-end-column="24" />
|
543
|
-
<folding />
|
544
690
|
</state>
|
545
691
|
</provider>
|
546
692
|
</entry>
|
@@ -548,7 +694,6 @@
|
|
548
694
|
<provider selected="true" editor-type-id="text-editor">
|
549
695
|
<state relative-caret-position="40">
|
550
696
|
<caret line="2" column="46" lean-forward="false" selection-start-line="2" selection-start-column="46" selection-end-line="2" selection-end-column="46" />
|
551
|
-
<folding />
|
552
697
|
</state>
|
553
698
|
</provider>
|
554
699
|
</entry>
|
@@ -564,7 +709,6 @@
|
|
564
709
|
<provider selected="true" editor-type-id="text-editor">
|
565
710
|
<state relative-caret-position="420">
|
566
711
|
<caret line="21" column="0" lean-forward="true" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="0" />
|
567
|
-
<folding />
|
568
712
|
</state>
|
569
713
|
</provider>
|
570
714
|
</entry>
|
@@ -572,7 +716,6 @@
|
|
572
716
|
<provider selected="true" editor-type-id="text-editor">
|
573
717
|
<state relative-caret-position="700">
|
574
718
|
<caret line="35" column="9" lean-forward="true" selection-start-line="35" selection-start-column="9" selection-end-line="35" selection-end-column="9" />
|
575
|
-
<folding />
|
576
719
|
</state>
|
577
720
|
</provider>
|
578
721
|
</entry>
|
@@ -596,7 +739,6 @@
|
|
596
739
|
<provider selected="true" editor-type-id="text-editor">
|
597
740
|
<state relative-caret-position="920">
|
598
741
|
<caret line="46" column="8" lean-forward="false" selection-start-line="46" selection-start-column="8" selection-end-line="46" selection-end-column="8" />
|
599
|
-
<folding />
|
600
742
|
</state>
|
601
743
|
</provider>
|
602
744
|
</entry>
|
@@ -604,7 +746,6 @@
|
|
604
746
|
<provider selected="true" editor-type-id="text-editor">
|
605
747
|
<state relative-caret-position="380">
|
606
748
|
<caret line="19" column="6" lean-forward="false" selection-start-line="19" selection-start-column="6" selection-end-line="19" selection-end-column="6" />
|
607
|
-
<folding />
|
608
749
|
</state>
|
609
750
|
</provider>
|
610
751
|
</entry>
|
@@ -612,7 +753,6 @@
|
|
612
753
|
<provider selected="true" editor-type-id="text-editor">
|
613
754
|
<state relative-caret-position="0">
|
614
755
|
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
615
|
-
<folding />
|
616
756
|
</state>
|
617
757
|
</provider>
|
618
758
|
</entry>
|
@@ -644,6 +784,7 @@
|
|
644
784
|
<provider selected="true" editor-type-id="text-editor">
|
645
785
|
<state relative-caret-position="480">
|
646
786
|
<caret line="24" column="0" lean-forward="false" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
|
787
|
+
<folding />
|
647
788
|
</state>
|
648
789
|
</provider>
|
649
790
|
</entry>
|
@@ -668,26 +809,10 @@
|
|
668
809
|
<entry file="file://$PROJECT_DIR$/lib/dingbot/objectified_hash.rb" />
|
669
810
|
<entry file="file://$PROJECT_DIR$/lib/dingbot/api.rb" />
|
670
811
|
<entry file="file://$PROJECT_DIR$/test/test_sentry.rb" />
|
671
|
-
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/httparty-0.15.5/lib/httparty/request.rb">
|
672
|
-
<provider selected="true" editor-type-id="text-editor">
|
673
|
-
<state relative-caret-position="206">
|
674
|
-
<caret line="382" column="0" lean-forward="false" selection-start-line="382" selection-start-column="0" selection-end-line="382" selection-end-column="0" />
|
675
|
-
<folding />
|
676
|
-
</state>
|
677
|
-
</provider>
|
678
|
-
</entry>
|
679
|
-
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/httparty-0.15.5/lib/httparty/response.rb">
|
680
|
-
<provider selected="true" editor-type-id="text-editor">
|
681
|
-
<state relative-caret-position="206">
|
682
|
-
<caret line="24" column="0" lean-forward="false" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
|
683
|
-
</state>
|
684
|
-
</provider>
|
685
|
-
</entry>
|
686
812
|
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/base.rb">
|
687
813
|
<provider selected="true" editor-type-id="text-editor">
|
688
814
|
<state relative-caret-position="215">
|
689
815
|
<caret line="24" column="9" lean-forward="false" selection-start-line="24" selection-start-column="9" selection-end-line="24" selection-end-column="9" />
|
690
|
-
<folding />
|
691
816
|
</state>
|
692
817
|
</provider>
|
693
818
|
</entry>
|
@@ -706,14 +831,6 @@
|
|
706
831
|
</state>
|
707
832
|
</provider>
|
708
833
|
</entry>
|
709
|
-
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/httparty-0.15.5/lib/httparty.rb">
|
710
|
-
<provider selected="true" editor-type-id="text-editor">
|
711
|
-
<state relative-caret-position="413">
|
712
|
-
<caret line="503" column="8" lean-forward="false" selection-start-line="503" selection-start-column="8" selection-end-line="503" selection-end-column="8" />
|
713
|
-
<folding />
|
714
|
-
</state>
|
715
|
-
</provider>
|
716
|
-
</entry>
|
717
834
|
<entry file="file://$PROJECT_DIR$/LICENSE.txt">
|
718
835
|
<provider selected="true" editor-type-id="text-editor">
|
719
836
|
<state relative-caret-position="0">
|
@@ -740,78 +857,109 @@
|
|
740
857
|
<provider selected="true" editor-type-id="text-editor">
|
741
858
|
<state relative-caret-position="40">
|
742
859
|
<caret line="2" column="46" lean-forward="false" selection-start-line="2" selection-start-column="46" selection-end-line="2" selection-end-column="46" />
|
743
|
-
<folding />
|
744
860
|
</state>
|
745
861
|
</provider>
|
746
862
|
</entry>
|
747
|
-
<entry file="file://$PROJECT_DIR$/
|
863
|
+
<entry file="file://$PROJECT_DIR$/doc/DingBot.html">
|
748
864
|
<provider selected="true" editor-type-id="text-editor">
|
749
|
-
<state relative-caret-position="
|
750
|
-
<caret line="
|
751
|
-
<folding />
|
865
|
+
<state relative-caret-position="6300">
|
866
|
+
<caret line="315" column="196" lean-forward="false" selection-start-line="315" selection-start-column="196" selection-end-line="315" selection-end-column="196" />
|
752
867
|
</state>
|
753
868
|
</provider>
|
754
869
|
</entry>
|
755
|
-
<entry file="file://$PROJECT_DIR$/lib/dingbot/
|
870
|
+
<entry file="file://$PROJECT_DIR$/lib/dingbot/client.rb">
|
756
871
|
<provider selected="true" editor-type-id="text-editor">
|
757
|
-
<state relative-caret-position="
|
758
|
-
<caret line="
|
872
|
+
<state relative-caret-position="302">
|
873
|
+
<caret line="48" column="13" lean-forward="false" selection-start-line="48" selection-start-column="13" selection-end-line="48" selection-end-column="13" />
|
759
874
|
<folding />
|
760
875
|
</state>
|
761
876
|
</provider>
|
762
877
|
</entry>
|
763
|
-
<entry file="file://$PROJECT_DIR$/
|
878
|
+
<entry file="file://$PROJECT_DIR$/lib/dingbot/configuration.rb">
|
764
879
|
<provider selected="true" editor-type-id="text-editor">
|
765
|
-
<state relative-caret-position="
|
766
|
-
<caret line="
|
767
|
-
|
880
|
+
<state relative-caret-position="340">
|
881
|
+
<caret line="17" column="16" lean-forward="false" selection-start-line="17" selection-start-column="16" selection-end-line="17" selection-end-column="16" />
|
882
|
+
</state>
|
883
|
+
</provider>
|
884
|
+
</entry>
|
885
|
+
<entry file="file://$PROJECT_DIR$/dingbot.gemspec">
|
886
|
+
<provider selected="true" editor-type-id="text-editor">
|
887
|
+
<state relative-caret-position="60">
|
888
|
+
<caret line="3" column="18" lean-forward="false" selection-start-line="3" selection-start-column="18" selection-end-line="3" selection-end-column="18" />
|
889
|
+
</state>
|
890
|
+
</provider>
|
891
|
+
</entry>
|
892
|
+
<entry file="file://$PROJECT_DIR$/lib/dingbot/message/link.rb">
|
893
|
+
<provider selected="true" editor-type-id="text-editor">
|
894
|
+
<state relative-caret-position="511">
|
895
|
+
<caret line="35" column="9" lean-forward="false" selection-start-line="35" selection-start-column="9" selection-end-line="35" selection-end-column="9" />
|
768
896
|
</state>
|
769
897
|
</provider>
|
770
898
|
</entry>
|
771
899
|
<entry file="file://$PROJECT_DIR$/lib/dingbot/message/markdown.rb">
|
772
900
|
<provider selected="true" editor-type-id="text-editor">
|
773
|
-
<state relative-caret-position="
|
901
|
+
<state relative-caret-position="340">
|
774
902
|
<caret line="17" column="10" lean-forward="false" selection-start-line="17" selection-start-column="10" selection-end-line="17" selection-end-column="10" />
|
775
|
-
<folding />
|
776
903
|
</state>
|
777
904
|
</provider>
|
778
905
|
</entry>
|
779
906
|
<entry file="file://$PROJECT_DIR$/lib/dingbot/message/text.rb">
|
780
907
|
<provider selected="true" editor-type-id="text-editor">
|
781
|
-
<state relative-caret-position="
|
782
|
-
<caret line="
|
783
|
-
<folding />
|
908
|
+
<state relative-caret-position="531">
|
909
|
+
<caret line="42" column="9" lean-forward="true" selection-start-line="42" selection-start-column="9" selection-end-line="42" selection-end-column="9" />
|
784
910
|
</state>
|
785
911
|
</provider>
|
786
912
|
</entry>
|
787
913
|
<entry file="file://$PROJECT_DIR$/lib/dingbot/message/action_card.rb">
|
788
914
|
<provider selected="true" editor-type-id="text-editor">
|
789
|
-
<state relative-caret-position="
|
790
|
-
<caret line="
|
915
|
+
<state relative-caret-position="240">
|
916
|
+
<caret line="12" column="9" lean-forward="true" selection-start-line="12" selection-start-column="9" selection-end-line="12" selection-end-column="9" />
|
917
|
+
</state>
|
918
|
+
</provider>
|
919
|
+
</entry>
|
920
|
+
<entry file="file://$PROJECT_DIR$/lib/dingbot.rb">
|
921
|
+
<provider selected="true" editor-type-id="text-editor">
|
922
|
+
<state relative-caret-position="520">
|
923
|
+
<caret line="26" column="23" lean-forward="false" selection-start-line="26" selection-start-column="23" selection-end-line="26" selection-end-column="23" />
|
924
|
+
</state>
|
925
|
+
</provider>
|
926
|
+
</entry>
|
927
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/httparty-0.15.5/bin/httparty">
|
928
|
+
<provider selected="true" editor-type-id="text-editor">
|
929
|
+
<state relative-caret-position="0">
|
930
|
+
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
791
931
|
<folding />
|
792
932
|
</state>
|
793
933
|
</provider>
|
794
934
|
</entry>
|
795
|
-
<entry file="file://$
|
935
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/httparty-0.15.5/lib/httparty.rb">
|
796
936
|
<provider selected="true" editor-type-id="text-editor">
|
797
|
-
<state relative-caret-position="
|
798
|
-
<caret line="
|
937
|
+
<state relative-caret-position="10060">
|
938
|
+
<caret line="503" column="8" lean-forward="false" selection-start-line="503" selection-start-column="8" selection-end-line="503" selection-end-column="8" />
|
799
939
|
<folding />
|
800
940
|
</state>
|
801
941
|
</provider>
|
802
942
|
</entry>
|
803
|
-
<entry file="file://$
|
943
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/httparty-0.15.5/lib/httparty/response.rb">
|
804
944
|
<provider selected="true" editor-type-id="text-editor">
|
805
|
-
<state relative-caret-position="
|
806
|
-
<caret line="
|
945
|
+
<state relative-caret-position="480">
|
946
|
+
<caret line="24" column="0" lean-forward="false" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
|
807
947
|
<folding />
|
808
948
|
</state>
|
809
949
|
</provider>
|
810
950
|
</entry>
|
811
|
-
<entry file="file://$
|
951
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/httparty-0.15.5/lib/httparty/request.rb">
|
812
952
|
<provider selected="true" editor-type-id="text-editor">
|
813
|
-
<state relative-caret-position="
|
814
|
-
<caret line="
|
953
|
+
<state relative-caret-position="7640">
|
954
|
+
<caret line="382" column="0" lean-forward="false" selection-start-line="382" selection-start-column="0" selection-end-line="382" selection-end-column="0" />
|
955
|
+
<folding />
|
956
|
+
</state>
|
957
|
+
</provider>
|
958
|
+
</entry>
|
959
|
+
<entry file="file://$PROJECT_DIR$/lib/dingbot/version.rb">
|
960
|
+
<provider selected="true" editor-type-id="text-editor">
|
961
|
+
<state relative-caret-position="40">
|
962
|
+
<caret line="2" column="18" lean-forward="false" selection-start-line="2" selection-start-column="18" selection-end-line="2" selection-end-column="18" />
|
815
963
|
<folding />
|
816
964
|
</state>
|
817
965
|
</provider>
|
@@ -824,55 +972,55 @@
|
|
824
972
|
</state>
|
825
973
|
</provider>
|
826
974
|
</entry>
|
827
|
-
<entry file="file://$PROJECT_DIR$/
|
828
|
-
<provider selected="true" editor-type-id="
|
829
|
-
<state
|
830
|
-
<
|
831
|
-
|
832
|
-
<folding>
|
833
|
-
<marker date="1497846243000" expanded="true" signature="559:875" ph="do ... end" />
|
834
|
-
<marker date="1497846243000" expanded="true" signature="951:992" ph=" ... end" />
|
835
|
-
<marker date="1497846243000" expanded="true" signature="1020:1154" ph=" ... end" />
|
836
|
-
<marker date="1497846243000" expanded="true" signature="1180:1634" ph=" ... end" />
|
837
|
-
<marker date="1497846243000" expanded="true" signature="1668:1734" ph=" ... end" />
|
838
|
-
<marker date="1497846243000" expanded="true" signature="1783:2035" ph=" ... end" />
|
839
|
-
<marker date="1497846243000" expanded="true" signature="2092:2477" ph=" ... end" />
|
840
|
-
<marker date="1497846243000" expanded="true" signature="2512:2989" ph=" ... end" />
|
841
|
-
</folding>
|
842
|
-
</first_editor>
|
843
|
-
<second_editor />
|
975
|
+
<entry file="file://$PROJECT_DIR$/lib/dingbot/message/base.rb">
|
976
|
+
<provider selected="true" editor-type-id="text-editor">
|
977
|
+
<state relative-caret-position="280">
|
978
|
+
<caret line="14" column="0" lean-forward="false" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
|
979
|
+
<folding />
|
844
980
|
</state>
|
845
981
|
</provider>
|
846
982
|
</entry>
|
847
|
-
<entry file="file://$
|
983
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.3.1/gems/httparty-0.15.5/lib/httparty/parser.rb">
|
848
984
|
<provider selected="true" editor-type-id="text-editor">
|
849
|
-
<state relative-caret-position="
|
850
|
-
<caret line="
|
985
|
+
<state relative-caret-position="1220">
|
986
|
+
<caret line="61" column="19" lean-forward="false" selection-start-line="61" selection-start-column="19" selection-end-line="61" selection-end-column="19" />
|
851
987
|
<folding />
|
852
988
|
</state>
|
853
989
|
</provider>
|
854
990
|
</entry>
|
855
|
-
<entry file="file://$PROJECT_DIR$/lib/dingbot.rb">
|
991
|
+
<entry file="file://$PROJECT_DIR$/lib/dingbot/message/feed_card.rb">
|
856
992
|
<provider selected="true" editor-type-id="text-editor">
|
857
|
-
<state relative-caret-position="
|
858
|
-
<caret line="
|
993
|
+
<state relative-caret-position="500">
|
994
|
+
<caret line="25" column="0" lean-forward="false" selection-start-line="25" selection-start-column="0" selection-end-line="25" selection-end-column="0" />
|
859
995
|
<folding />
|
860
996
|
</state>
|
861
997
|
</provider>
|
862
998
|
</entry>
|
863
|
-
<entry file="file://$PROJECT_DIR$/
|
999
|
+
<entry file="file://$PROJECT_DIR$/test/dingbot_test.rb">
|
864
1000
|
<provider selected="true" editor-type-id="text-editor">
|
865
|
-
<state relative-caret-position="
|
866
|
-
<caret line="
|
1001
|
+
<state relative-caret-position="560">
|
1002
|
+
<caret line="28" column="32" lean-forward="false" selection-start-line="28" selection-start-column="32" selection-end-line="28" selection-end-column="32" />
|
867
1003
|
<folding />
|
868
1004
|
</state>
|
869
1005
|
</provider>
|
870
1006
|
</entry>
|
871
|
-
<entry file="file://$PROJECT_DIR$/
|
872
|
-
<provider selected="true" editor-type-id="text-editor">
|
873
|
-
<state
|
874
|
-
<
|
875
|
-
|
1007
|
+
<entry file="file://$PROJECT_DIR$/README.md">
|
1008
|
+
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
1009
|
+
<state split_layout="SPLIT">
|
1010
|
+
<first_editor relative-caret-position="358">
|
1011
|
+
<caret line="35" column="8" lean-forward="false" selection-start-line="35" selection-start-column="8" selection-end-line="35" selection-end-column="8" />
|
1012
|
+
<folding>
|
1013
|
+
<marker date="1497856439000" expanded="true" signature="697:1013" ph="do ... end" />
|
1014
|
+
<marker date="1497856439000" expanded="true" signature="1246:1287" ph=" ... end" />
|
1015
|
+
<marker date="1497856439000" expanded="true" signature="1315:1449" ph=" ... end" />
|
1016
|
+
<marker date="1497856439000" expanded="true" signature="1475:1707" ph=" ... end" />
|
1017
|
+
<marker date="1497856439000" expanded="true" signature="1741:1807" ph=" ... end" />
|
1018
|
+
<marker date="1497856439000" expanded="true" signature="1856:2108" ph=" ... end" />
|
1019
|
+
<marker date="1497856439000" expanded="true" signature="2165:2550" ph=" ... end" />
|
1020
|
+
<marker date="1497856439000" expanded="true" signature="2585:3062" ph=" ... end" />
|
1021
|
+
</folding>
|
1022
|
+
</first_editor>
|
1023
|
+
<second_editor />
|
876
1024
|
</state>
|
877
1025
|
</provider>
|
878
1026
|
</entry>
|
data/README.md
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
# DingTalk Bot
|
2
|
-
[![
|
2
|
+
[![Build Status](https://travis-ci.org/thierryxing/dingtalk-bot.svg?branch=master)](https://travis-ci.org/thierryxing/dingtalk-bot)
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/dingbot.svg)](https://rubygems.org/gems/dingbot)
|
3
4
|
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/thierryxing/dingtalk-bot/master/LICENSE.txt)
|
4
5
|
|
5
6
|
DingTalk Bot是阿里钉钉自定义机器人的Ruby库
|
6
|
-
官方文档:[阿里钉钉自定义机器人](https://
|
7
|
+
官方文档:[阿里钉钉自定义机器人](https://developers.dingtalk.com/document/robots/robot-overview).
|
7
8
|
|
8
9
|
|
9
10
|
## 安装
|
@@ -24,10 +25,17 @@ gem 'dingbot'
|
|
24
25
|
初始化客户端:
|
25
26
|
|
26
27
|
```ruby
|
28
|
+
# 全局配置方式
|
27
29
|
DingBot.configure do |config|
|
28
30
|
config.endpoint = 'https://oapi.dingtalk.com/robot/send' # API endpoint URL, default: ENV['DINGTALK_API_ENDPOINT'] or https://oapi.dingtalk.com/robot/send
|
29
|
-
config.access_token = '
|
31
|
+
config.access_token = 'your access token' # access token, default: ENV['DINGTALK_ACCESS_TOKEN']
|
32
|
+
config.secret = "your sign secret" # sign secret
|
30
33
|
end
|
34
|
+
|
35
|
+
# 局部配置方式
|
36
|
+
DingBot.endpoint='https://oapi.dingtalk.com/robot/send'
|
37
|
+
DingBot.access_token = 'your access token'
|
38
|
+
DingBot.secret = "your sign secret" # sign secret
|
31
39
|
```
|
32
40
|
|
33
41
|
发送消息
|
@@ -41,7 +49,7 @@ end
|
|
41
49
|
def send_text
|
42
50
|
message = DingBot::Message::Text.new(
|
43
51
|
'我就是我, 是不一样的烟火',
|
44
|
-
['
|
52
|
+
['1371xxxx117'],
|
45
53
|
false
|
46
54
|
)
|
47
55
|
DingBot.send_msg(message)
|
@@ -52,7 +60,7 @@ def send_link
|
|
52
60
|
message = DingBot::Message::Link.new(
|
53
61
|
'我就是我, 是不一样的烟火',
|
54
62
|
'这个即将发布的新版本,创始人陈航(花名“无招”)称它为“红树林”。',
|
55
|
-
'https://
|
63
|
+
'https://www.dingtalk.com/',
|
56
64
|
'https://avatars1.githubusercontent.com/u/64818'
|
57
65
|
)
|
58
66
|
DingBot.send_msg(message)
|
@@ -109,4 +117,4 @@ end
|
|
109
117
|
更为详细的用法请见此链接:[https://github.com/thierryxing/dingtalk-bot/blob/master/test/dingbot_test.rb](https://github.com/thierryxing/dingtalk-bot/blob/master/test/dingbot_test.rb)
|
110
118
|
|
111
119
|
## License
|
112
|
-
Released under the MIT license. See LICENSE.txt for details.
|
120
|
+
Released under the MIT license. See LICENSE.txt for details.
|
data/dingbot.gemspec
CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.required_ruby_version = ">= 2.0.0"
|
33
33
|
|
34
34
|
spec.add_runtime_dependency "httparty"
|
35
|
-
spec.add_development_dependency "bundler"
|
35
|
+
spec.add_development_dependency "bundler"
|
36
36
|
spec.add_development_dependency "rake", "~> 10.0"
|
37
37
|
spec.add_development_dependency "minitest", "~> 5.0"
|
38
38
|
spec.add_development_dependency 'yard', "~> 0.9.5"
|
data/lib/dingbot/client.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'httparty'
|
2
|
+
require 'json'
|
2
3
|
require 'dingbot/configuration'
|
3
4
|
require 'dingbot/message/base'
|
4
5
|
require 'dingbot/message/text'
|
@@ -12,7 +13,8 @@ module DingBot
|
|
12
13
|
format :json
|
13
14
|
headers "Content-Type" => "application/json"
|
14
15
|
|
15
|
-
attr_accessor :access_token
|
16
|
+
# attr_accessor :access_token
|
17
|
+
# attr_accessor :secret
|
16
18
|
|
17
19
|
# @private
|
18
20
|
attr_accessor(*Configuration::VALID_OPTIONS_KEYS)
|
@@ -43,7 +45,20 @@ module DingBot
|
|
43
45
|
end
|
44
46
|
|
45
47
|
def send_msg(message)
|
46
|
-
|
48
|
+
query = {
|
49
|
+
access_token: @access_token,
|
50
|
+
}
|
51
|
+
|
52
|
+
if !@secret.nil? and !@secret.empty?
|
53
|
+
timestamp = (Time.now.to_f * 1000).to_i
|
54
|
+
|
55
|
+
query.merge!({
|
56
|
+
timestamp: timestamp,
|
57
|
+
sign: Base64.encode64(OpenSSL::HMAC.digest(OpenSSL::Digest.new('sha256'), @secret, "#{timestamp}\n#{@secret}")).strip
|
58
|
+
})
|
59
|
+
end
|
60
|
+
|
61
|
+
validate self.class.post(@endpoint, { query: query, body: message.to_json })
|
47
62
|
end
|
48
63
|
|
49
64
|
def send_text(content)
|
@@ -83,8 +98,12 @@ module DingBot
|
|
83
98
|
end
|
84
99
|
|
85
100
|
fail error_klass.new(response) if error_klass
|
86
|
-
|
87
101
|
parsed = response.parsed_response
|
102
|
+
|
103
|
+
body = JSON.parse(response.body)
|
104
|
+
errcode = body["errcode"]
|
105
|
+
fail body["errmsg"] if errcode != 0
|
106
|
+
|
88
107
|
parsed.client = self if parsed.respond_to?(:client=)
|
89
108
|
parsed.parse_headers!(response.headers) if parsed.respond_to?(:parse_headers!)
|
90
109
|
parsed
|
@@ -1,8 +1,8 @@
|
|
1
1
|
module DingBot
|
2
2
|
# Defines constants and methods related to configuration.
|
3
3
|
module Configuration
|
4
|
-
# An array of valid keys in the options hash when configuring a
|
5
|
-
VALID_OPTIONS_KEYS = [:endpoint, :access_token, :httparty].freeze
|
4
|
+
# An array of valid keys in the options hash when configuring a DingBot::API.
|
5
|
+
VALID_OPTIONS_KEYS = [:endpoint, :access_token, :httparty, :secret].freeze
|
6
6
|
|
7
7
|
# The user agent that will be sent to the API endpoint if none is set.
|
8
8
|
DEFAULT_USER_AGENT = "DingBot Ruby Gem #{DingBot::VERSION}".freeze
|
@@ -34,6 +34,7 @@ module DingBot
|
|
34
34
|
def reset
|
35
35
|
self.endpoint = ENV['DINGTALK_ENDPOINT'] || DEFAULT_ENDPOINT
|
36
36
|
self.access_token = ENV['DINGTALK_ACCESS_TOKEN']
|
37
|
+
self.secret = ENV['DINGTALK_SECRET']
|
37
38
|
end
|
38
39
|
|
39
40
|
end
|
data/lib/dingbot/error.rb
CHANGED
@@ -36,23 +36,9 @@ module DingBot
|
|
36
36
|
message = parsed_response.message || parsed_response.error
|
37
37
|
|
38
38
|
"Server responded with code #{@response.code}, message: " \
|
39
|
-
"#{handle_message(message)}. " \
|
40
39
|
"Request URI: #{@response.request.base_uri}#{@response.request.path}"
|
41
40
|
end
|
42
41
|
|
43
|
-
# Handle error response message in case of nested hashes
|
44
|
-
def handle_message(message)
|
45
|
-
case message
|
46
|
-
when SentryApi::ObjectifiedHash
|
47
|
-
message.to_h.sort.map do |key, val|
|
48
|
-
"'#{key}' #{(val.is_a?(Hash) ? val.sort.map {|k, v| "(#{k}: #{v.join(' ')})"} : val).join(' ')}"
|
49
|
-
end.join(', ')
|
50
|
-
when Array
|
51
|
-
message.join(' ')
|
52
|
-
else
|
53
|
-
message
|
54
|
-
end
|
55
|
-
end
|
56
42
|
end
|
57
43
|
|
58
44
|
# Raised when API endpoint returns the HTTP status code 400.
|
@@ -2,14 +2,35 @@ module DingBot
|
|
2
2
|
module Message
|
3
3
|
|
4
4
|
# ActionCard基类
|
5
|
+
# {
|
6
|
+
# "msgtype": "actionCard",
|
7
|
+
# "actionCard": {
|
8
|
+
# "title": "乔布斯 20 年前想打造一间苹果咖啡厅,而它正是 Apple Store 的前身",
|
9
|
+
# "text": "![screenshot](https://img.alicdn.com/tfs/TB1NwmBEL9TBuNjy1zbXXXpepXa-2400-1218.png) \n\n #### 乔布斯 20 年前想打造的苹果咖啡厅 \n\n Apple Store 的设计正从原来满满的科技感走向生活化,而其生活化的走向其实可以追溯到 20 年前苹果一个建立咖啡馆的计划",
|
10
|
+
# "btnOrientation": "0",
|
11
|
+
# "btns": [
|
12
|
+
# {
|
13
|
+
# "title": "内容不错",
|
14
|
+
# "actionURL": "https://www.dingtalk.com/"
|
15
|
+
# },
|
16
|
+
# {
|
17
|
+
# "title": "不感兴趣",
|
18
|
+
# "actionURL": "https://www.dingtalk.com/"
|
19
|
+
# }
|
20
|
+
# ]
|
21
|
+
# }
|
22
|
+
# "at":{
|
23
|
+
# "atMobiles":["137188xxxxx"]
|
24
|
+
# }
|
25
|
+
# }
|
5
26
|
class ActionCard < Base
|
6
|
-
attr_accessor :title, :text, :btn_orientation, :
|
27
|
+
attr_accessor :title, :text, :btn_orientation, :at_mobiles
|
7
28
|
|
8
|
-
def initialize(title='', text='', btn_orientation='0',
|
29
|
+
def initialize(title='', text='', btn_orientation='0', at_mobiles=[])
|
9
30
|
@title = title
|
10
31
|
@text = text
|
11
32
|
@btn_orientation = btn_orientation
|
12
|
-
@
|
33
|
+
@at_mobiles = at_mobiles
|
13
34
|
end
|
14
35
|
|
15
36
|
def msg_type
|
@@ -17,13 +38,16 @@ module DingBot
|
|
17
38
|
end
|
18
39
|
|
19
40
|
def body_params
|
20
|
-
super.merge(
|
41
|
+
super.merge({
|
21
42
|
actionCard: {
|
22
43
|
title: @title,
|
23
44
|
text: @text,
|
24
|
-
|
25
|
-
|
45
|
+
btnOrientation: @btn_orientation,
|
46
|
+
},
|
47
|
+
at: {
|
48
|
+
atMobiles: @at_mobiles,
|
26
49
|
}
|
50
|
+
}
|
27
51
|
)
|
28
52
|
end
|
29
53
|
end
|
@@ -32,8 +56,8 @@ module DingBot
|
|
32
56
|
class WholeActionCard < ActionCard
|
33
57
|
attr_accessor :single_title, :single_url
|
34
58
|
|
35
|
-
def initialize(title='', text='', single_title='', single_url='',
|
36
|
-
super(title, text, btn_orientation,
|
59
|
+
def initialize(title='', text='', single_title='', single_url='', at_mobiles=[], btn_orientation='0')
|
60
|
+
super(title, text, btn_orientation, at_mobiles)
|
37
61
|
@single_title = single_title
|
38
62
|
@single_url = single_url
|
39
63
|
end
|
@@ -53,8 +77,8 @@ module DingBot
|
|
53
77
|
class IndependentActionCard < ActionCard
|
54
78
|
attr_accessor :buttons
|
55
79
|
|
56
|
-
def initialize(title='', text='', buttons=[],
|
57
|
-
super(title, text, btn_orientation,
|
80
|
+
def initialize(title='', text='', buttons=[], at_mobiles=[], btn_orientation='0')
|
81
|
+
super(title, text, btn_orientation, at_mobiles)
|
58
82
|
@buttons = buttons
|
59
83
|
end
|
60
84
|
|
@@ -10,14 +10,22 @@ module DingBot
|
|
10
10
|
# "> 9度,西北风1级,空气良89,相对温度73%\n\n" +
|
11
11
|
# "> ![screenshot](http://image.jpg)\n" +
|
12
12
|
# "> ###### 10点20分发布 [天气](http://www.thinkpage.cn/) \n"
|
13
|
+
# },
|
14
|
+
# "at": {
|
15
|
+
# "atMobiles": [
|
16
|
+
# "1825718XXXX"
|
17
|
+
# ],
|
18
|
+
# "isAtAll": false
|
13
19
|
# }
|
14
20
|
# }
|
15
21
|
class Markdown < Base
|
16
|
-
attr_accessor :title, :text
|
22
|
+
attr_accessor :title, :text, :at_mobiles, :is_at_all
|
17
23
|
|
18
|
-
def initialize(title='', text='')
|
24
|
+
def initialize(title='', text='', at_mobiles=[], is_at_all=false)
|
19
25
|
@title = title
|
20
26
|
@text = text
|
27
|
+
@at_mobiles = at_mobiles
|
28
|
+
@is_at_all = is_at_all
|
21
29
|
end
|
22
30
|
|
23
31
|
def msg_type
|
@@ -25,10 +33,15 @@ module DingBot
|
|
25
33
|
end
|
26
34
|
|
27
35
|
def body_params
|
28
|
-
super.merge(
|
36
|
+
super.merge({
|
29
37
|
markdown: {
|
30
38
|
text: @text,
|
31
39
|
title: @title,
|
40
|
+
},
|
41
|
+
at: {
|
42
|
+
atMobiles: @at_mobiles,
|
43
|
+
isAtAll: @is_at_all
|
44
|
+
}
|
32
45
|
}
|
33
46
|
)
|
34
47
|
end
|
data/lib/dingbot/message/text.rb
CHANGED
@@ -17,7 +17,7 @@ module DingBot
|
|
17
17
|
# }
|
18
18
|
class Text < Base
|
19
19
|
attr_accessor :content, :at_mobiles, :is_at_all
|
20
|
-
|
20
|
+
|
21
21
|
def initialize(content='', at_mobiles=[], is_at_all=false)
|
22
22
|
@content = content
|
23
23
|
@at_mobiles = at_mobiles
|
@@ -32,7 +32,7 @@ module DingBot
|
|
32
32
|
super.merge(
|
33
33
|
{
|
34
34
|
text: {
|
35
|
-
|
35
|
+
content: @content
|
36
36
|
},
|
37
37
|
at: {
|
38
38
|
atMobiles: @at_mobiles,
|
data/lib/dingbot/version.rb
CHANGED
data/lib/dingbot.rb
CHANGED
@@ -38,7 +38,7 @@ module DingBot
|
|
38
38
|
#
|
39
39
|
# @return [Array<Symbol>]
|
40
40
|
def self.actions
|
41
|
-
hidden = /access_token|post|validate|httparty/
|
41
|
+
hidden = /access_token|post|validate|httparty|secret/
|
42
42
|
(DingBot::Client.instance_methods - Object.methods).reject {|e| e[hidden]}
|
43
43
|
end
|
44
44
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dingbot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thierry Xing
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -133,8 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
133
|
- !ruby/object:Gem::Version
|
134
134
|
version: '0'
|
135
135
|
requirements: []
|
136
|
-
|
137
|
-
rubygems_version: 2.5.1
|
136
|
+
rubygems_version: 3.0.3
|
138
137
|
signing_key:
|
139
138
|
specification_version: 4
|
140
139
|
summary: 钉钉自定义机器人Ruby库
|