tengine_support 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.3
1
+ 0.3.4
@@ -104,6 +104,16 @@ module Tengine::Support::Config::Definition
104
104
  (children || []).detect{|child| child.__name__ == __name__}
105
105
  end
106
106
 
107
+ def find(name_array)
108
+ name_array = Array(name_array)
109
+ head = name_array.shift
110
+ if child = child_by_name(head)
111
+ name_array.empty? ? child : child.find(name_array)
112
+ else
113
+ nil
114
+ end
115
+ end
116
+
107
117
  def to_hash
108
118
  children.inject({}) do |dest, child|
109
119
  dest[child.__name__] = child.to_hash
@@ -2,7 +2,7 @@ require 'tengine/support/config/definition'
2
2
 
3
3
  class Tengine::Support::Config::Definition::Field
4
4
  attr_accessor :__name__, :__parent__, :__block__, :__type__
5
- attr_accessor :type, :default_description, :default, :description
5
+ attr_accessor :type, :default_description, :default, :description, :hidden
6
6
  def initialize(attrs = {})
7
7
  attrs.each{|k, v| send("#{k}=", v)}
8
8
  end
@@ -11,6 +11,8 @@ class Tengine::Support::Config::Definition::Field
11
11
  def action?; @__type__ == :action; end
12
12
  def separator?; @__type__ == :separator; end
13
13
 
14
+ def hidden?; !!self.hidden; end
15
+
14
16
  def update(attrs)
15
17
  attrs.each{|k, v| send("#{k}=", v)}
16
18
  end
@@ -15,4 +15,8 @@ class Tengine::Support::Config::Definition::Group
15
15
  __parent__.root
16
16
  end
17
17
 
18
+ def hidden?
19
+ !!@options[:hidden]
20
+ end
21
+
18
22
  end
@@ -43,8 +43,8 @@ module Tengine::Support::Config::Definition::HasManyChildren
43
43
  end
44
44
 
45
45
  children << result
46
- result.instance_eval(&block) if block
47
46
  (class << self; self; end).class_eval{ define_method(__name__){ result } }
47
+ result.instance_eval(&block) if block
48
48
  result
49
49
  end
50
50
 
@@ -133,7 +133,11 @@ module Tengine::Support::Config::Definition::HasManyChildren
133
133
  hash.each do |__name__, value|
134
134
  child = child_by_name(__name__)
135
135
  raise "child not found for #{__name__.inspect} on #{__name__}" unless child
136
- child.load(value)
136
+ if child.is_a?(Tengine::Support::Config::Definition::Field)
137
+ self.send("#{__name__}=", value)
138
+ else
139
+ child.load(value)
140
+ end
137
141
  end
138
142
  end
139
143
 
@@ -14,6 +14,7 @@ class Tengine::Support::Config::Definition::OptparseVisitor
14
14
  alias_method :o, :option_parser
15
15
 
16
16
  def visit(d)
17
+ return if d.respond_to?(:hidden?) && d.hidden?
17
18
  case d
18
19
  when Tengine::Support::Config::Definition::Suite then
19
20
  option_parser.banner = d.banner
@@ -1,3 +1,4 @@
1
+ # -*- coding: utf-8 -*-
1
2
  def build_suite1
2
3
  Tengine::Support::Config.suite do
3
4
  banner <<EOS
@@ -10,7 +11,62 @@ EOS
10
11
  load_config(:config, "path/to/config_file", :type => :string)
11
12
  add(:process, App1::ProcessConfig)
12
13
  add(:db, Tengine::Support::Config::Mongoid::Connection, :defaults => {:database => "tengine_production"})
