spec/support/suite.rb in tengine_support-0.3.5 vs spec/support/suite.rb in tengine_support-0.3.6

- old
+ new

@@ -101,5 +101,67 @@ [:db, :password] => :S, }) end end + + + + +# build_suite1 との違いは、Tengine::Support::Config::Definition::Suiteを直接newするのではなく +# 継承したものをnewしている点です。それ以外は変わりません +def build_suite3(*args) + ConfigSuite3.new(*args) +end + +class ConfigSuite3 < Tengine::Support::Config::Definition::Suite + def build + banner <<EOS +Usage: config_test [-k action] [-f path_to_config] + [-H db_host] [-P db_port] [-U db_user] [-S db_pass] [-B db_database] + +EOS + + field(:action, "test|load|start|enable|stop|force-stop|status|activate", :type => :string, :default => "start") + load_config(:config, "path/to/config_file", :type => :string) + add(:process, App1::ProcessConfig) + add(:db, Tengine::Support::Config::Mongoid::Connection, :defaults => {:database => "tengine_production"}) + group(:event_queue, :hidden => true) do + add(:connection, Tengine::Support::Config::Amqp::Connection) + add(:exchange , Tengine::Support::Config::Amqp::Exchange, :defaults => {:name => 'tengine_event_exchange'}) + add(:queue , Tengine::Support::Config::Amqp::Queue , :defaults => {:name => 'tengine_event_queue'}) + end + hide_about_rotation = proc do + find(:rotation).hidden = true; find(:rotation_size).hidden = true + end + add(:log_common, Tengine::Support::Config::Logger, + :defaults => { + :rotation => 3 , + :rotation_size => 1024 * 1024, + :level => 'info' , + }, &hide_about_rotation) + add(:application_log, App1::LoggerConfig, + :logger_name => "application", + :dependencies => { :process_config => :process, :log_common => :log_common,}, &hide_about_rotation) + add(:process_stdout_log, App1::LoggerConfig, + :logger_name => "#{File.basename($PROGRAM_NAME)}_stdout", + :dependencies => { :process_config => :process, :log_common => :log_common,}, &hide_about_rotation) + add(:process_stderr_log, App1::LoggerConfig, + :logger_name => "#{File.basename($PROGRAM_NAME)}_stderr", + :dependencies => { :process_config => :process, :log_common => :log_common,}, &hide_about_rotation) + separator("\nGeneral:") + __action__(:version, "show version"){ STDOUT.puts "1.1.1"; exit } + __action__(:dump_skelton, "dump skelton of config"){ STDOUT.puts YAML.dump(root.to_hash); exit } + __action__(:help , "show this help message"){ STDOUT.puts option_parser.help; exit } + + mapping({ + [:action] => :k, + [:config] => :f, + [:process, :daemon] => :D, + [:db, :host] => :O, + [:db, :port] => :P, + [:db, :username] => :U, + [:db, :password] => :S, + }) + + end +end