dingbot 0.2.0 → 0.2.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 7f9a46ca05f2961d757a47927595c3300ebd59b1
4
- data.tar.gz: 7a5114129dcfe3883f9269419f233a7d701a2609
2
+ SHA256:
3
+ metadata.gz: d5786404b17bd985d218ca86427d9295b8aa0e3c62e5de0d1a9a711bbc68b912
4
+ data.tar.gz: f1b404b5ef785d3239f9e8dcbfffea5fac403d117537b89b1122a01a1b42f006
5
5
  SHA512:
6
- metadata.gz: 9de7eead38333a685c6b28f5e53d0edf81193201ea7434647045d7b166a50bdf0eeb652964f54699b39bfe761a1873e7b4e3ae43caa07c664183d7b281f79d45
7
- data.tar.gz: 35f8cbd6429e2197e3e44463188c323d29e76fc13904ee41093c520cad2cc07a689d09e0c20bbb8e36b4d6bec35174a7baa324f3aaaf061b304a30495bc60ec8
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$/lib/dingbot/version.rb" afterPath="$PROJECT_DIR$/lib/dingbot/version.rb" />
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="dingbot.rb" pinned="false" current-in-tab="false">
21
- <entry file="file://$PROJECT_DIR$/lib/dingbot.rb">
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="520">
24
- <caret line="26" column="23" lean-forward="false" selection-start-line="26" selection-start-column="23" selection-end-line="26" selection-end-column="23" />
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="dingbot.gemspec" pinned="false" current-in-tab="false">
31
- <entry file="file://$PROJECT_DIR$/dingbot.gemspec">
32
- <provider selected="true" editor-type-id="text-editor">
33
- <state relative-caret-position="60">
34
- <caret line="3" column="20" lean-forward="false" selection-start-line="3" selection-start-column="20" selection-end-line="3" selection-end-column="20" />
35
- <folding />
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="true">
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="configuration.rb" pinned="false" current-in-tab="false">
51
- <entry file="file://$PROJECT_DIR$/lib/dingbot/configuration.rb">
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="340">
54
- <caret line="17" column="16" lean-forward="true" selection-start-line="17" selection-start-column="16" selection-end-line="17" selection-end-column="16" />
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="client.rb" pinned="false" current-in-tab="false">
61
- <entry file="file://$PROJECT_DIR$/lib/dingbot/client.rb">
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="302">
64
- <caret line="48" column="13" lean-forward="true" selection-start-line="48" selection-start-column="13" selection-end-line="48" selection-end-column="13" />
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="text.rb" pinned="false" current-in-tab="false">
71
- <entry file="file://$PROJECT_DIR$/lib/dingbot/message/text.rb">
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="50">
74
- <caret line="19" column="6" lean-forward="false" selection-start-line="19" selection-start-column="6" selection-end-line="19" selection-end-column="6" />
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="link.rb" pinned="false" current-in-tab="false">
81
- <entry file="file://$PROJECT_DIR$/lib/dingbot/message/link.rb">
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="700">
84
- <caret line="35" column="9" lean-forward="false" selection-start-line="35" selection-start-column="9" selection-end-line="35" selection-end-column="9" />
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="feed_card.rb" pinned="false" current-in-tab="false">
91
- <entry file="file://$PROJECT_DIR$/lib/dingbot/message/feed_card.rb">
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="60">
94
- <caret line="3" column="5" lean-forward="false" selection-start-line="3" selection-start-column="5" selection-end-line="3" selection-end-column="16" />
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="base.rb" pinned="false" current-in-tab="false">
101
- <entry file="file://$PROJECT_DIR$/lib/dingbot/message/base.rb">
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="600">
104
- <caret line="30" column="0" lean-forward="false" selection-start-line="30" selection-start-column="0" selection-end-line="30" selection-end-column="0" />
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="1920" />
168
- <option name="height" value="1053" />
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="2596000" />
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="17766000" />
610
+ <option name="totallyTimeSpent" value="19606000" />
504
611
  </component>
505
612
  <component name="ToolWindowManager">
506
- <frame x="0" y="23" width="1920" height="1053" extended-state="6" />
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.19648562" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
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.21331947" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
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$/lib/dingbot/message/feed_card.rb">
863
+ <entry file="file://$PROJECT_DIR$/doc/DingBot.html">
748
864
  <provider selected="true" editor-type-id="text-editor">
