adhearsion 2.4.0 → 2.5.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.
- 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
|