daemon_objects 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,10 +21,6 @@ class DaemonObjects::Base
21
21
  @app_directory ||= (defined? Rails) ? Rails.root : Rake.original_dir
22
22
  end
23
23
 
24
- def self.environment
25
- @environment ||= (defined? Rails) ? Rails.env : (ENV["DAEMON_ENV"] || "development")
26
- end
27
-
28
24
  def self.pid_directory
29
25
  File.join(app_directory, "tmp/pids")
30
26
  end
@@ -38,14 +34,9 @@ class DaemonObjects::Base
38
34
  end
39
35
 
40
36
  def self.get_consumer
41
- consumer_class.new(:logger => logger, :app_directory => app_directory, :environment => environment)
42
- rescue Exception => e
43
- logger.error("An exception occured while instantiating the consumer #{consumer_class}. Startup will be aborted.")
44
- logger.error("Error: #{e.class}")
45
- logger.error("Message: #{e.message}")
46
- logger.error(e.backtrace.join("\n"))
47
- Airbrake.notify(e) if defined?(Airbrake)
48
- raise e
37
+ consumer_class.new(:logger => logger,
38
+ :app_directory => app_directory,
39
+ :environment => DaemonObjects.environment)
49
40
  end
50
41
 
51
42
  def self.run
@@ -1,3 +1,4 @@
1
+ require_relative 'loader'
1
2
  namespace :daemon do
2
3
 
3
4
  # create tasks for each daemon to start/stop/restart/run
@@ -8,10 +9,14 @@ namespace :daemon do
8
9
  desc "starts the #{description}; can substitute stop or restart for start, " +
9
10
  "or use run to run the daemon in the foreground"
10
11
 
11
- [:start, :stop, :run].each do |action|
12
- task action do
13
- Rake::Task[:environment].invoke if Rake::Task.task_defined?(:environment)
14
12
 
13
+ task :daemon_environment do
14
+ Rake::Task[:environment].invoke if Rake::Task.task_defined?(:environment)
15
+ DaemonObjects.initialize_environment
16
+ end
17
+
18
+ [:start, :stop, :run].each do |action|
19
+ task action => [:daemon_environment] do
15
20
  require "daemon_objects"
16
21
  require "#{DaemonObjects.daemon_path}/#{daemon}_daemon.rb"
17
22
  require "#{DaemonObjects.daemon_path}/#{daemon}_consumer.rb"
@@ -1,3 +1,3 @@
1
1
  module DaemonObjects
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
@@ -4,7 +4,15 @@ require 'daemons'
4
4
  require 'logger'
5
5
  require 'bunny'
6
6
 
7
- module DaemonObjects; end
7
+ module DaemonObjects;
8
+ class << self
9
+ attr_accessor :environment
10
+
11
+ def initialize_environment
12
+ @environment = (defined? Rails) ? Rails.env : (ENV["DAEMON_ENV"] || "development")
13
+ end
14
+ end
15
+ end
8
16
 
9
17
  require 'daemon_objects/loader'
10
18
  require 'daemon_objects/amqp'
@@ -42,45 +42,6 @@ describe DaemonObjects::Base do
42
42
  end
43
43
  end
44
44
 
45
- describe '#environment' do
46
- context 'Rails' do
47
- before :each do
48
- Rails = Module.new do
49
- def self.env
50
- "railsenv"
51
- end
52
- end
53
- end
54
-
55
- after :each do
56
- Object.send(:remove_const, :Rails)
57
- end
58
-
59
- it 'should use Rails.env if Rails is defined' do
60
- MyDaemon = Class.new(DaemonObjects::Base)
61
- MyDaemon.environment.should == Rails.env
62
- end
63
- end
64
-
65
- context 'Env variable set' do
66
- before :each do
67
- ENV["DAEMON_ENV"] = "daemonenv"
68
- end
69
- after :each do
70
- ENV["DAEMON_ENV"] = nil
71
- end
72
- it 'should use environment variable if Rails is not defined' do
73
- MyDaemon = Class.new(DaemonObjects::Base)
74
- MyDaemon.environment.should == ENV["DAEMON_ENV"]
75
- end
76
- end
77
-
78
- it 'should be development if not Rails and no environment set' do
79
- MyDaemon = Class.new(DaemonObjects::Base)
80
- MyDaemon.environment.should == "development"
81
- end
82
- end
83
-
84
45
  describe '#extends' do
85
46
  it 'should extend logging' do
86
47
  MyDaemon = Class.new(DaemonObjects::Base)
@@ -173,10 +134,7 @@ describe DaemonObjects::Base do
173
134
  end
174
135
 
175
136
  it 'should set environment' do
176
- def MyDaemon.environment
177
- "theenv"
178
- end
179
-
137
+ DaemonObjects.environment = "theenv"
180
138
  consumer.environment.should == "theenv"
181
139
  end
182
140
 
@@ -14,4 +14,46 @@ describe DaemonObjects do
14
14
  DaemonObjects.get_daemon_name(path).should == "daemon_one"
15
15
  end
16
16
  end
17
+
18
+ describe '#environment' do
19
+ before :each do
20
+ DaemonObjects.initialize_environment
21
+ end
22
+
23
+ context 'Rails' do
24
+ before :each do
25
+ Rails = Module.new do
26
+ def self.env
27
+ "railsenv"
28
+ end
29
+ end
30
+ DaemonObjects.initialize_environment
31
+ end
32
+
33
+ after :each do
34
+ Object.send(:remove_const, :Rails)
35
+ end
36
+
37
+ it 'should use Rails.env if Rails is defined' do
38
+ DaemonObjects.environment.should == Rails.env
39
+ end
40
+ end
41
+
42
+ context 'Env variable set' do
43
+ before :each do
44
+ ENV["DAEMON_ENV"] = "daemonenv"
45
+ DaemonObjects.initialize_environment
46
+ end
47
+ after :each do
48
+ ENV["DAEMON_ENV"] = nil
49
+ end
50
+ it 'should use environment variable if Rails is not defined' do
51
+ DaemonObjects.environment.should == ENV["DAEMON_ENV"]
52
+ end
53
+ end
54
+
55
+ it 'should be development if not Rails and no environment set' do
56
+ DaemonObjects.environment.should == "development"
57
+ end
58
+ end
17
59
  end
data/spec/spec_helper.rb CHANGED
@@ -26,3 +26,4 @@ end
26
26
 
27
27
  require 'rake'
28
28
  require File.join(File.dirname(__FILE__), "../lib/daemon_objects.rb")
29
+ DaemonObjects.initialize_environment
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: daemon_objects
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-11-17 00:00:00.000000000 Z
12
+ date: 2014-11-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: daemons
@@ -149,7 +149,7 @@ files:
149
149
  - lib/daemon_objects/loader.rb
150
150
  - lib/daemon_objects/logging.rb
151
151
  - lib/daemon_objects/railtie.rb
152
- - lib/daemon_objects/tasks/daemon_objects.rake
152
+ - lib/daemon_objects/rake.rb
153
153
  - lib/daemon_objects/version.rb
154
154
  - spec/fixtures/daemon_path_spec/daemon_one_daemon.rb
155
155
  - spec/fixtures/daemon_path_spec/daemon_two_daemon.rb