749
- <state relative-caret-position="60">
750
- <caret line="3" column="5" lean-forward="false" selection-start-line="3" selection-start-column="5" selection-end-line="3" selection-end-column="16" />
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/message/link.rb">
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="700">
758
- <caret line="35" column="9" lean-forward="false" selection-start-line="35" selection-start-column="9" selection-end-line="35" selection-end-column="9" />
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$/doc/DingBot.html">
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="6300">
766
- <caret line="315" column="196" lean-forward="false" selection-start-line="315" selection-start-column="196" selection-end-line="315" selection-end-column="196" />
767
- <folding />
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="236">
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="50">
782
- <caret line="19" column="6" lean-forward="false" selection-start-line="19" selection-start-column="6" selection-end-line="19" selection-end-column="6" />
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="509">
790
- <caret line="34" column="108" lean-forward="false" selection-start-line="34" selection-start-column="108" selection-end-line="34" selection-end-column="108" />
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://$PROJECT_DIR$/lib/dingbot/message/base.rb">
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="600">
798
- <caret line="30" column="0" lean-forward="false" selection-start-line="30" selection-start-column="0" selection-end-line="30" selection-end-column="0" />
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://$PROJECT_DIR$/lib/dingbot/client.rb">
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="302">
806
- <caret line="48" column="13" lean-forward="true" selection-start-line="48" selection-start-column="13" selection-end-line="48" selection-end-column="13" />
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://$PROJECT_DIR$/test/dingbot_test.rb">
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="550">
814
- <caret line="80" column="3" lean-forward="true" selection-start-line="8" selection-start-column="0" selection-end-line="80" selection-end-column="3" />
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$/README.md">
828
- <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
829
- <state split_layout="SPLIT">
830
- <first_editor relative-caret-position="84">
831
- <caret line="87" column="3" lean-forward="true" selection-start-line="87" selection-start-column="3" selection-end-line="87" selection-end-column="3" />
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://$PROJECT_DIR$/lib/dingbot/configuration.rb">
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="340">
850
- <caret line="17" column="16" lean-forward="true" selection-start-line="17" selection-start-column="16" selection-end-line="17" selection-end-column="16" />
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="520">
858
- <caret line="26" column="23" lean-forward="false" selection-start-line="26" selection-start-column="23" selection-end-line="26" selection-end-column="23" />
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$/dingbot.gemspec">
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="60">
866
- <caret line="3" column="20" lean-forward="false" selection-start-line="3" selection-start-column="20" selection-end-line="3" selection-end-column="20" />
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$/lib/dingbot/version.rb">
872
- <provider selected="true" editor-type-id="text-editor">
873
- <state relative-caret-position="40">
874
- <caret line="2" column="18" lean-forward="false" selection-start-line="2" selection-start-column="18" selection-end-line="2" selection-end-column="18" />
875
- <folding />
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
- [![Gem Version](https://badge.fury.io/rb/dingbot.svg)](https://badge.fury.io/rb/dingbot.svg)
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://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.karFPe&treeId=257&articleId=105735&docType=1).
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 = '3ddef428f1478056e858450e07272834c79bd538e8055a04e989573c469xxxx' # access token, default: ENV['DINGTALK_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
- ['13718896117'],
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://mp.weixin.qq.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI',
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", "~> 1.14"
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"
@@ -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
- validate self.class.post(@endpoint, {query: {access_token: @access_token}, body: message.to_json})
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 Sentry::API.
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, :hide_avatar
27
+ attr_accessor :title, :text, :btn_orientation, :at_mobiles
7
28
 
8
- def initialize(title='', text='', btn_orientation='0', hide_avatar='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
- @hide_avatar = hide_avatar
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
- "hideAvatar": @hide_avatar,
25
- "btnOrientation": @btn_orientation,
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='', btn_orientation='0', hide_avatar='0')
36
- super(title, text, btn_orientation, hide_avatar)
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=[], btn_orientation='0', hide_avatar='0')
57
- super(title, text, btn_orientation, hide_avatar)
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
@@ -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
- "content": @content
35
+ content: @content
36
36
  },
37
37
  at: {
38
38
  atMobiles: @at_mobiles,
@@ -1,5 +1,5 @@
1
1
  module DingBot
2
2
 
3
- VERSION = "0.2.0"
3
+ VERSION = "0.2.5"
4
4
 
5
5
  end
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.0
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: 2017-06-19 00:00:00.000000000 Z
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: '1.14'
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: '1.14'
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
- rubyforge_project:
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库