13
- group(:event_queue) do
14
+ group(:event_queue, :hidden => true) do
15
+ add(:connection, Tengine::Support::Config::Amqp::Connection)
16
+ add(:exchange , Tengine::Support::Config::Amqp::Exchange, :defaults => {:name => 'tengine_event_exchange'})
17
+ add(:queue , Tengine::Support::Config::Amqp::Queue , :defaults => {:name => 'tengine_event_queue'})
18
+ end
19
+ hide_about_rotation = proc do
20
+ find(:rotation).hidden = true; find(:rotation_size).hidden = true
21
+ end
22
+ add(:log_common, Tengine::Support::Config::Logger,
23
+ :defaults => {
24
+ :rotation => 3 ,
25
+ :rotation_size => 1024 * 1024,
26
+ :level => 'info' ,
27
+ }, &hide_about_rotation)
28
+ add(:application_log, App1::LoggerConfig,
29
+ :logger_name => "application",
30
+ :dependencies => { :process_config => :process, :log_common => :log_common,}, &hide_about_rotation)
31
+ add(:process_stdout_log, App1::LoggerConfig,
32
+ :logger_name => "#{File.basename($PROGRAM_NAME)}_stdout",
33
+ :dependencies => { :process_config => :process, :log_common => :log_common,}, &hide_about_rotation)
34
+ add(:process_stderr_log, App1::LoggerConfig,
35
+ :logger_name => "#{File.basename($PROGRAM_NAME)}_stderr",
36
+ :dependencies => { :process_config => :process, :log_common => :log_common,}, &hide_about_rotation)
37
+ separator("\nGeneral:")
38
+ __action__(:version, "show version"){ STDOUT.puts "1.1.1"; exit }
39
+ __action__(:dump_skelton, "dump skelton of config"){ STDOUT.puts YAML.dump(root.to_hash); exit }
40
+ __action__(:help , "show this help message"){ STDOUT.puts option_parser.help; exit }
41
+
42
+ mapping({
43
+ [:action] => :k,
44
+ [:config] => :f,
45
+ [:process, :daemon] => :D,
46
+ [:db, :host] => :O,
47
+ [:db, :port] => :P,
48
+ [:db, :username] => :U,
49
+ [:db, :password] => :S,
50
+ })
51
+ end
52
+
53
+ end
54
+
55
+ # build_suite1 との違いは、:dbが Tengine::Support::Config::Mongoid::Connectionではなくて、
56
+ # 単なるhashのfieldとして定義している点です
57
+ def build_suite2
58
+ Tengine::Support::Config.suite do
59
+ banner <<EOS
60
+ Usage: config_test [-k action] [-f path_to_config]
61
+ [-H db_host] [-P db_port] [-U db_user] [-S db_pass] [-B db_database]
62
+
63
+ EOS
64
+
65
+ field(:action, "test|load|start|enable|stop|force-stop|status|activate", :type => :string, :default => "start")
66
+ load_config(:config, "path/to/config_file", :type => :string)
67
+ add(:process, App1::ProcessConfig)
68
+ field(:db, "settings to connect to db", :type => :hash)
69
+ group(:event_queue, :hidden => true) do
14
70
  add(:connection, Tengine::Support::Config::Amqp::Connection)
15
71
  add(:exchange , Tengine::Support::Config::Amqp::Exchange, :defaults => {:name => 'tengine_event_exchange'})
16
72
  add(:queue , Tengine::Support::Config::Amqp::Queue , :defaults => {:name => 'tengine_event_queue'})
@@ -32,6 +88,7 @@ EOS
32
88
  :dependencies => { :process_config => :process, :log_common => :log_common,})
33
89
  separator("\nGeneral:")
34
90
  __action__(:version, "show version"){ STDOUT.puts "1.1.1"; exit }
91
+ __action__(:dump_skelton, "dump skelton of config"){ STDOUT.puts YAML.dump(root.to_hash); exit }
35
92
  __action__(:help , "show this help message"){ STDOUT.puts option_parser.help; exit }
36
93
 
