adhearsion 1.0.1 → 1.0.2
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/.gitignore +10 -0
- data/CHANGELOG +8 -0
- data/README.markdown +33 -0
- data/Rakefile +28 -68
- data/adhearsion.gemspec +19 -133
- data/app_generators/ahn/templates/Gemfile +0 -4
- data/app_generators/ahn/templates/components/disabled/restful_rpc/spec/restful_rpc_spec.rb +4 -16
- data/lib/adhearsion/cli.rb +17 -0
- data/lib/adhearsion/component_manager/component_tester.rb +1 -3
- data/lib/adhearsion/component_manager/spec_framework.rb +4 -10
- data/lib/adhearsion/foundation/object.rb +10 -0
- data/lib/adhearsion/version.rb +1 -1
- data/spec/ahn_command_spec.rb +284 -0
- data/spec/component_manager_spec.rb +292 -0
- data/spec/constants_spec.rb +8 -0
- data/spec/drb_spec.rb +65 -0
- data/spec/fixtures/dialplan.rb +3 -0
- data/spec/foundation/event_socket_spec.rb +168 -0
- data/spec/host_definitions_spec.rb +79 -0
- data/spec/initialization_spec.rb +163 -0
- data/spec/initializer/configuration_spec.rb +270 -0
- data/spec/initializer/loading_spec.rb +149 -0
- data/spec/initializer/paths_spec.rb +74 -0
- data/spec/logging_spec.rb +86 -0
- data/spec/relationship_properties_spec.rb +54 -0
- data/spec/silence.rb +10 -0
- data/spec/spec_helper.rb +101 -0
- data/spec/voip/asterisk/agi_server_spec.rb +473 -0
- data/spec/voip/asterisk/ami/ami_spec.rb +549 -0
- data/spec/voip/asterisk/ami/lexer/ami_fixtures.yml +30 -0
- data/spec/voip/asterisk/ami/lexer/lexer_story +291 -0
- data/spec/voip/asterisk/ami/lexer/lexer_story.rb +241 -0
- data/spec/voip/asterisk/ami/lexer/story_helper.rb +124 -0
- data/spec/voip/asterisk/ami/old_tests.rb +204 -0
- data/spec/voip/asterisk/ami/super_manager/super_manager_story +25 -0
- data/spec/voip/asterisk/ami/super_manager/super_manager_story.rb +15 -0
- data/spec/voip/asterisk/ami/super_manager/super_manager_story_helper.rb +5 -0
- data/spec/voip/asterisk/commands_spec.rb +2179 -0
- data/spec/voip/asterisk/config_file_generators/agents_spec.rb +251 -0
- data/spec/voip/asterisk/config_file_generators/queues_spec.rb +323 -0
- data/spec/voip/asterisk/config_file_generators/voicemail_spec.rb +306 -0
- data/spec/voip/asterisk/config_manager_spec.rb +127 -0
- data/spec/voip/asterisk/menu_command/calculated_match_spec.rb +109 -0
- data/spec/voip/asterisk/menu_command/matchers_spec.rb +97 -0
- data/spec/voip/call_routing_spec.rb +125 -0
- data/spec/voip/dialplan_manager_spec.rb +468 -0
- data/spec/voip/dsl/dialing_dsl_spec.rb +270 -0
- data/spec/voip/dsl/dispatcher_spec.rb +82 -0
- data/spec/voip/dsl/dispatcher_spec_helper.rb +45 -0
- data/spec/voip/dsl/parser_spec.rb +69 -0
- data/spec/voip/freeswitch/basic_connection_manager_spec.rb +39 -0
- data/spec/voip/freeswitch/inbound_connection_manager_spec.rb +39 -0
- data/spec/voip/freeswitch/oes_server_spec.rb +9 -0
- data/spec/voip/numerical_string_spec.rb +61 -0
- data/spec/voip/phone_number_spec.rb +45 -0
- data/theatre-spec/dsl_examples/dynamic_stomp.rb +7 -0
- data/theatre-spec/dsl_examples/simple_before_call.rb +7 -0
- data/theatre-spec/dsl_spec.rb +43 -0
- data/theatre-spec/invocation_spec.rb +167 -0
- data/theatre-spec/namespace_spec.rb +125 -0
- data/theatre-spec/spec_helper.rb +37 -0
- data/theatre-spec/spec_helper_spec.rb +28 -0
- data/theatre-spec/theatre_class_spec.rb +150 -0
- metadata +171 -34
data/.gitignore
ADDED
data/CHANGELOG
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
1.0.2
|
2
|
+
- Fix rcov Rake task
|
3
|
+
- Add Ben Langfeld as an author (Thanks, Ben!)
|
4
|
+
- Add "rake" as a runtime dependency
|
5
|
+
- Remove usage of BEGIN blocks (for Rubinius; CS)
|
6
|
+
- Improve component testing generators
|
7
|
+
|
1
8
|
1.0.1
|
2
9
|
NOTE for Ruby 1.9 users: The behavior of Ruby 1.9 and case statements has changed
|
3
10
|
in a way that renders NumericalString objects incompatible with
|
@@ -29,6 +36,7 @@
|
|
29
36
|
- New components now include RubyGems skeleton files
|
30
37
|
- Fix support for setting Caller ID name on AGI dial() command
|
31
38
|
- Generate new apps with Bundler support, including auto-requiring of all gems
|
39
|
+
- Update component testing framework to RSpec 2.x and mock with rspec
|
32
40
|
|
33
41
|
1.0.0
|
34
42
|
- Fall back to using Asterisk's context if the AGI URI context is not found
|
data/README.markdown
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
Adhearsion
|
2
|
+
==========
|
3
|
+
|
4
|
+
Adhearsion is an open-source voice application development framework. Adhearsion users write applications atop the framework with Ruby and **call into their code**.
|
5
|
+
|
6
|
+
Adhearsion rests above a lower-level telephony platform, namely [Asterisk](http://asterisk.org), and provides a framework for integrating with various resources, such as SQL, LDAP and XMPP (Jabber).
|
7
|
+
|
8
|
+
Adhearsion has...
|
9
|
+
|
10
|
+
* An elegant dialplan system for writing the code which controls a live phone call
|
11
|
+
* A sophisticated Asterisk Manager Interface library with a lexer written in [Ragel](http://www.complang.org/ragel).
|
12
|
+
* An events subsystem which maintains a Thread-pool for executing your namespaced callbacks. (supports AMI events too!)
|
13
|
+
* A very useful component architecture with which you may write Adhearsion plugins and share them with the world via RubyGems.
|
14
|
+
* JRuby compatibility for running atop the Java Virtual Machine and using virtually any Java library.
|
15
|
+
* Ability to re-use existing Ruby on Rails database models with ActiveRecord/ActiveLDAP
|
16
|
+
* Easy interactive communication via XMPP instant messages using the Blather library
|
17
|
+
* Good regression test coverage
|
18
|
+
|
19
|
+
Use the public Adhearsion sandbox!
|
20
|
+
==================================
|
21
|
+
|
22
|
+
Don't want to screw with setting up a telephony system? You can test your Adhearsion applications using our public sandbox!
|
23
|
+
|
24
|
+
Visit [http://adhearsion.com/getting_started](http://adhearsion.com/getting_started) for more information!
|
25
|
+
|
26
|
+
Yes, in minutes you can be controlling your cell phone for free! :)
|
27
|
+
|
28
|
+
Documentation
|
29
|
+
=============
|
30
|
+
|
31
|
+
Visit [Adhearsion's website](http://adhearsion.com) for code examples and more information about the project. Also checkout the [Adhearsion wiki on Github](http://github.com/adhearsion/adhearsion/wiki) for community documentation.
|
32
|
+
|
33
|
+
If you're having trouble, you may want to try asking your question on the IRC channel (#adhearsion on irc.freenode.net), [mailing list](http://groups.google.com/group/adhearsion) or, if you've found a bug, report it on the [bug tracker](http://adhearsion.lighthouseapp.com/projects/5871-adhearsion/overview).
|
data/Rakefile
CHANGED
@@ -1,11 +1,14 @@
|
|
1
1
|
# -*- ruby -*-
|
2
|
-
ENV['RUBY_FLAGS'] = "-I#{%w(lib ext bin
|
2
|
+
ENV['RUBY_FLAGS'] = "-I#{%w(lib ext bin spec).join(File::PATH_SEPARATOR)}"
|
3
3
|
|
4
4
|
require 'rubygems'
|
5
5
|
require 'bundler'
|
6
6
|
Bundler::GemHelper.install_tasks
|
7
|
-
require 'rake/testtask'
|
8
7
|
require 'date'
|
8
|
+
require 'adhearsion/version'
|
9
|
+
|
10
|
+
task :default => :spec
|
11
|
+
task :gem => :build
|
9
12
|
|
10
13
|
begin
|
11
14
|
gem 'rspec', '>= 2.3.0'
|
@@ -14,59 +17,41 @@ rescue LoadError
|
|
14
17
|
abort "You must install RSpec: sudo gem install rspec"
|
15
18
|
end
|
16
19
|
|
17
|
-
|
18
|
-
require 'yard'
|
19
|
-
YARD::Rake::YardocTask.new do |t|
|
20
|
-
t.files = ['lib/**/*.rb'] + %w[README.markdown TODO.markdown LICENSE]
|
21
|
-
end
|
22
|
-
rescue LoadError
|
23
|
-
STDERR.puts "\nCould not require() YARD! Install with 'gem install yard' to get the 'yardoc' task\n\n"
|
20
|
+
RSpec::Core::RakeTask.new do |t|
|
24
21
|
end
|
25
22
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
GEMSPEC = eval File.read("adhearsion.gemspec")
|
31
|
-
RAGEL_FILES = %w[lib/adhearsion/voip/asterisk/manager_interface/ami_lexer.rl.rb]
|
32
|
-
THEATRE_TESTS = 'theatre-spec/**/*_spec.rb'
|
23
|
+
desc "Run all RSpecs for Theatre"
|
24
|
+
RSpec::Core::RakeTask.new(:theatre_specs) do |t|
|
25
|
+
t.pattern = 'theatre-spec/**/*_spec.rb'
|
26
|
+
end
|
33
27
|
|
34
28
|
begin
|
35
29
|
require 'rcov/rcovtask'
|
36
30
|
Rcov::RcovTask.new do |t|
|
37
|
-
t.
|
38
|
-
t.
|
39
|
-
t.
|
40
|
-
t.
|
31
|
+
t.libs << "spec"
|
32
|
+
t.test_files = Dir['spec/**/*_spec.rb']
|
33
|
+
t.output_dir = 'coverage'
|
34
|
+
t.verbose = true
|
35
|
+
t.rcov_opts.concat %w[--sort coverage --sort-reverse -x gems -x /var]
|
41
36
|
end
|
42
37
|
rescue LoadError
|
43
38
|
STDERR.puts "Could not load rcov tasks -- rcov does not appear to be installed. Continuing anyway."
|
44
39
|
end
|
45
40
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
#Rake::TestTask.new('spec') do |t|
|
54
|
-
# t.libs << File.dirname(__FILE__)
|
55
|
-
# t.verbose = true
|
56
|
-
# t.pattern = AHN_TESTS
|
57
|
-
#end
|
58
|
-
|
59
|
-
RSpec::Core::RakeTask.new(:spec) do |t|
|
60
|
-
t.pattern = AHN_TESTS
|
41
|
+
begin
|
42
|
+
require 'yard'
|
43
|
+
YARD::Rake::YardocTask.new do |t|
|
44
|
+
t.files = ['lib/**/*.rb'] + %w[README.markdown TODO.markdown LICENSE]
|
45
|
+
end
|
46
|
+
rescue LoadError
|
47
|
+
STDERR.puts "\nCould not require() YARD! Install with 'gem install yard' to get the 'yardoc' task\n\n"
|
61
48
|
end
|
62
49
|
|
63
|
-
task :default => :spec
|
64
|
-
|
65
50
|
desc "Check Ragel version"
|
66
51
|
task :check_ragel_version do
|
67
|
-
ragel_version_match = `ragel --version`.match
|
52
|
+
ragel_version_match = `ragel --version`.match /(\d)\.(\d)+/
|
68
53
|
abort "Could not get Ragel version! Is it installed? You must have at least version 6.3" unless ragel_version_match
|
69
|
-
big, small = ragel_version_match.captures.map
|
54
|
+
big, small = ragel_version_match.captures.map &:to_i
|
70
55
|
if big < 6 || (big == 6 && small < 3)
|
71
56
|
abort "Please upgrade Ragel! You're on version #{ragel_version_match[0]} and must be on 6.3 or later"
|
72
57
|
end
|
@@ -78,10 +63,12 @@ task :check_ragel_version do
|
|
78
63
|
end
|
79
64
|
end
|
80
65
|
|
66
|
+
RAGEL_FILES = %w[lib/adhearsion/voip/asterisk/manager_interface/ami_lexer.rl.rb]
|
67
|
+
|
81
68
|
desc "Used to regenerate the AMI source code files. Note: requires Ragel 6.3 or later be installed on your system"
|
82
69
|
task :ragel => :check_ragel_version do
|
83
70
|
RAGEL_FILES.each do |ragel_file|
|
84
|
-
ruby_file = ragel_file.sub
|
71
|
+
ruby_file = ragel_file.sub ".rl.rb", ".rb"
|
85
72
|
puts `ragel -n -R #{ragel_file} -o #{ruby_file} 2>&1`
|
86
73
|
raise "Failed generating code from Ragel file #{ragel_file}" if $?.to_i.nonzero?
|
87
74
|
end
|
@@ -97,37 +84,10 @@ task :visualize_ragel => :check_ragel_version do
|
|
97
84
|
end
|
98
85
|
end
|
99
86
|
|
100
|
-
desc "Run all RSpecs for Theatre"
|
101
|
-
RSpec::Core::RakeTask.new(:theatre_specs) do |t|
|
102
|
-
t.pattern = FileList[THEATRE_TESTS]
|
103
|
-
end
|
104
|
-
|
105
|
-
desc "Compares Adhearsion's files with those listed in adhearsion.gemspec"
|
106
|
-
task :check_gemspec_files do
|
107
|
-
files_from_gemspec = ADHEARSION_FILES
|
108
|
-
files_from_filesystem = Dir.glob(File.dirname(__FILE__) + "/**/*").map do |filename|
|
109
|
-
filename[0...Dir.pwd.length] == Dir.pwd ? filename[(Dir.pwd.length+1)..-1] : filename
|
110
|
-
end
|
111
|
-
files_from_filesystem.reject! { |f| File.directory? f }
|
112
|
-
|
113
|
-
puts
|
114
|
-
puts 'Pipe this command to "grep -v \'spec/\' | grep -v test" to ignore test files'
|
115
|
-
puts
|
116
|
-
puts '##########################################'
|
117
|
-
puts '## Files on filesystem not in the gemspec:'
|
118
|
-
puts '##########################################'
|
119
|
-
puts((files_from_filesystem - files_from_gemspec).map { |f| " " + f })
|
120
|
-
|
121
|
-
puts '##########################################'
|
122
|
-
puts '## Files in gemspec not in the filesystem:'
|
123
|
-
puts '##########################################'
|
124
|
-
puts((files_from_gemspec - files_from_filesystem).map { |f| " " + f })
|
125
|
-
end
|
126
|
-
|
127
87
|
desc "Test that the .gemspec file executes"
|
128
88
|
task :debug_gem do
|
129
89
|
require 'rubygems/specification'
|
130
|
-
gemspec = File.read
|
90
|
+
gemspec = File.read 'adhearsion.gemspec'
|
131
91
|
spec = nil
|
132
92
|
Thread.new { spec = eval("$SAFE = 3\n#{gemspec}") }.join
|
133
93
|
puts "SUCCESS: Gemspec runs at the $SAFE level 3."
|
data/adhearsion.gemspec
CHANGED
@@ -3,143 +3,25 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
require "adhearsion/version"
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
|
-
s.name
|
7
|
-
s.version
|
8
|
-
|
9
|
-
s.
|
10
|
-
s.
|
11
|
-
|
12
|
-
s.
|
6
|
+
s.name = "adhearsion"
|
7
|
+
s.version = Adhearsion::VERSION::STRING
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Jay Phillips", "Jason Goecke", "Ben Klang", "Ben Langfeld"]
|
10
|
+
s.email = "dev&Adhearsion.com"
|
11
|
+
s.homepage = "http://adhearsion.com"
|
12
|
+
s.summary = "Adhearsion, open-source telephony development framework"
|
13
13
|
s.description = "Adhearsion is an open-source telephony development framework"
|
14
|
-
s.
|
15
|
-
s.executables = ["ahn", "ahnctl", "jahn"]
|
14
|
+
s.date = Date.today.to_s
|
16
15
|
|
17
|
-
s.
|
18
|
-
|
19
|
-
|
20
|
-
app_generators/ahn/templates/.ahnrc
|
21
|
-
app_generators/ahn/templates/components/ami_remote/ami_remote.rb
|
22
|
-
app_generators/ahn/templates/components/disabled/HOW_TO_ENABLE
|
23
|
-
app_generators/ahn/templates/components/disabled/stomp_gateway/stomp_gateway.yml
|
24
|
-
app_generators/ahn/templates/components/disabled/stomp_gateway/README.markdown
|
25
|
-
app_generators/ahn/templates/components/disabled/stomp_gateway/stomp_gateway.rb
|
26
|
-
app_generators/ahn/templates/components/disabled/sandbox/sandbox.rb
|
27
|
-
app_generators/ahn/templates/components/disabled/sandbox/sandbox.yml
|
28
|
-
app_generators/ahn/templates/components/disabled/restful_rpc/restful_rpc.yml
|
29
|
-
app_generators/ahn/templates/components/disabled/restful_rpc/example-client.rb
|
30
|
-
app_generators/ahn/templates/components/disabled/restful_rpc/README.markdown
|
31
|
-
app_generators/ahn/templates/components/disabled/restful_rpc/restful_rpc.rb
|
32
|
-
app_generators/ahn/templates/components/disabled/restful_rpc/spec/restful_rpc_spec.rb
|
33
|
-
app_generators/ahn/templates/components/disabled/xmpp_gateway/xmpp_gateway.rb
|
34
|
-
app_generators/ahn/templates/components/disabled/xmpp_gateway/xmpp_gateway.yml
|
35
|
-
app_generators/ahn/templates/components/disabled/xmpp_gateway/README.markdown
|
36
|
-
app_generators/ahn/templates/components/simon_game/simon_game.rb
|
37
|
-
app_generators/ahn/templates/config/startup.rb
|
38
|
-
app_generators/ahn/templates/dialplan.rb
|
39
|
-
app_generators/ahn/templates/events.rb
|
40
|
-
app_generators/ahn/templates/Rakefile
|
41
|
-
app_generators/ahn/templates/Gemfile
|
42
|
-
app_generators/ahn/templates/README
|
43
|
-
app_generators/ahn/USAGE
|
44
|
-
bin/ahn
|
45
|
-
bin/ahnctl
|
46
|
-
bin/jahn
|
47
|
-
CHANGELOG
|
48
|
-
EVENTS
|
49
|
-
examples/asterisk_manager_interface/standalone.rb
|
50
|
-
lib/adhearsion.rb
|
51
|
-
lib/adhearsion/cli.rb
|
52
|
-
lib/adhearsion/component_manager.rb
|
53
|
-
lib/adhearsion/component_manager/component_tester.rb
|
54
|
-
lib/adhearsion/component_manager/spec_framework.rb
|
55
|
-
lib/adhearsion/events_support.rb
|
56
|
-
lib/adhearsion/foundation/all.rb
|
57
|
-
lib/adhearsion/foundation/blank_slate.rb
|
58
|
-
lib/adhearsion/foundation/custom_daemonizer.rb
|
59
|
-
lib/adhearsion/foundation/event_socket.rb
|
60
|
-
lib/adhearsion/foundation/future_resource.rb
|
61
|
-
lib/adhearsion/foundation/metaprogramming.rb
|
62
|
-
lib/adhearsion/foundation/numeric.rb
|
63
|
-
lib/adhearsion/foundation/pseudo_guid.rb
|
64
|
-
lib/adhearsion/foundation/relationship_properties.rb
|
65
|
-
lib/adhearsion/foundation/string.rb
|
66
|
-
lib/adhearsion/foundation/synchronized_hash.rb
|
67
|
-
lib/adhearsion/foundation/thread_safety.rb
|
68
|
-
lib/adhearsion/host_definitions.rb
|
69
|
-
lib/adhearsion/initializer.rb
|
70
|
-
lib/adhearsion/initializer/asterisk.rb
|
71
|
-
lib/adhearsion/initializer/configuration.rb
|
72
|
-
lib/adhearsion/initializer/database.rb
|
73
|
-
lib/adhearsion/initializer/ldap.rb
|
74
|
-
lib/adhearsion/initializer/drb.rb
|
75
|
-
lib/adhearsion/initializer/freeswitch.rb
|
76
|
-
lib/adhearsion/initializer/rails.rb
|
77
|
-
lib/adhearsion/initializer/xmpp.rb
|
78
|
-
lib/adhearsion/logging.rb
|
79
|
-
lib/adhearsion/tasks.rb
|
80
|
-
lib/adhearsion/tasks/components.rb
|
81
|
-
lib/adhearsion/tasks/database.rb
|
82
|
-
lib/adhearsion/tasks/deprecations.rb
|
83
|
-
lib/adhearsion/tasks/generating.rb
|
84
|
-
lib/adhearsion/tasks/lint.rb
|
85
|
-
lib/adhearsion/tasks/testing.rb
|
86
|
-
lib/adhearsion/version.rb
|
87
|
-
lib/adhearsion/voip/asterisk.rb
|
88
|
-
lib/adhearsion/voip/asterisk/agi_server.rb
|
89
|
-
lib/adhearsion/voip/asterisk/commands.rb
|
90
|
-
lib/adhearsion/voip/asterisk/config_generators/agents.conf.rb
|
91
|
-
lib/adhearsion/voip/asterisk/config_generators/config_generator.rb
|
92
|
-
lib/adhearsion/voip/asterisk/config_generators/queues.conf.rb
|
93
|
-
lib/adhearsion/voip/asterisk/config_generators/voicemail.conf.rb
|
94
|
-
lib/adhearsion/voip/asterisk/config_manager.rb
|
95
|
-
lib/adhearsion/voip/asterisk/manager_interface.rb
|
96
|
-
lib/adhearsion/voip/asterisk/manager_interface/ami_lexer.rb
|
97
|
-
lib/adhearsion/voip/asterisk/manager_interface/ami_lexer.rl.rb
|
98
|
-
lib/adhearsion/voip/asterisk/manager_interface/ami_messages.rb
|
99
|
-
lib/adhearsion/voip/asterisk/manager_interface/ami_protocol_lexer_machine.rl
|
100
|
-
lib/adhearsion/voip/asterisk/special_dial_plan_managers.rb
|
101
|
-
lib/adhearsion/voip/asterisk/super_manager.rb
|
102
|
-
lib/adhearsion/voip/call.rb
|
103
|
-
lib/adhearsion/voip/call_routing.rb
|
104
|
-
lib/adhearsion/voip/commands.rb
|
105
|
-
lib/adhearsion/voip/constants.rb
|
106
|
-
lib/adhearsion/voip/conveniences.rb
|
107
|
-
lib/adhearsion/voip/dial_plan.rb
|
108
|
-
lib/adhearsion/voip/dsl/dialing_dsl.rb
|
109
|
-
lib/adhearsion/voip/dsl/dialing_dsl/dialing_dsl_monkey_patches.rb
|
110
|
-
lib/adhearsion/voip/dsl/dialplan/control_passing_exception.rb
|
111
|
-
lib/adhearsion/voip/dsl/dialplan/dispatcher.rb
|
112
|
-
lib/adhearsion/voip/dsl/dialplan/parser.rb
|
113
|
-
lib/adhearsion/voip/dsl/dialplan/thread_mixin.rb
|
114
|
-
lib/adhearsion/voip/dsl/numerical_string.rb
|
115
|
-
lib/adhearsion/voip/freeswitch/basic_connection_manager.rb
|
116
|
-
lib/adhearsion/voip/freeswitch/event_handler.rb
|
117
|
-
lib/adhearsion/voip/freeswitch/freeswitch_dialplan_command_factory.rb
|
118
|
-
lib/adhearsion/voip/freeswitch/inbound_connection_manager.rb
|
119
|
-
lib/adhearsion/voip/freeswitch/oes_server.rb
|
120
|
-
lib/adhearsion/voip/menu_state_machine/calculated_match.rb
|
121
|
-
lib/adhearsion/voip/menu_state_machine/matchers.rb
|
122
|
-
lib/adhearsion/voip/menu_state_machine/menu_builder.rb
|
123
|
-
lib/adhearsion/voip/menu_state_machine/menu_class.rb
|
124
|
-
lib/adhearsion/xmpp/connection.rb
|
125
|
-
lib/theatre.rb
|
126
|
-
lib/theatre/callback_definition_loader.rb
|
127
|
-
lib/theatre/guid.rb
|
128
|
-
lib/theatre/invocation.rb
|
129
|
-
lib/theatre/namespace_manager.rb
|
130
|
-
lib/theatre/README.markdown
|
131
|
-
lib/theatre/version.rb
|
132
|
-
LICENSE
|
133
|
-
Rakefile
|
134
|
-
Gemfile
|
135
|
-
}
|
16
|
+
s.rubyforge_project = "adhearsion"
|
17
|
+
s.rubygems_version = "1.2.0"
|
18
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
136
19
|
|
137
|
-
s.
|
138
|
-
s.
|
20
|
+
s.files = `git ls-files`.split("\n")
|
21
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
22
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
139
23
|
s.require_paths = ["lib"]
|
140
|
-
s.
|
141
|
-
s.rubygems_version = "1.2.0"
|
142
|
-
s.summary = "Adhearsion, open-source telephony development framework"
|
24
|
+
s.has_rdoc = true
|
143
25
|
|
144
26
|
if s.respond_to? :specification_version then
|
145
27
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
@@ -155,20 +37,24 @@ Gem::Specification.new do |s|
|
|
155
37
|
# on the safe side.
|
156
38
|
s.add_runtime_dependency("i18n")
|
157
39
|
s.add_runtime_dependency("rubigen", [">= 1.5.6"])
|
40
|
+
s.add_runtime_dependency("rake")
|
158
41
|
|
159
42
|
# Development dependencies
|
160
43
|
s.add_development_dependency('rubigen', [">= 1.5.6"])
|
161
44
|
s.add_development_dependency('rspec', [">= 2.4.0"])
|
162
45
|
s.add_development_dependency('flexmock')
|
163
46
|
s.add_development_dependency('activerecord')
|
47
|
+
s.add_development_dependency('rake')
|
164
48
|
else
|
165
49
|
s.add_dependency("bundler", [">= 1.0.10"])
|
166
50
|
s.add_dependency("log4r", [">= 1.0.5"])
|
167
51
|
s.add_dependency("activesupport", [">= 2.1.0"])
|
52
|
+
s.add_dependency("rake")
|
168
53
|
end
|
169
54
|
else
|
170
55
|
s.add_dependency("bundler", [">= 1.0.10"])
|
171
56
|
s.add_dependency("log4r", [">= 1.0.5"])
|
172
57
|
s.add_dependency("activesupport", [">= 2.1.0"])
|
58
|
+
s.add_dependency("rake")
|
173
59
|
end
|
174
60
|
end
|
@@ -1,17 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
require File.dirname(__FILE__) + "/../../../adhearsion/lib/adhearsion.rb"
|
6
|
-
elsif File.exists? File.dirname(__FILE__) + "/../../../../../../lib/adhearsion.rb"
|
7
|
-
# This file may be ran from the within the Adhearsion framework code (before a project has been generated)
|
8
|
-
require File.dirname(__FILE__) + "/../../../../../../lib/adhearsion.rb"
|
9
|
-
else
|
10
|
-
require 'rubygems'
|
11
|
-
gem 'adhearsion', '>= 0.7.999'
|
12
|
-
require 'adhearsion'
|
13
|
-
end
|
14
|
-
end
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
Bundler.setup
|
4
|
+
Bundler.require
|
15
5
|
|
16
6
|
require 'adhearsion/component_manager/spec_framework'
|
17
7
|
|
@@ -47,8 +37,6 @@ RESTFUL_RPC = ComponentTester.new("restful_rpc", File.dirname(__FILE__) + "/../.
|
|
47
37
|
# "SERVER_PROTOCOL" => "HTTP/1.1",
|
48
38
|
# "SERVER_SOFTWARE" => "WEBrick/1.3.1 (Ruby/1.8.6/2008-03-03)"}
|
49
39
|
|
50
|
-
|
51
|
-
|
52
40
|
describe "The VALID_IP_ADDRESS regular expression" do
|
53
41
|
|
54
42
|
it "should match only valid IP addresses" do
|
data/lib/adhearsion/cli.rb
CHANGED
@@ -169,6 +169,23 @@ Gem::Specification.new do |s|
|
|
169
169
|
end
|
170
170
|
RUBY
|
171
171
|
end
|
172
|
+
|
173
|
+
# Component example spec
|
174
|
+
Dir.mkdir File.join(new_component_dir, "spec")
|
175
|
+
fn = File.join("spec", "#{component_name}_spec.rb")
|
176
|
+
puts "- #{fn}: Example component spec"
|
177
|
+
File.open(File.join(new_component_dir, fn), "w") do |file|
|
178
|
+
file.puts <<-RUBY
|
179
|
+
require 'rubygems'
|
180
|
+
require 'bundler'
|
181
|
+
Bundler.setup
|
182
|
+
Bundler.require
|
183
|
+
|
184
|
+
require 'adhearsion/component_manager/spec_framework'
|
185
|
+
|
186
|
+
component_name.upcase = ComponentTester.new("#{component_name}", File.dirname(__FILE__) + "/../..")
|
187
|
+
RUBY
|
188
|
+
end
|
172
189
|
puts "Created blank component '#{component_name}' at #{new_component_dir}"
|
173
190
|
else
|
174
191
|
raise CommandHandler::UnknownCommand.new("Provided too many arguments to 'create'")
|