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/version.rb,
lib/adhearsion/console.rb,
lib/adhearsion/logging.rb,
lib/adhearsion/process.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/outbound_call.rb,
lib/adhearsion/configuration.rb,
lib/adhearsion/linux_proc_name.rb,
lib/adhearsion/call_controller.rb,
lib/adhearsion/plugin/collection.rb,
lib/adhearsion/script_ahn_loader.rb,
lib/adhearsion/punchblock_plugin.rb,
lib/adhearsion/plugin/initializer.rb,
lib/adhearsion/call_controller/dial.rb,
lib/adhearsion/router/evented_route.rb,
lib/adhearsion/generators/generator.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/router/unaccepting_route.rb,
lib/adhearsion/call_controller/menu_dsl.rb,
lib/adhearsion/generators/app/app_generator.rb,
lib/adhearsion/call_controller/output/player.rb,
lib/adhearsion/punchblock_plugin/initializer.rb,
lib/adhearsion/call_controller/menu_dsl/menu.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/match_calculator.rb,
lib/adhearsion/call_controller/menu_dsl/calculated_match.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/string_match_calculator.rb,
lib/adhearsion/call_controller/menu_dsl/fixnum_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

Error =
Class.new StandardError
VERSION =
'2.3.5'

Class Method Summary (collapse)

Class Method Details

+ (Object) active_calls



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

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

+ (Object) ahn_root=(path)

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

+ (Object) config(&block)



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

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

+ (Object) config=(config)



85
86
87
# File 'lib/adhearsion.rb', line 85

def config=(config)
  @config = config
end

+ (Object) deprecated(new_method)



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

+ (Object) environments



81
82
83
# File 'lib/adhearsion.rb', line 81

def environments
  config.valid_environments
end

+ (Object) initialize_config



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

def initialize_config
  _config = Configuration.new
  env = ENV['AHN_ENV'] || ENV['RAILS_ENV']
  env = env.to_sym if env.respond_to? :to_sym
  env = nil unless _config.valid_environment? env
  _config.platform.environment = env if env
  _config
end

+ (Pathname) root

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

+ (Object) root=(path)

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

+ (Object) router(&block)



89
90
91
# File 'lib/adhearsion.rb', line 89

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

+ (Object) router=(other)



93
94
95
# File 'lib/adhearsion.rb', line 93

def router=(other)
  @router = other
end

+ (Adhearsion::Statistics) statistics

A statistics aggregator object capable of producing stats dumps

Returns:



104
105
106
107
108
109
110
# File 'lib/adhearsion.rb', line 104

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

+ (Object) status



112
113
114
# File 'lib/adhearsion.rb', line 112

def status
  Adhearsion::Process.state_name
end