Module: Adhearsion

Extended by:
ActiveSupport::Autoload
Defined in:
lib/adhearsion/foundation/custom_daemonizer.rb,
lib/adhearsion.rb,
lib/adhearsion/call.rb,
lib/adhearsion/calls.rb,
lib/adhearsion/events.rb,
lib/adhearsion/plugin.rb,
lib/adhearsion/router.rb,
lib/adhearsion/console.rb,
lib/adhearsion/logging.rb,
lib/adhearsion/process.rb,
lib/adhearsion/version.rb,
lib/adhearsion/generators.rb,
lib/adhearsion/statistics.rb,
lib/adhearsion/initializer.rb,
lib/adhearsion/cli_commands.rb,
lib/adhearsion/router/route.rb,
lib/adhearsion/configuration.rb,
lib/adhearsion/outbound_call.rb,
lib/adhearsion/call_controller.rb,
lib/adhearsion/linux_proc_name.rb,
lib/adhearsion/plugin/collection.rb,
lib/adhearsion/punchblock_plugin.rb,
lib/adhearsion/script_ahn_loader.rb,
lib/adhearsion/plugin/initializer.rb,
lib/adhearsion/call_controller/dial.rb,
lib/adhearsion/generators/generator.rb,
lib/adhearsion/router/evented_route.rb,
lib/adhearsion/call_controller/input.rb,
lib/adhearsion/call_controller/output.rb,
lib/adhearsion/call_controller/record.rb,
lib/adhearsion/router/openended_route.rb,
lib/adhearsion/call_controller/utility.rb,
lib/adhearsion/call_controller/menu_dsl.rb,
lib/adhearsion/cli_commands/ahn_command.rb,
lib/adhearsion/cli_commands/thor_errors.rb,
lib/adhearsion/router/unaccepting_route.rb,
lib/adhearsion/cli_commands/plugin_command.rb,
lib/adhearsion/generators/app/app_generator.rb,
lib/adhearsion/call_controller/menu_dsl/menu.rb,
lib/adhearsion/call_controller/output/player.rb,
lib/adhearsion/punchblock_plugin/initializer.rb,
lib/adhearsion/call_controller/output/formatter.rb,
lib/adhearsion/generators/plugin/plugin_generator.rb,
lib/adhearsion/call_controller/output/async_player.rb,
lib/adhearsion/call_controller/menu_dsl/menu_builder.rb,
lib/adhearsion/call_controller/output/abstract_player.rb,
lib/adhearsion/call_controller/menu_dsl/calculated_match.rb,
lib/adhearsion/call_controller/menu_dsl/match_calculator.rb,
lib/adhearsion/generators/controller/controller_generator.rb,
lib/adhearsion/call_controller/menu_dsl/array_match_calculator.rb,
lib/adhearsion/call_controller/menu_dsl/range_match_calculator.rb,
lib/adhearsion/call_controller/menu_dsl/fixnum_match_calculator.rb,
lib/adhearsion/call_controller/menu_dsl/string_match_calculator.rb,
lib/adhearsion/call_controller/menu_dsl/calculated_match_collection.rb

Overview

This is largely based on the Daemonize library by Travis Whitton and Judson Lester. grub.ath.cx/daemonize. I cleaned it up a bit to meet Adhearsion’s quality standards.

Defined Under Namespace

Modules: CLI, CustomDaemonizer, Generators, LinuxProcName, Logging, Safely, ScriptAhnLoader Classes: Call, CallController, Calls, Configuration, Console, Events, Initializer, OutboundCall, Plugin, Process, PunchblockPlugin, Router, Statistics

Constant Summary collapse

Error =
Class.new StandardError
VERSION =
'2.5.0'

Class Method Summary collapse

Class Method Details

.active_callsObject



103
104
105
106
# File 'lib/adhearsion.rb', line 103

def active_calls
  Celluloid::Actor[:active_calls] || Calls.supervise_as(:active_calls)
  Celluloid::Actor[:active_calls]
end

.ahn_root=(path) ⇒ Object

Deprecated.

Use #root= instead



56
57
58
59
# File 'lib/adhearsion.rb', line 56

def ahn_root=(path)
  Adhearsion.deprecated "#Adhearsion.root="
  Adhearsion.root = path
end

.config(&block) ⇒ Object



61
62
63
64
65
# File 'lib/adhearsion.rb', line 61

def config(&block)
  @config ||= initialize_config
  block_given? and yield @config
  @config
end

.config=(config) ⇒ Object



91
92
93
# File 'lib/adhearsion.rb', line 91

def config=(config)
  @config = config
end

.deprecated(new_method) ⇒ Object



67
68
69
70
# File 'lib/adhearsion.rb', line 67

def deprecated(new_method)
  logger.info "#{caller[0]} - This method is deprecated, please use #{new_method}."
  logger.warn caller.join("\n")
end

.environmentObject



83
84
85
# File 'lib/adhearsion.rb', line 83

def environment
  ENV['AHN_ENV'] || ENV['RAILS_ENV'] || :development
end

.environmentsObject



87
88
89
# File 'lib/adhearsion.rb', line 87

def environments
  config.valid_environments
end

.initialize_configObject



72
73
74
75
76
77
78
79
80
81
# File 'lib/adhearsion.rb', line 72

def initialize_config
  _config = Configuration.new
  env = environment.to_sym if environment.respond_to? :to_sym
  unless _config.valid_environment? env
    puts  "You tried to initialize with an invalid environment name #{env}. Valid values are #{_config.valid_environments}."
    env = nil
  end
  _config.platform.environment = env if env
  _config
end

.rootPathname

Returns the current application path

Returns:

  • (Pathname)

    The application path



49
50
51
# File 'lib/adhearsion.rb', line 49

def root
  Adhearsion.config[:platform].root
end

.root=(path) ⇒ Object

Sets the application path @param The application path to set



41
42
43
# File 'lib/adhearsion.rb', line 41

def root=(path)
  Adhearsion.config[:platform].root = path.nil? ? nil : File.expand_path(path)
end

.router(&block) ⇒ Object



95
96
97
# File 'lib/adhearsion.rb', line 95

def router(&block)
  @router ||= Router.new(&block || Proc.new {})
end

.router=(other) ⇒ Object



99
100
101
# File 'lib/adhearsion.rb', line 99

def router=(other)
  @router = other
end

.statisticsAdhearsion::Statistics

Returns a statistics aggregator object capable of producing stats dumps.

Returns:



110
111
112
113
114
115
116
# File 'lib/adhearsion.rb', line 110

def statistics
  unless Celluloid::Actor[:statistics]
    Statistics.supervise_as :statistics
    Statistics.setup_event_handlers
  end
  Celluloid::Actor[:statistics]
end

.statusObject



118
119
120
# File 'lib/adhearsion.rb', line 118

def status
  Adhearsion::Process.state_name
end