Module: Stealth

Defined in:
lib/stealth/cli.rb,
lib/stealth/base.rb,
lib/stealth/jobs.rb,
lib/stealth/reply.rb,
lib/stealth/errors.rb,
lib/stealth/logger.rb,
lib/stealth/server.rb,
lib/stealth/session.rb,
lib/stealth/version.rb,
lib/stealth/cli_base.rb,
lib/stealth/flow/base.rb,
lib/stealth/controller.rb,
lib/stealth/dispatcher.rb,
lib/stealth/flow/event.rb,
lib/stealth/flow/state.rb,
lib/stealth/flow/errors.rb,
lib/stealth/configuration.rb,
lib/stealth/service_reply.rb,
lib/stealth/commands/server.rb,
lib/stealth/scheduled_reply.rb,
lib/stealth/service_message.rb,
lib/stealth/commands/command.rb,
lib/stealth/commands/console.rb,
lib/stealth/flow/specification.rb,
lib/stealth/services/base_client.rb,
lib/stealth/flow/event_collection.rb,
lib/stealth/services/facebook/setup.rb,
lib/stealth/services/facebook/client.rb,
lib/stealth/services/base_reply_handler.rb,
lib/stealth/services/base_message_handler.rb,
lib/stealth/services/facebook/reply_handler.rb,
lib/stealth/services/jobs/handle_message_job.rb,
lib/stealth/services/facebook/message_handler.rb,
lib/stealth/services/facebook/events/message_event.rb,
lib/stealth/services/facebook/events/postback_event.rb

Defined Under Namespace

Modules: CliBase, Commands, Flow, Services, Version Classes: Cli, Configuration, Controller, Dispatcher, Errors, Jobs, Logger, Reply, ScheduledReplyJob, Server, ServiceMessage, ServiceReply, Session

Constant Summary collapse

VERSION =
Version.version

Class Method Summary collapse

Class Method Details

.bootObject



36
37
38
# File 'lib/stealth/base.rb', line 36

def self.boot
  load_environment
end

.configObject



40
41
42
# File 'lib/stealth/base.rb', line 40

def self.config
  @configuration
end

.envObject



28
29
30
# File 'lib/stealth/base.rb', line 28

def self.env
  @env ||= ActiveSupport::StringInquirer.new(ENV['STEALTH_ENV'] || 'development')
end

.load_environmentObject



68
69
70
71
72
# File 'lib/stealth/base.rb', line 68

def self.load_environment
  require File.join(Stealth.root, 'config', 'boot')
  require_directory("config/initializers")
  require_directory("bot")
end

.load_services_config(services_yaml) ⇒ Object

Loads the services.yml configuration unless one has already been loaded



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/stealth/base.rb', line 45

def self.load_services_config(services_yaml)
  @semaphore ||= Mutex.new

  @configuration ||= begin
    @semaphore.synchronize do
      services_config = YAML.load(ERB.new(services_yaml).result)

      unless services_config.has_key?(env)
        raise Stealth::Errors::ConfigurationError, "Could not find services.yml configuration for #{env} environment."
      end

      Stealth::Configuration.new(services_config[env])
    end
  end
end

.load_services_config!(services_yaml) ⇒ Object

Same as ‘load_services_config` but forces the loading even if one has already been loaded



63
64
65
66
# File 'lib/stealth/base.rb', line 63

def self.load_services_config!(services_yaml)
  @configuration = nil
  load_services_config(services_yaml)
end

.rootObject



32
33
34
# File 'lib/stealth/base.rb', line 32

def self.root
  @root ||= File.expand_path(Pathname.new(Dir.pwd))
end