whats-up-adhearsion 0.1.0

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.
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: []