37
94
  mapping({
@@ -46,4 +103,3 @@ EOS
46
103
  end
47
104
 
48
105
  end
49
-
@@ -49,10 +49,11 @@ describe 'Tengine::Support::Config::Logger' do
49
49
 
50
50
  context "ファイル名の場合" do
51
51
  before do
52
- @filepath = Tempfile.new("test.log")
52
+ @tempfile = Tempfile.new("test.log")
53
+ @filepath = @tempfile.path
53
54
  end
54
55
  after do
55
- @filepath.close
56
+ @tempfile.close
56
57
  end
57
58
 
58
59
  %w[daily weekly monthly].each do |shift_age|
@@ -123,7 +123,7 @@ describe "config" do
123
123
  subject.children.map(&:__name__).should == [
124
124
  :action, :config,
125
125
  :process, :db, :event_queue, :log_common,
126
- :application_log, :process_stdout_log, :process_stderr_log, :separator10, :version, :help]
126
+ :application_log, :process_stdout_log, :process_stderr_log, :separator10, :version, :dump_skelton, :help]
127
127
  end
128
128
 
129
129
  context "suite returns child by name" do
@@ -0,0 +1,136 @@
1
+ # -*- coding: utf-8 -*-
2
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
3
+
4
+ require 'tengine/support/yaml_with_erb'
5
+
6
+ describe "dump_skelton" do
7
+ context :suite1 do
8
+ suite1_skelton = {
9
+ :action => 'start',
10
+ :config => nil,
11
+ :process => {
12
+ :daemon => nil,
13
+ :pid_dir => nil,
14
+ },
15
+ :db => {
16
+ :host => 'localhost',
17
+ :port => 27017,
18
+ :username => nil,
19
+ :password => nil,
20
+ :database => 'tengine_production'
21
+ },
22
+ :event_queue => {
23
+ :connection => {
24
+ :host => 'localhost',
25
+ :port => 5672,
26
+ :vhost => nil,
27
+ :user => nil,
28
+ :pass => nil,
29
+ },
30
+ :exchange => {
31
+ :name => 'tengine_event_exchange',
32
+ :type => 'direct',
33
+ :durable => true,
34
+ },
35
+ :queue => {
36
+ :name => 'tengine_event_queue',
37
+ :durable => true,
38
+ },
39
+ },
40
+
41
+ :log_common => {
42
+ :output => nil ,
43
+ :rotation => 3 ,
44
+ :rotation_size => 1024 * 1024,
45
+ :level => 'info' ,
46
+ }.freeze,
47
+
48
+ :application_log => {
49
+ :output => "STDOUT",
50
+ :rotation=>3, :rotation_size=>1048576, :level=>"info"
51
+ }.freeze,
52
+
53
+ :process_stdout_log => {
54
+ :output => "STDOUT",
55
+ :rotation=>3, :rotation_size=>1048576, :level=>"info"
56
+ }.freeze,
57
+
58
+ :process_stderr_log => {
59
+ :output => "STDOUT",
60
+ :rotation=>3, :rotation_size=>1048576, :level=>"info"
61
+ }.freeze,
62
+ }
63
+
64
+ it do
65
+ @suite = build_suite1
66
+ STDOUT.should_receive(:puts).with(YAML.dump(suite1_skelton))
67
+ expect{
68
+ @suite.parse!(%w[--dump-skelton])
69
+ }.to raise_error(SystemExit)
70
+ end
71
+ end
72
+
73
+
74
+ context :suite2 do
75
+ suite2_skelton = {
76
+ :action => 'start',
77
+ :config => nil,
78
+ :process => {
79
+ :daemon => nil,
80
+ :pid_dir => nil,
81
+ },
82
+ :db => nil,
83
+ :event_queue => {
84
+ :connection => {
85
+ :host => 'localhost',
86
+ :port => 5672,
87
+ :vhost => nil,
88
+ :user => nil,
89
+ :pass => nil,
90
+ },
91
+ :exchange => {
92
+ :name => 'tengine_event_exchange',
93
+ :type => 'direct',
94
+ :durable => true,
95
+ },
96
+ :queue => {
97
+ :name => 'tengine_event_queue',
98
+ :durable => true,
99
+ },
100
+ },
101
+
102
+ :log_common => {
103
+ :output => nil ,
104
+ :rotation => 3 ,
105
+ :rotation_size => 1024 * 1024,
106
+ :level => 'info' ,
107
+ }.freeze,
108
+
109
+ :application_log => {
110
+ :output => "STDOUT",
111
+ :rotation=>3, :rotation_size=>1048576, :level=>"info"
112
+ }.freeze,
113
+
114
+ :process_stdout_log => {
115
+ :output => "STDOUT",
116
+ :rotation=>3, :rotation_size=>1048576, :level=>"info"
117
+ }.freeze,
118
+
119
+ :process_stderr_log => {
120
+ :output => "STDOUT",
121
+ :rotation=>3, :rotation_size=>1048576, :level=>"info"
122
+ }.freeze,
123
+ }
124
+
125
+ it do
126
+ @suite = build_suite2
127
+ STDOUT.should_receive(:puts).with(YAML.dump(suite2_skelton))
128
+ expect{
129
+ @suite.parse!(%w[--dump-skelton])
130
+ }.to raise_error(SystemExit)
131
+ end
132
+
133
+ end
134
+
135
+ end
136
+
@@ -4,19 +4,13 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
4
4
  require 'tengine/support/yaml_with_erb'
5
5
 
6
6
  describe "config" do
7
- shared_examples_for "load_spec_01.yml's data" do
7
+ shared_examples_for "load_spec_01.yml's data common" do
8
8
  describe "accessors" do
9
9
  it { subject.action.should == nil}
10
10
  it { subject.config.should == nil}
11
11
  it { subject.process.should be_a(App1::ProcessConfig) }
12
12
  it { subject.process.daemon.should == true}
13
13
  it { subject.process.pid_dir.should == "./tmp/pids"}
14
- it { subject.db.should be_a(Tengine::Support::Config::Mongoid::Connection) }
15
- it { subject.db.host.should == "localhost"}
16
- it { subject.db.port.should == 27020}
17
- it { subject.db.username.should == nil}
18
- it { subject.db.password.should == nil}
19
- it { subject.db.database.should == "tengine_production"}
20
14
  it { subject.event_queue.connection.host.should == "rabbitmq1"}
21
15
  it { subject.event_queue.connection.port.should == 5672}
22
16
  it { subject.event_queue.exchange.name.should == "tengine_event_exchange"}
@@ -43,6 +37,17 @@ describe "config" do
43
37
  end
44
38
  end
45
39
 
40
+ shared_examples_for "load_spec_01.yml's data with db config" do
41
+ describe "accessors" do
42
+ it { subject.db.should be_a(Tengine::Support::Config::Mongoid::Connection) }
43
+ it { subject.db.host.should == "localhost"}
44
+ it { subject.db.port.should == 27020}
45
+ it { subject.db.username.should == nil}
46
+ it { subject.db.password.should == nil}
47
+ it { subject.db.database.should == "tengine_production"}
48
+ end
49
+ end
50
+
46
51
  context "app1 setting" do
47
52
  describe :load do
48
53
  before(:all) do
@@ -50,7 +55,8 @@ describe "config" do
50
55
  @suite.load(YAML.load_file(File.expand_path('load_spec_01.yml.erb', File.dirname(__FILE__))))
51
56
  end
52
57
  subject{ @suite }
53
- it_should_behave_like "load_spec_01.yml's data"
58
+ it_should_behave_like "load_spec_01.yml's data common"
59
+ it_should_behave_like "load_spec_01.yml's data with db config"
54
60
  end
55
61
 
56
62
  describe :load_file do
@@ -59,8 +65,42 @@ describe "config" do
59
65
  @suite.load_file(File.expand_path('load_spec_01.yml.erb', File.dirname(__FILE__)))
60
66
  end
61
67
  subject{ @suite }
62
- it_should_behave_like "load_spec_01.yml's data"
68
+ it_should_behave_like "load_spec_01.yml's data common"
69
+ it_should_behave_like "load_spec_01.yml's data with db config"
70
+ end
71
+ end
72
+
73
+ context "hash for db settings" do
74
+ describe :load do
75
+ before(:all) do
76
+ @suite = build_suite2
77
+ @suite.load(YAML.load_file(File.expand_path('load_spec_02.yml.erb', File.dirname(__FILE__))))
78
+ end
79
+ subject{ @suite }
80
+ it_should_behave_like "load_spec_01.yml's data common"
81
+ it "should has a hash for db settings" do
82
+ subject.db.should == {
83
+ 'hosts' => [['tgndb001', 27017], ['tgndb002', 27017], ['tgndb003', 27017]],
84
+ 'host' => 'localhost',
85
+ 'port' => 27017,
86
+ 'username' => nil,
87
+ 'password' => nil,
88
+ 'database' => 'tengine_production',
89
+ 'read_secondary' => false,
90
+ 'max_retries_on_connection_failure' => 3
91
+ }
92
+ end
63
93
  end
94
+
95
+ describe :load_file do
96
+ before(:all) do
97
+ @suite = build_suite1
98
+ @suite.load_file(File.expand_path('load_spec_01.yml.erb', File.dirname(__FILE__)))
99
+ end
100
+ subject{ @suite }
101
+ it_should_behave_like "load_spec_01.yml's data common"
102
+ it_should_behave_like "load_spec_01.yml's data with db config"
103
+ end
64
104
  end
65
105
 
66
106
  end
@@ -0,0 +1,52 @@
1
+ process:
2
+ daemon: true
3
+ pid_dir: "./tmp/pids"
4
+
5
+ db:
6
+ hosts:
7
+ - - tgndb001
8
+ - 27017
9
+ - - tgndb002
10
+ - 27017
11
+ - - tgndb003
12
+ - 27017
13
+ host: localhost
14
+ port: 27017
15
+ username:
16
+ password:
17
+ database: 'tengine_production'
18
+ read_secondary: false
19
+ max_retries_on_connection_failure: 3
20
+
21
+ event_queue:
22
+ connection:
23
+ host: 'rabbitmq1'
24
+ port: 5672
25
+ # vhost:
26
+ # user:
27
+ # pass:
28
+ exchange:
29
+ name: 'tengine_event_exchange'
30
+ type: 'direct'
31
+ durable: true
32
+ queue:
33
+ name: 'tengine_event_queue'
34
+ durable: true
35
+
36
+ log_common:
37
+ rotation: 5
38
+ rotation_size: <%= 1024 * 1024 * 1024 %>
39
+ level: 'info'
40
+
41
+ application_log:
42
+ output: "log/application.log"
43
+ rotation: 'daily'
44
+ level: 'debug'
45
+
46
+ process_stdout_log:
47
+ output: "log/stdout.log"
48
+ level: 'warn'
49
+
50
+ process_stderr_log:
51
+ output: "log/stderr.log"
52
+ level: 'info'
@@ -90,66 +90,28 @@ db:
90
90
  -S, --db-password=VAL password to connect db.
91
91
  --db-database=VAL database name to connect db. default: "tengine_production"
92
92
 
93
- connection:
94
- --event-queue-connection-host=VAL
95
- hostname to connect queue. default: "localhost"
96
- --event-queue-connection-port=VAL
97
- port to connect queue. default: 5672
98
- --event-queue-connection-vhost=VAL
99
- vhost to connect queue.
100
- --event-queue-connection-user=VAL
101
- username to connect queue.
102
- --event-queue-connection-pass=VAL
103
- password to connect queue.
104
-
105
- exchange:
106
- --event-queue-exchange-name=VAL
107
- exchange name. default: "tengine_event_exchange"
108
- --event-queue-exchange-type=VAL
109
- exchange type. default: "direct"
110
- --event-queue-exchange-durable
111
- exchange durable.
112
-
113
- queue:
114
- --event-queue-queue-name=VAL queue name. default: "tengine_event_queue"
115
- --event-queue-queue-durable queue durable.
116
-
117
93
  log_common:
118
94
  --log-common-output=VAL file path or "STDOUT" / "STDERR".
119
- --log-common-rotation=VAL rotation file count or daily,weekly,monthly. default: 3
120
- --log-common-rotation-size=VAL
121
- number of max log file size. default: 1048576
122
95
  --log-common-level=VAL debug/info/warn/error/fatal. default: "info"
123
96
 
124
97
  application_log:
125
98
  --application-log-output=VAL file path or "STDOUT" / "STDERR". if daemon process then "./log/.log" else "STDOUT" default: "STDOUT"
126
- --application-log-rotation=VAL
127
- rotation file count or daily,weekly,monthly. value of --log-common-rotation default: 3
128
- --application-log-rotation-size=VAL
129
- number of max log file size. value of --log-common-rotation-size default: 1048576
130
99
  --application-log-level=VAL debug/info/warn/error/fatal. value of --log-common-level default: "info"
131
100
 
132
101
  process_stdout_log:
133
102
  --process-stdout-log-output=VAL
134
103
  file path or "STDOUT" / "STDERR". if daemon process then "./log/.log" else "STDOUT" default: "STDOUT"
135
- --process-stdout-log-rotation=VAL
136
- rotation file count or daily,weekly,monthly. value of --log-common-rotation default: 3
137
- --process-stdout-log-rotation-size=VAL
138
- number of max log file size. value of --log-common-rotation-size default: 1048576
139
104
  --process-stdout-log-level=VAL
140
105
  debug/info/warn/error/fatal. value of --log-common-level default: "info"
141
106
 
142
107
  process_stderr_log:
143
108
  --process-stderr-log-output=VAL
144
109
  file path or "STDOUT" / "STDERR". if daemon process then "./log/.log" else "STDOUT" default: "STDOUT"
145
- --process-stderr-log-rotation=VAL
146
- rotation file count or daily,weekly,monthly. value of --log-common-rotation default: 3
147
- --process-stderr-log-rotation-size=VAL
148
- number of max log file size. value of --log-common-rotation-size default: 1048576
149
110
  --process-stderr-log-level=VAL
150
111
  debug/info/warn/error/fatal. value of --log-common-level default: "info"
151
112
 
152
113
  General:
153
114
  --version show version
115
+ --dump-skelton dump skelton of config
154
116
  --help show this help message
155
117
  END_OF_HELP
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "tengine_support"
8
- s.version = "0.3.3"
8
+ s.version = "0.3.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["saishu", "w-irie", "taigou", "totty", "hiroshinakao", "g-morita", "guemon", "aoetk", "hattori-at-nt", "t-yamada", "y-karashima", "akm"]
12
- s.date = "2011-11-17"
12
+ s.date = "2011-11-18"
13
13
  s.description = "tengine_support provides utility classes/modules which is not included in active_support. It doesn't depend on other tengine gems."
14
14
  s.email = "tengine@nautilus-technologies.com"
15
15
  s.extra_rdoc_files = [
@@ -45,9 +45,11 @@ Gem::Specification.new do |s|
45
45
  "spec/tengine_support/config/logger_spec.rb",
46
46
  "spec/tengine_support/config/mongoid_spec.rb",
47
47
  "spec/tengine_support/config_spec.rb",
48
+ "spec/tengine_support/config_spec/dump_skelton_spec.rb",
48
49
  "spec/tengine_support/config_spec/load_config_file_by_config_option_spec.rb",
49
50
  "spec/tengine_support/config_spec/load_spec.rb",
50
51
  "spec/tengine_support/config_spec/load_spec_01.yml.erb",
52
+ "spec/tengine_support/config_spec/load_spec_02.yml.erb",
51
53
  "spec/tengine_support/config_spec/parse_spec.rb",
52
54
  "spec/tengine_support/yaml_with_erb_spec.rb",
53
55
  "spec/tengine_support/yaml_with_erb_spec/test1.yml.erb",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tengine_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -20,11 +20,11 @@ authors:
20
20
  autorequire:
21
21
  bindir: bin
22
22
  cert_chain: []
23
- date: 2011-11-17 00:00:00.000000000Z
23
+ date: 2011-11-18 00:00:00.000000000Z
24
24
  dependencies:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &2155337440 !ruby/object:Gem::Requirement
27
+ requirement: &2165717140 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 3.0.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2155337440
35
+ version_requirements: *2165717140
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &2155336960 !ruby/object:Gem::Requirement
38
+ requirement: &2165716660 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.6.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2155336960
46
+ version_requirements: *2165716660
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: yard
49
- requirement: &2155336480 !ruby/object:Gem::Requirement
49
+ requirement: &2165716100 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.7.2
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2155336480
57
+ version_requirements: *2165716100
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: bundler
60
- requirement: &2155335980 !ruby/object:Gem::Requirement
60
+ requirement: &2165715600 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.0.18
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2155335980
68
+ version_requirements: *2165715600
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: jeweler
71
- requirement: &2155335500 !ruby/object:Gem::Requirement
71
+ requirement: &2165711520 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 1.6.4
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *2155335500
79
+ version_requirements: *2165711520
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: simplecov
82
- requirement: &2155335020 !ruby/object:Gem::Requirement
82
+ requirement: &2165711040 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 0.5.3
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *2155335020
90
+ version_requirements: *2165711040
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: autotest
93
- requirement: &2155334520 !ruby/object:Gem::Requirement
93
+ requirement: &2165710560 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *2155334520
101
+ version_requirements: *2165710560
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: rdiscount
104
- requirement: &2155334040 !ruby/object:Gem::Requirement
104
+ requirement: &2165710080 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,7 +109,7 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *2155334040
112
+ version_requirements: *2165710080
113
113
  description: tengine_support provides utility classes/modules which is not included
114
114
  in active_support. It doesn't depend on other tengine gems.
115
115
  email: tengine@nautilus-technologies.com
@@ -147,9 +147,11 @@ files:
147
147
  - spec/tengine_support/config/logger_spec.rb
148
148
  - spec/tengine_support/config/mongoid_spec.rb
149
149
  - spec/tengine_support/config_spec.rb
150
+ - spec/tengine_support/config_spec/dump_skelton_spec.rb
150
151
  - spec/tengine_support/config_spec/load_config_file_by_config_option_spec.rb
151
152
  - spec/tengine_support/config_spec/load_spec.rb
152
153
  - spec/tengine_support/config_spec/load_spec_01.yml.erb
154
+ - spec/tengine_support/config_spec/load_spec_02.yml.erb
153
155
  - spec/tengine_support/config_spec/parse_spec.rb
154
156
  - spec/tengine_support/yaml_with_erb_spec.rb
155
157
  - spec/tengine_support/yaml_with_erb_spec/test1.yml.erb
@@ -172,7 +174,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
172
174
  version: '0'
173
175
  segments:
174
176
  - 0
175
- hash: 2159640456840196487
177
+ hash: 300488442410401819
176
178
  required_rubygems_version: !ruby/object:Gem::Requirement
177
179
  none: false
178
180
  requirements: