xstreamly 0.5.0.pre
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.
- data/lib/xstreamly.rb +75 -0
- metadata +82 -0
data/lib/xstreamly.rb
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
require 'json' #gem install json
|
2
|
+
require 'net/https' unless defined?(Net::HTTPS)
|
3
|
+
require 'net/http' unless defined?(Net::HTTP)
|
4
|
+
|
5
|
+
module XStreamly
|
6
|
+
class Client
|
7
|
+
def initialize(appKey,email,password)
|
8
|
+
@appKey = appKey
|
9
|
+
@email = email
|
10
|
+
@password = password
|
11
|
+
@http = Net::HTTP.new('x-stream.ly', 80)
|
12
|
+
@http.use_ssl = true
|
13
|
+
|
14
|
+
end
|
15
|
+
|
16
|
+
def send(channel, eventName, data)
|
17
|
+
req = Net::HTTP::Post.new(URI.encode('/apps/'+@appKey+'/channels/'+channel+'/events/'+eventName), initheader = {'Content-Type' =>'application/json'})
|
18
|
+
req.basic_auth @email, @password
|
19
|
+
|
20
|
+
req.body = data
|
21
|
+
response = @http.request(req)
|
22
|
+
case response.code.to_i
|
23
|
+
when 202
|
24
|
+
return true
|
25
|
+
else
|
26
|
+
raise RuntimeError, "Unknown error (status code #{response.code} ): #{response.body}"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def setCallback(channel,endPoint,secret,eventName)
|
31
|
+
req = Net::HTTP::Post.new(URI.encode('/apps/'+@appKey+'/subscriptions'), initheader = {'Content-Type' =>'application/json'})
|
32
|
+
req.basic_auth @email, @password
|
33
|
+
|
34
|
+
req.body = '{"channel":"'+channel+'","endpoint":"'+endPoint+'", "secret":"'+secret+'"}'
|
35
|
+
response = @http.request(req)
|
36
|
+
case response.code.to_i
|
37
|
+
when 200
|
38
|
+
return true
|
39
|
+
else
|
40
|
+
raise RuntimeError, "Unknown error (status code #{response.code} ): #{response.body}"
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
def removeCallback(index)
|
46
|
+
req = Net::HTTP::Delete.new(URI.encode('/apps/'+@appKey+'/subscriptions/'+index.to_s), initheader = {'Content-Type' =>'application/json'})
|
47
|
+
req.basic_auth @email, @password
|
48
|
+
response = @http.request(req)
|
49
|
+
|
50
|
+
case response.code.to_i
|
51
|
+
when 202
|
52
|
+
return true
|
53
|
+
else
|
54
|
+
raise RuntimeError, "Unknown error (status code #{response.code} ): #{response.body}"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def getCallbacks()
|
59
|
+
req = Net::HTTP::Get.new(URI.encode('/apps/'+@appKey+'/subscriptions'), initheader = {'Content-Type' =>'application/json'})
|
60
|
+
req.basic_auth @email, @password
|
61
|
+
response = @http.request(req)
|
62
|
+
|
63
|
+
case response.code.to_i
|
64
|
+
when 200
|
65
|
+
return JSON(response.body)
|
66
|
+
else
|
67
|
+
raise RuntimeError, "Unknown error (status code #{response.code} ): #{response.body}"
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def setLocalCallback(channel,eventName)
|
72
|
+
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
metadata
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: xstreamly
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 961916012
|
5
|
+
prerelease: 6
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 5
|
9
|
+
- 0
|
10
|
+
- pre
|
11
|
+
version: 0.5.0.pre
|
12
|
+
platform: ruby
|
13
|
+
authors:
|
14
|
+
- Brian Willard
|
15
|
+
autorequire:
|
16
|
+
bindir: bin
|
17
|
+
cert_chain: []
|
18
|
+
|
19
|
+
date: 2011-11-01 00:00:00 Z
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: json
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 1
|
32
|
+
- 6
|
33
|
+
version: "1.6"
|
34
|
+
type: :runtime
|
35
|
+
version_requirements: *id001
|
36
|
+
description: Send X-Stream.ly messages and manage callbacks
|
37
|
+
email: bwillard@x-stream.ly
|
38
|
+
executables: []
|
39
|
+
|
40
|
+
extensions: []
|
41
|
+
|
42
|
+
extra_rdoc_files: []
|
43
|
+
|
44
|
+
files:
|
45
|
+
- lib/xstreamly.rb
|
46
|
+
homepage: http://x-stream.ly
|
47
|
+
licenses: []
|
48
|
+
|
49
|
+
post_install_message:
|
50
|
+
rdoc_options: []
|
51
|
+
|
52
|
+
require_paths:
|
53
|
+
- lib
|
54
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
hash: 3
|
60
|
+
segments:
|
61
|
+
- 0
|
62
|
+
version: "0"
|
63
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
64
|
+
none: false
|
65
|
+
requirements:
|
66
|
+
- - ">"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
hash: 25
|
69
|
+
segments:
|
70
|
+
- 1
|
71
|
+
- 3
|
72
|
+
- 1
|
73
|
+
version: 1.3.1
|
74
|
+
requirements: []
|
75
|
+
|
76
|
+
rubyforge_project:
|
77
|
+
rubygems_version: 1.7.2
|
78
|
+
signing_key:
|
79
|
+
specification_version: 3
|
80
|
+
summary: X-Stream.ly Client
|
81
|
+
test_files: []
|
82
|
+
|