adhearsion 2.4.0 → 2.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +3 -3
- data/CHANGELOG.md +29 -0
- data/Gemfile +0 -2
- data/Guardfile +2 -2
- data/README.markdown +3 -6
- data/Rakefile +1 -1
- data/adhearsion.gemspec +7 -2
- data/features/cli_create.feature +85 -7
- data/features/plugin_generator.feature +4 -0
- data/features/step_definitions/app_generator_steps.rb +8 -1
- data/lib/adhearsion.rb +6 -3
- data/lib/adhearsion/call.rb +101 -30
- data/lib/adhearsion/call_controller.rb +40 -12
- data/lib/adhearsion/call_controller/dial.rb +119 -36
- data/lib/adhearsion/call_controller/input.rb +11 -5
- data/lib/adhearsion/call_controller/output.rb +47 -33
- data/lib/adhearsion/call_controller/output/async_player.rb +3 -2
- data/lib/adhearsion/call_controller/output/formatter.rb +7 -2
- data/lib/adhearsion/call_controller/output/player.rb +2 -2
- data/lib/adhearsion/call_controller/record.rb +16 -13
- data/lib/adhearsion/call_controller/utility.rb +3 -3
- data/lib/adhearsion/calls.rb +21 -8
- data/lib/adhearsion/cli_commands/ahn_command.rb +1 -0
- data/lib/adhearsion/configuration.rb +2 -2
- data/lib/adhearsion/console.rb +3 -2
- data/lib/adhearsion/generators.rb +7 -9
- data/lib/adhearsion/generators/app/app_generator.rb +12 -2
- data/lib/adhearsion/generators/app/templates/Gemfile.erb +7 -9
- data/lib/adhearsion/generators/app/templates/README.md +0 -19
- data/lib/adhearsion/generators/app/templates/adhearsion.erb +37 -0
- data/lib/adhearsion/generators/app/templates/config/environment.rb +6 -1
- data/lib/adhearsion/generators/app/templates/events.erb +18 -0
- data/lib/adhearsion/generators/app/templates/routes.erb +19 -0
- data/lib/adhearsion/generators/app/templates/{lib/simon_game.rb → simon_game.rb} +0 -0
- data/lib/adhearsion/generators/app/templates/{spec/call_controllers/simon_game_spec.rb → simon_game_spec.rb} +0 -0
- data/lib/adhearsion/generators/controller/controller_generator.rb +2 -2
- data/lib/adhearsion/generators/controller/templates/lib/{controller.rb → controller.rb.erb} +0 -0
- data/lib/adhearsion/generators/controller/templates/spec/{controller_spec.rb → controller_spec.rb.erb} +0 -0
- data/lib/adhearsion/generators/plugin/plugin_generator.rb +16 -15
- data/lib/adhearsion/generators/plugin/templates/gitignore +17 -0
- data/lib/adhearsion/generators/plugin/templates/spec/plugin-template/controller_methods_spec.rb.tt +1 -1
- data/lib/adhearsion/initializer.rb +14 -2
- data/lib/adhearsion/logging.rb +1 -0
- data/lib/adhearsion/outbound_call.rb +3 -7
- data/lib/adhearsion/punchblock_plugin/initializer.rb +3 -2
- data/lib/adhearsion/router/openended_route.rb +1 -1
- data/lib/adhearsion/router/route.rb +4 -3
- data/lib/adhearsion/version.rb +1 -1
- data/spec/adhearsion/call_controller/dial_spec.rb +811 -79
- data/spec/adhearsion/call_controller/output/formatter_spec.rb +13 -1
- data/spec/adhearsion/call_controller/output_spec.rb +35 -1
- data/spec/adhearsion/call_controller_spec.rb +174 -18
- data/spec/adhearsion/call_spec.rb +423 -39
- data/spec/adhearsion/calls_spec.rb +19 -3
- data/spec/adhearsion/outbound_call_spec.rb +88 -45
- data/spec/adhearsion/punchblock_plugin/initializer_spec.rb +3 -3
- data/spec/adhearsion/router/route_spec.rb +2 -2
- data/spec/spec_helper.rb +2 -0
- metadata +92 -77
- data/features/app_generator.feature +0 -49
- data/lib/adhearsion/generators/app/templates/config/adhearsion.rb +0 -71
- data/lib/adhearsion/generators/plugin/templates/.gitignore +0 -9
@@ -1,49 +0,0 @@
|
|
1
|
-
Feature: Adhearsion App Generator
|
2
|
-
In order to do development on new Adhearsion apps
|
3
|
-
As an Adhearsion developer
|
4
|
-
I want to generate an Adhearsion app
|
5
|
-
|
6
|
-
Scenario: Generate application with valid layout
|
7
|
-
When I run `ahn create path/somewhere`
|
8
|
-
And I cd to "path/somewhere"
|
9
|
-
Then the following directories should exist:
|
10
|
-
| lib |
|
11
|
-
| config |
|
12
|
-
| script |
|
13
|
-
| spec |
|
14
|
-
| spec/call_controllers |
|
15
|
-
| spec/support |
|
16
|
-
|
17
|
-
And the following files should exist:
|
18
|
-
| .gitignore |
|
19
|
-
| .rspec |
|
20
|
-
| config/adhearsion.rb |
|
21
|
-
| config/environment.rb |
|
22
|
-
| Gemfile |
|
23
|
-
| lib/simon_game.rb |
|
24
|
-
| script/ahn |
|
25
|
-
| spec/spec_helper.rb |
|
26
|
-
| README.md |
|
27
|
-
| Rakefile |
|
28
|
-
| Procfile |
|
29
|
-
|
30
|
-
And the file "config/adhearsion.rb" should contain each of these content parts:
|
31
|
-
"""
|
32
|
-
Adhearsion.router
|
33
|
-
Adhearsion.config
|
34
|
-
logging.level
|
35
|
-
config.punchblock
|
36
|
-
"""
|
37
|
-
And the file "README.md" should contain each of these content parts:
|
38
|
-
"""
|
39
|
-
Start your new app with
|
40
|
-
AGI(agi
|
41
|
-
"""
|
42
|
-
And the file "Rakefile" should contain "adhearsion/tasks"
|
43
|
-
And the file "Gemfile" should contain each of these content parts:
|
44
|
-
"""
|
45
|
-
source 'https://rubygems.org
|
46
|
-
gem 'adhearsion-asterisk'
|
47
|
-
"""
|
48
|
-
And the file "lib/simon_game.rb" should contain "class SimonGame"
|
49
|
-
And the file "script/ahn" should contain "require 'adhearsion'"
|
@@ -1,71 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
Adhearsion.config do |config|
|
4
|
-
|
5
|
-
# Centralized way to specify any Adhearsion platform or plugin configuration
|
6
|
-
# - Execute rake config:show to view the active configuration values
|
7
|
-
#
|
8
|
-
# To update a plugin configuration you can write either:
|
9
|
-
#
|
10
|
-
# * Option 1
|
11
|
-
# Adhearsion.config.<plugin-name> do |config|
|
12
|
-
# config.<key> = <value>
|
13
|
-
# end
|
14
|
-
#
|
15
|
-
# * Option 2
|
16
|
-
# Adhearsion.config do |config|
|
17
|
-
# config.<plugin-name>.<key> = <value>
|
18
|
-
# end
|
19
|
-
|
20
|
-
config.development do |dev|
|
21
|
-
dev.platform.logging.level = :debug
|
22
|
-
end
|
23
|
-
|
24
|
-
##
|
25
|
-
# Use with Rayo (eg Voxeo PRISM or FreeSWITCH mod_rayo)
|
26
|
-
#
|
27
|
-
# config.punchblock.username = "" # Your XMPP JID for use with Rayo
|
28
|
-
# config.punchblock.password = "" # Your XMPP password
|
29
|
-
|
30
|
-
##
|
31
|
-
# Use with Asterisk
|
32
|
-
#
|
33
|
-
# config.punchblock.platform = :asterisk # Use Asterisk
|
34
|
-
# config.punchblock.username = "" # Your AMI username
|
35
|
-
# config.punchblock.password = "" # Your AMI password
|
36
|
-
# config.punchblock.host = "127.0.0.1" # Your AMI host
|
37
|
-
|
38
|
-
##
|
39
|
-
# Use with FreeSWITCH via EventSocket
|
40
|
-
#
|
41
|
-
# This configuration is no longer recommended and mod_rayo is preferred
|
42
|
-
#
|
43
|
-
# config.punchblock.platform = :freeswitch # Use FreeSWITCH
|
44
|
-
# config.punchblock.password = "" # Your Inbound EventSocket password
|
45
|
-
# config.punchblock.host = "127.0.0.1" # Your IES host
|
46
|
-
end
|
47
|
-
|
48
|
-
Adhearsion::Events.draw do
|
49
|
-
|
50
|
-
# Register global handlers for events
|
51
|
-
#
|
52
|
-
# eg. Handling Punchblock events
|
53
|
-
# punchblock do |event|
|
54
|
-
# ...
|
55
|
-
# end
|
56
|
-
#
|
57
|
-
# eg Handling PeerStatus AMI events
|
58
|
-
# ami :name => 'PeerStatus' do |event|
|
59
|
-
# ...
|
60
|
-
# end
|
61
|
-
#
|
62
|
-
end
|
63
|
-
|
64
|
-
Adhearsion.router do
|
65
|
-
|
66
|
-
#
|
67
|
-
# Specify your call routes, directing calls with particular attributes to a controller
|
68
|
-
#
|
69
|
-
|
70
|
-
route 'default', SimonGame
|
71
|
-
end
|