@@ 96-128 (lines=33) @@ | ||
93 | end |
|
94 | end |
|
95 | ||
96 | def renew(events = nil) |
|
97 | set_events(events) if events.is_a? Array |
|
98 | ||
99 | unless alive? |
|
100 | raise 'Subscription is not alive' |
|
101 | end |
|
102 | ||
103 | if !@event_filters.is_a?(Array) || @event_filters.length ==0 |
|
104 | raise 'Events are undefined' |
|
105 | end |
|
106 | ||
107 | _clear_timeout() |
|
108 | ||
109 | begin |
|
110 | response = @_client.http.put do |req| |
|
111 | req.url 'subscription/' + @_subscription['id'].to_s |
|
112 | req.headers['Content-Type'] = 'application/json' |
|
113 | req.body = { |
|
114 | eventFilters: @_client.create_urls(@event_filters) |
|
115 | } |
|
116 | end |
|
117 | ||
118 | set_subscription response.body |
|
119 | changed |
|
120 | notify_observers response |
|
121 | return response |
|
122 | rescue StandardError => e |
|
123 | reset() |
|
124 | changed |
|
125 | notify_observers e |
|
126 | raise 'Renew HTTP Request Error' |
|
127 | end |
|
128 | end |
|
129 | ||
130 | def remove() |
|
131 | unless alive? |
|
@@ 65-94 (lines=30) @@ | ||
62 | @event_filters = events |
|
63 | end |
|
64 | ||
65 | def subscribe(events=nil) |
|
66 | set_events(events) if events.is_a? Array |
|
67 | ||
68 | if !@event_filters.is_a?(Array) || @event_filters.length == 0 |
|
69 | raise 'Events are undefined' |
|
70 | end |
|
71 | ||
72 | begin |
|
73 | response = @_client.http.post do |req| |
|
74 | req.url 'subscription' |
|
75 | req.headers['Content-Type'] = 'application/json' |
|
76 | req.body = { |
|
77 | eventFilters: @_client.create_urls(@event_filters), |
|
78 | deliveryMode: { |
|
79 | transportType: 'PubNub' |
|
80 | } |
|
81 | } |
|
82 | end |
|
83 | set_subscription response.body |
|
84 | _subscribe_at_pubnub() |
|
85 | changed |
|
86 | notify_observers response |
|
87 | return response |
|
88 | rescue StandardError => e |
|
89 | reset() |
|
90 | changed |
|
91 | notify_observers(e) |
|
92 | raise 'Subscribe HTTP Request Error: ' + e.to_s |
|
93 | end |
|
94 | end |
|
95 | ||
96 | def renew(events = nil) |
|
97 | set_events(events) if events.is_a? Array |