whats-up-adhearsion 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/whats-up-adhearsion.rb +36 -0
  2. metadata +124 -0
@@ -0,0 +1,36 @@
1
+ begin
2
+ require 'rack'
3
+ require 'json'
4
+ rescue LoadError
5
+ abort "ERROR: whats_up_adhearsion requires the 'rack' and 'json' gems"
6
+ end
7
+
8
+ WHATS_UP_ADHEARSION_HANDLER = lambda do |env|
9
+ json = env["rack.input"].read
10
+ json = json.blank? ? nil : JSON.parse(json)
11
+ path = env["PATH_INFO"]
12
+ path = path[1..-1]
13
+ rpc_object = Adhearsion::Components.component_manager.extend_object_with(Object.new, :rpc)
14
+ response_object = rpc_object.send(path, *json)
15
+ [200, {"Content-Type" => response_object[:type]}, response_object[:response]]
16
+ end
17
+
18
+ initialization do
19
+ config = COMPONENTS.send :'whats-up-adhearsion'
20
+ api = WHATS_UP_ADHEARSION_HANDLER
21
+ handler = Rack::Handler.const_get('Mongrel')
22
+ Thread.new do
23
+ handler.run api, :Port => 5005
24
+ end
25
+ end
26
+
27
+ methods_for :rpc do
28
+ def pulse()
29
+ {:type => 'application/text', :response => ''}
30
+ end
31
+
32
+ def call_load()
33
+ {:type => 'application/json', :response => JSON.generate({:number_of_calls => Adhearsion.active_calls})}
34
+ end
35
+ end
36
+
metadata ADDED
@@ -0,0 +1,124 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: whats-up-adhearsion
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Lance Gleason
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-09-09 00:00:00.000000000 -04:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: adhearsion
17
+ requirement: &2164615280 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *2164615280
26
+ - !ruby/object:Gem::Dependency
27
+ name: json
28
+ requirement: &2164641160 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *2164641160
37
+ - !ruby/object:Gem::Dependency
38
+ name: rack
39
+ requirement: &2164640740 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *2164640740
48
+ - !ruby/object:Gem::Dependency
49
+ name: mongrel
50
+ requirement: &2164640240 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: 1.2.0.pre2
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: *2164640240
59
+ - !ruby/object:Gem::Dependency
60
+ name: rspec
61
+ requirement: &2164639820 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: *2164639820
70
+ - !ruby/object:Gem::Dependency
71
+ name: flexmock
72
+ requirement: &2164639360 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: *2164639360
81
+ - !ruby/object:Gem::Dependency
82
+ name: jeweler
83
+ requirement: &2164638940 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: *2164638940
92
+ description: Allows you to get information about Adhearsions status via rest calls
93
+ email: dev&adhearsion.com
94
+ executables: []
95
+ extensions: []
96
+ extra_rdoc_files: []
97
+ files:
98
+ - lib/whats-up-adhearsion.rb
99
+ has_rdoc: true
100
+ homepage: https://github.com/lgleasain/whats-up-adhearsion
101
+ licenses: []
102
+ post_install_message:
103
+ rdoc_options: []
104
+ require_paths:
105
+ - lib
106
+ required_ruby_version: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ required_rubygems_version: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ requirements: []
119
+ rubyforge_project:
120
+ rubygems_version: 1.6.2
121
+ signing_key:
122
+ specification_version: 2
123
+ summary: Provides a RESTful status for Adhearsion
124
+ test_files: []