Class: ActiveDomain::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/active_domain/server.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(new_options = nil) ⇒ Server

Returns a new instance of Server.



11
12
13
# File 'lib/active_domain/server.rb', line 11

def initialize(new_options = nil)
  self.options = new_options.deep_symbolize_keys! unless new_options.nil?
end

Instance Attribute Details

#domainObject



37
38
39
# File 'lib/active_domain/server.rb', line 37

def domain
  @domain ||= ActiveDomain::CommandRoutes.new
end

#optionsObject



33
34
35
# File 'lib/active_domain/server.rb', line 33

def options
  @options ||= parse_options(ARGV)
end

Class Method Details

.run(options = nil) ⇒ Object



7
8
9
# File 'lib/active_domain/server.rb', line 7

def self.run(options = nil)
  self.new(options).run
end

Instance Method Details

#config_fileObject



44
45
46
# File 'lib/active_domain/server.rb', line 44

def config_file
  self.class.config_file || File.expand_path('config/disco.yml', base_path)
end

#envObject



29
30
31
# File 'lib/active_domain/server.rb', line 29

def env
  @env = ENV['DOMAIN_ENV'] || ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development'
end

#runObject



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/active_domain/server.rb', line 15

def run
  ActiveRecord::Base.establish_connection options[:domain_database]
  ActiveEvent::EventServer.start options
  drb_uri = URI::Generic.build(options[:drb_server]).to_s
  DRb.start_service(drb_uri, domain, options.fetch(:drb_config, {}))
  DRb.thread.join
rescue Interrupt
  LOGGER.info 'Catching Interrupt'
rescue Exception => e
  LOGGER.error e.message
  LOGGER.error e.backtrace.join("\n")
  raise e
end