mirror of
https://github.com/plashchynski/crono.git
synced 2026-04-25 10:18:49 +02:00
Add option -e to set environment
This commit is contained in:
@@ -90,6 +90,7 @@ Usage: crono [options]
|
||||
-L, --logfile PATH Path to writable logfile (Default: log/crono.log)
|
||||
-P, --pidfile PATH Path to pidfile (Default: tmp/pids/crono.pid)
|
||||
-d, --[no-]daemonize Daemonize process (Default: false)
|
||||
-e, --environment ENV Application environment (Default: development)
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
@@ -53,6 +53,7 @@ module Crono
|
||||
end
|
||||
|
||||
def load_rails
|
||||
ENV['RACK_ENV'] = ENV['RAILS_ENV'] = config.environment
|
||||
require 'rails'
|
||||
require File.expand_path("config/environment.rb")
|
||||
::Rails.application.eager_load!
|
||||
@@ -92,6 +93,9 @@ module Crono
|
||||
config.daemonize = daemonize
|
||||
end
|
||||
|
||||
opts.on '-e', '--environment ENV', "Application environment (Default: #{config.environment})" do |env|
|
||||
config.environment = env
|
||||
end
|
||||
end.parse!(argv)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -8,12 +8,14 @@ module Crono
|
||||
attr_accessor :logfile
|
||||
attr_accessor :pidfile
|
||||
attr_accessor :daemonize
|
||||
attr_accessor :environment
|
||||
|
||||
def initialize
|
||||
self.cronotab = CRONOTAB
|
||||
self.logfile = LOGFILE
|
||||
self.pidfile = PIDFILE
|
||||
self.daemonize = false
|
||||
self.environment = ENV['RAILS_ENV'] || ENV['RACK_ENV'] || "development"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -49,5 +49,10 @@ describe Crono::CLI do
|
||||
cli.send(:parse_options, ["--daemonize"])
|
||||
expect(cli.config.daemonize).to be true
|
||||
end
|
||||
|
||||
it "should set environment" do
|
||||
cli.send(:parse_options, ["--environment", "production"])
|
||||
expect(cli.config.environment).to be_eql("production")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -3,11 +3,13 @@ require "spec_helper"
|
||||
describe Crono::Config do
|
||||
describe "#initialize" do
|
||||
it "should initialize with default configuration options" do
|
||||
ENV["RAILS_ENV"] = "test"
|
||||
@config = Crono::Config.new
|
||||
expect(@config.cronotab).to be Crono::Config::CRONOTAB
|
||||
expect(@config.logfile).to be Crono::Config::LOGFILE
|
||||
expect(@config.pidfile).to be Crono::Config::PIDFILE
|
||||
expect(@config.daemonize).to be false
|
||||
expect(@config.environment).to be_eql ENV["RAILS_ENV"]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user