hiptail 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/hiptail/manager.rb +37 -34
- data/lib/hiptail/util.rb +5 -0
- data/lib/hiptail/version.rb +1 -1
- data/lib/hiptail/web/handler.rb +3 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a5cef876ec5bde020a879af5e3224883fc9b826
|
4
|
+
data.tar.gz: c423addccd41c6e4d1c284b58c1ec8acef64cfae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 05c26c97f11772bc8ce91e12e3167c58efe3de227569ff312825fbbc9c9d4d98d3d6867fe445bec16765769a69d3d04650944234eb9b9622516b3f05f8551cc5
|
7
|
+
data.tar.gz: 2f0cb01b19d338fb46d96e7b90a09655c77dd567db4ef11160ef87eaa682139977b295a716ee1945e211f22c348100b83f440f2c580915003ac69e5b59b88b82
|
data/CHANGELOG.md
CHANGED
data/lib/hiptail/manager.rb
CHANGED
@@ -51,80 +51,80 @@ module HipTail
|
|
51
51
|
# @return [String] Hook ID
|
52
52
|
# @yield [authority]
|
53
53
|
# @yield [HipTail::Authority] authority
|
54
|
-
def on_install(&block)
|
55
|
-
register_hook :install, block
|
54
|
+
def on_install(*args, &block)
|
55
|
+
register_hook :install, args, block
|
56
56
|
end
|
57
57
|
|
58
58
|
# Registers hook on uninstallation.
|
59
59
|
# @return [String] Hook ID
|
60
60
|
# @yield [oauth_id]
|
61
61
|
# @yield [String] oauth_id
|
62
|
-
def on_uninstall(&block)
|
63
|
-
register_hook :uninstall, block
|
62
|
+
def on_uninstall(*args, &block)
|
63
|
+
register_hook :uninstall, args, block
|
64
64
|
end
|
65
65
|
|
66
66
|
# Registers hook on events.
|
67
67
|
# @return [String] Hook ID
|
68
68
|
# @yield [event]
|
69
69
|
# @yield [HipTail::Event] event
|
70
|
-
def on_event(&block)
|
71
|
-
register_hook :event, block
|
70
|
+
def on_event(*args, &block)
|
71
|
+
register_hook :event, args, block
|
72
72
|
end
|
73
73
|
|
74
74
|
# Registers hook on messaging events (room_message and room_notification).
|
75
75
|
# @return [String] Hook ID
|
76
76
|
# @yield [event]
|
77
77
|
# @yield [HipTail::Event::RoomMessaging] event
|
78
|
-
def on_room_messaging(&block)
|
79
|
-
register_hook :room_messaging, block
|
78
|
+
def on_room_messaging(*args, &block)
|
79
|
+
register_hook :room_messaging, args, block
|
80
80
|
end
|
81
81
|
|
82
82
|
# Registers hook on room_message event.
|
83
83
|
# @return [String] Hook ID
|
84
84
|
# @yield [event]
|
85
85
|
# @yield [HipTail::Event::RoomMessage] event
|
86
|
-
def on_room_message(&block)
|
87
|
-
register_hook :room_message, block
|
86
|
+
def on_room_message(*args, &block)
|
87
|
+
register_hook :room_message, args, block
|
88
88
|
end
|
89
89
|
|
90
90
|
# Registers hook on room_notification event.
|
91
91
|
# @return [String] Hook ID
|
92
92
|
# @yield [event]
|
93
93
|
# @yield [HipTail::Event::RoomNotification] event
|
94
|
-
def on_room_notification(&block)
|
95
|
-
register_hook :room_notification, block
|
94
|
+
def on_room_notification(*args, &block)
|
95
|
+
register_hook :room_notification, args, block
|
96
96
|
end
|
97
97
|
|
98
98
|
# Registers hook on room_topic_change event.
|
99
99
|
# @return [String] Hook ID
|
100
100
|
# @yield [event]
|
101
101
|
# @yield [HipTail::Event::RoomTopicChange] event
|
102
|
-
def on_room_topic_change(&block)
|
103
|
-
register_hook :room_topic_change, block
|
102
|
+
def on_room_topic_change(*args, &block)
|
103
|
+
register_hook :room_topic_change, args, block
|
104
104
|
end
|
105
105
|
|
106
106
|
# Registers hook on room visiting event (room_enter and room_exit).
|
107
107
|
# @return [String] Hook ID
|
108
108
|
# @yield [event]
|
109
109
|
# @yield [HipTail::Event::RoomVisiting] event
|
110
|
-
def on_room_visiting(&block)
|
111
|
-
register_hook :room_visiting, block
|
110
|
+
def on_room_visiting(*args, &block)
|
111
|
+
register_hook :room_visiting, args, block
|
112
112
|
end
|
113
113
|
|
114
114
|
# Registers hook on room_enter event.
|
115
115
|
# @return [String] Hook ID
|
116
116
|
# @yield [event]
|
117
117
|
# @yield [HipTail::Event::RoomEnter] event
|
118
|
-
def on_room_enter(&block)
|
119
|
-
register_hook :room_enter, block
|
118
|
+
def on_room_enter(*args, &block)
|
119
|
+
register_hook :room_enter, args, block
|
120
120
|
end
|
121
121
|
|
122
122
|
# Registers hook on room_exit event.
|
123
123
|
# @return [String] Hook ID
|
124
124
|
# @yield [event]
|
125
125
|
# @yield [HipTail::Event::RoomExit] event
|
126
|
-
def on_room_exit(&block)
|
127
|
-
register_hook :room_exit, block
|
126
|
+
def on_room_exit(*args, &block)
|
127
|
+
register_hook :room_exit, args, block
|
128
128
|
end
|
129
129
|
|
130
130
|
# Handles installing request.
|
@@ -186,25 +186,28 @@ module HipTail
|
|
186
186
|
# @param [Proc] block
|
187
187
|
# @param [String] hook_id
|
188
188
|
# @return [String] Hook ID
|
189
|
-
def register_hook(hook_type,
|
190
|
-
|
191
|
-
@hook[hook_type][
|
192
|
-
|
193
|
-
end
|
194
|
-
|
195
|
-
# Unregisters a hook.
|
196
|
-
# @param [Symbol] hook_type
|
197
|
-
# @param [String] hook_id
|
198
|
-
# @return [Proc] Unregistered procedure
|
199
|
-
def unregister_hook(hook_type, hook_id = nil)
|
200
|
-
@hook[hook_type].delete(hook_id.to_s)
|
189
|
+
def register_hook(hook_type, args, block)
|
190
|
+
priority = args.size > 0 ? args.shift : 100
|
191
|
+
@hook[hook_type][priority] ||= []
|
192
|
+
@hook[hook_type][priority] << block
|
201
193
|
end
|
202
194
|
|
203
195
|
private
|
204
196
|
|
205
197
|
def call_hooks(hook_type, *args)
|
206
|
-
@hook[hook_type].
|
207
|
-
block
|
198
|
+
@hook[hook_type].keys.sort.each do |key|
|
199
|
+
@hook[hook_type][key].each do |block|
|
200
|
+
aborted = false
|
201
|
+
begin
|
202
|
+
r = block.call(*args)
|
203
|
+
rescue LocalJumpError => e
|
204
|
+
aborted = e.reason
|
205
|
+
raise e unless [:break, :next, :return].include?(aborted)
|
206
|
+
r = e.exit_value
|
207
|
+
end
|
208
|
+
|
209
|
+
break if aborted == :break
|
210
|
+
end
|
208
211
|
end
|
209
212
|
end
|
210
213
|
|
data/lib/hiptail/util.rb
CHANGED
@@ -16,6 +16,7 @@ module HipTail
|
|
16
16
|
# @option params [String] :vendor_url (same as :base_url) Vendor URL (optional)
|
17
17
|
# @option params [String] :homepage_url (same as :base_url) Homepage (optional)
|
18
18
|
# @option params [String] :sender_name (same as :name) Name of notification sender (optional)
|
19
|
+
# @option params [String] :avatar Url of avatar image (optional)
|
19
20
|
# @option params [String] :allow_global (true) Allow global installation (optional)
|
20
21
|
# @option params [String] :allow_room (true) Allow room installation (optional)
|
21
22
|
# @option params [String] :message_filter Room message filter regexp (optional)
|
@@ -74,6 +75,10 @@ module HipTail
|
|
74
75
|
end
|
75
76
|
capability[:capabilities][:webhook] << message_webhook
|
76
77
|
|
78
|
+
if params[:avatar]
|
79
|
+
capability[:capabilities][:hipchatApiConsumer][:avatar] = params[:avatar]
|
80
|
+
end
|
81
|
+
|
77
82
|
capability
|
78
83
|
end
|
79
84
|
module_function :create_capability
|
data/lib/hiptail/version.rb
CHANGED
data/lib/hiptail/web/handler.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hiptail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ITO Nobuaki
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
120
|
version: '0'
|
121
121
|
requirements: []
|
122
122
|
rubyforge_project:
|
123
|
-
rubygems_version: 2.
|
123
|
+
rubygems_version: 2.4.5.1
|
124
124
|
signing_key:
|
125
125
|
specification_version: 4
|
126
126
|
summary: HipChat Integration (Add-on) Framework
|