adhearsion 2.4.0 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -3
  3. data/CHANGELOG.md +29 -0
  4. data/Gemfile +0 -2
  5. data/Guardfile +2 -2
  6. data/README.markdown +3 -6
  7. data/Rakefile +1 -1
  8. data/adhearsion.gemspec +7 -2
  9. data/features/cli_create.feature +85 -7
  10. data/features/plugin_generator.feature +4 -0
  11. data/features/step_definitions/app_generator_steps.rb +8 -1
  12. data/lib/adhearsion.rb +6 -3
  13. data/lib/adhearsion/call.rb +101 -30
  14. data/lib/adhearsion/call_controller.rb +40 -12
  15. data/lib/adhearsion/call_controller/dial.rb +119 -36
  16. data/lib/adhearsion/call_controller/input.rb +11 -5
  17. data/lib/adhearsion/call_controller/output.rb +47 -33
  18. data/lib/adhearsion/call_controller/output/async_player.rb +3 -2
  19. data/lib/adhearsion/call_controller/output/formatter.rb +7 -2
  20. data/lib/adhearsion/call_controller/output/player.rb +2 -2
  21. data/lib/adhearsion/call_controller/record.rb +16 -13
  22. data/lib/adhearsion/call_controller/utility.rb +3 -3
  23. data/lib/adhearsion/calls.rb +21 -8
  24. data/lib/adhearsion/cli_commands/ahn_command.rb +1 -0
  25. data/lib/adhearsion/configuration.rb +2 -2
  26. data/lib/adhearsion/console.rb +3 -2
  27. data/lib/adhearsion/generators.rb +7 -9
  28. data/lib/adhearsion/generators/app/app_generator.rb +12 -2
  29. data/lib/adhearsion/generators/app/templates/Gemfile.erb +7 -9
  30. data/lib/adhearsion/generators/app/templates/README.md +0 -19
  31. data/lib/adhearsion/generators/app/templates/adhearsion.erb +37 -0
  32. data/lib/adhearsion/generators/app/templates/config/environment.rb +6 -1
  33. data/lib/adhearsion/generators/app/templates/events.erb +18 -0
  34. data/lib/adhearsion/generators/app/templates/routes.erb +19 -0
  35. data/lib/adhearsion/generators/app/templates/{lib/simon_game.rb → simon_game.rb} +0 -0
  36. data/lib/adhearsion/generators/app/templates/{spec/call_controllers/simon_game_spec.rb → simon_game_spec.rb} +0 -0
  37. data/lib/adhearsion/generators/controller/controller_generator.rb +2 -2
  38. data/lib/adhearsion/generators/controller/templates/lib/{controller.rb → controller.rb.erb} +0 -0
  39. data/lib/adhearsion/generators/controller/templates/spec/{controller_spec.rb → controller_spec.rb.erb} +0 -0
  40. data/lib/adhearsion/generators/plugin/plugin_generator.rb +16 -15
  41. data/lib/adhearsion/generators/plugin/templates/gitignore +17 -0
  42. data/lib/adhearsion/generators/plugin/templates/spec/plugin-template/controller_methods_spec.rb.tt +1 -1
  43. data/lib/adhearsion/initializer.rb +14 -2
  44. data/lib/adhearsion/logging.rb +1 -0
  45. data/lib/adhearsion/outbound_call.rb +3 -7
  46. data/lib/adhearsion/punchblock_plugin/initializer.rb +3 -2
  47. data/lib/adhearsion/router/openended_route.rb +1 -1
  48. data/lib/adhearsion/router/route.rb +4 -3
  49. data/lib/adhearsion/version.rb +1 -1
  50. data/spec/adhearsion/call_controller/dial_spec.rb +811 -79
  51. data/spec/adhearsion/call_controller/output/formatter_spec.rb +13 -1
  52. data/spec/adhearsion/call_controller/output_spec.rb +35 -1
  53. data/spec/adhearsion/call_controller_spec.rb +174 -18
  54. data/spec/adhearsion/call_spec.rb +423 -39
  55. data/spec/adhearsion/calls_spec.rb +19 -3
  56. data/spec/adhearsion/outbound_call_spec.rb +88 -45
  57. data/spec/adhearsion/punchblock_plugin/initializer_spec.rb +3 -3
  58. data/spec/adhearsion/router/route_spec.rb +2 -2
  59. data/spec/spec_helper.rb +2 -0
  60. metadata +92 -77
  61. data/features/app_generator.feature +0 -49
  62. data/lib/adhearsion/generators/app/templates/config/adhearsion.rb +0 -71
  63. 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
@@ -1,9 +0,0 @@
1
- *.swp
2
- *.swo
3
- Gemfile.lock
4
- coverage/
5
- vendor/
6
- .bundle/
7
- .DS_Store
8
- pkg/*
9
- *.gem