tengine_support 0.3.8 → 0.3.9
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/tengine/support/config/definition/has_many_children.rb +5 -1
- data/spec/support/suite.rb +17 -3
- data/spec/tengine_support/config_spec/dump_skelton_spec.rb +29 -4
- data/spec/tengine_support/config_spec/load_config_file_by_config_option_spec.rb +1 -1
- data/spec/tengine_support/config_spec/load_spec.rb +19 -5
- data/spec/tengine_support/config_spec.rb +1 -1
- data/tengine_support.gemspec +1 -1
- metadata +18 -18
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.9
|
@@ -83,7 +83,11 @@ module Tengine::Support::Config::Definition::HasManyChildren
|
|
83
83
|
self.children << field
|
84
84
|
end
|
85
85
|
(class << self; self; end).module_eval do
|
86
|
-
|
86
|
+
define_method(field.__name__) do
|
87
|
+
instance_variable_get("@#{field.__name__}") ||
|
88
|
+
(field.default.respond_to?(:to_proc) ? self.instance_eval(&field.deault) : field.default)
|
89
|
+
end
|
90
|
+
attr_writer field.__name__
|
87
91
|
end
|
88
92
|
end
|
89
93
|
|
data/spec/support/suite.rb
CHANGED
@@ -65,7 +65,13 @@ EOS
|
|
65
65
|
field(:action, "test|load|start|enable|stop|force-stop|status|activate", :type => :string, :default => "start")
|
66
66
|
load_config(:config, "path/to/config_file", :type => :string)
|
67
67
|
add(:process, App1::ProcessConfig)
|
68
|
-
field(:db, "settings to connect to db", :type => :hash
|
68
|
+
field(:db, "settings to connect to db", :type => :hash, :default => {
|
69
|
+
:host => 'localhost',
|
70
|
+
:port => 27017,
|
71
|
+
:username => nil,
|
72
|
+
:password => nil,
|
73
|
+
:database => 'tengine_production',
|
74
|
+
})
|
69
75
|
group(:event_queue, :hidden => true) do
|
70
76
|
add(:connection, Tengine::Support::Config::Amqp::Connection)
|
71
77
|
add(:exchange , Tengine::Support::Config::Amqp::Exchange, :defaults => {:name => 'tengine_event_exchange'})
|
@@ -107,7 +113,7 @@ end
|
|
107
113
|
|
108
114
|
|
109
115
|
|
110
|
-
#
|
116
|
+
# build_suite2 との違いは、Tengine::Support::Config::Definition::Suiteを直接newするのではなく
|
111
117
|
# 継承したものをnewしている点です。それ以外は変わりません
|
112
118
|
def build_suite3(*args)
|
113
119
|
ConfigSuite3.new(*args)
|
@@ -124,7 +130,15 @@ EOS
|
|
124
130
|
field(:action, "test|load|start|enable|stop|force-stop|status|activate", :type => :string, :default => "start")
|
125
131
|
load_config(:config, "path/to/config_file", :type => :string)
|
126
132
|
add(:process, App1::ProcessConfig)
|
127
|
-
|
133
|
+
# field(:db, "settings to connect to db", :type => :hash,
|
134
|
+
# :default => {:database => "tengine_production"})
|
135
|
+
field(:db, "settings to connect to db", :type => :hash, :default => {
|
136
|
+
:host => 'localhost',
|
137
|
+
:port => 27017,
|
138
|
+
:username => nil,
|
139
|
+
:password => nil,
|
140
|
+
:database => 'tengine_production',
|
141
|
+
})
|
128
142
|
group(:event_queue, :hidden => true) do
|
129
143
|
add(:connection, Tengine::Support::Config::Amqp::Connection)
|
130
144
|
add(:exchange , Tengine::Support::Config::Amqp::Exchange, :defaults => {:name => 'tengine_event_exchange'})
|
@@ -71,7 +71,6 @@ describe "dump_skelton" do
|
|
71
71
|
end
|
72
72
|
|
73
73
|
|
74
|
-
context :suite2 do
|
75
74
|
suite2_skelton = {
|
76
75
|
:action => 'start',
|
77
76
|
:config => nil,
|
@@ -79,7 +78,13 @@ describe "dump_skelton" do
|
|
79
78
|
:daemon => nil,
|
80
79
|
:pid_dir => nil,
|
81
80
|
},
|
82
|
-
:db =>
|
81
|
+
:db => {
|
82
|
+
:host => 'localhost',
|
83
|
+
:port => 27017,
|
84
|
+
:username => nil,
|
85
|
+
:password => nil,
|
86
|
+
:database => 'tengine_production',
|
87
|
+
},
|
83
88
|
:event_queue => {
|
84
89
|
:connection => {
|
85
90
|
:host => 'localhost',
|
@@ -122,14 +127,34 @@ describe "dump_skelton" do
|
|
122
127
|
}.freeze,
|
123
128
|
}
|
124
129
|
|
130
|
+
|
131
|
+
context :suite2 do
|
132
|
+
subject{ build_suite2 }
|
125
133
|
it do
|
126
|
-
@suite = build_suite2
|
127
134
|
STDOUT.should_receive(:puts).with(YAML.dump(suite2_skelton))
|
128
135
|
expect{
|
129
|
-
|
136
|
+
subject.parse!(%w[--dump-skelton])
|
130
137
|
}.to raise_error(SystemExit)
|
131
138
|
end
|
139
|
+
end
|
132
140
|
|
141
|
+
context :suite3 do
|
142
|
+
subject{ build_suite3 }
|
143
|
+
it do
|
144
|
+
STDOUT.should_receive(:puts).with(YAML.dump(suite2_skelton))
|
145
|
+
expect{
|
146
|
+
subject.parse!(%w[--dump-skelton])
|
147
|
+
}.to raise_error(SystemExit)
|
148
|
+
end
|
149
|
+
it do
|
150
|
+
subject.db.should == {
|
151
|
+
:host => 'localhost',
|
152
|
+
:port => 27017,
|
153
|
+
:username => nil,
|
154
|
+
:password => nil,
|
155
|
+
:database => 'tengine_production',
|
156
|
+
}
|
157
|
+
end
|
133
158
|
end
|
134
159
|
|
135
160
|
end
|
@@ -42,7 +42,7 @@ describe "config" do
|
|
42
42
|
end
|
43
43
|
|
44
44
|
shared_examples_for "load_config_file_by_config_option_on_file" do
|
45
|
-
it { subject.action.should ==
|
45
|
+
it { subject.action.should == 'start'}
|
46
46
|
it { subject.config.should == nil}
|
47
47
|
it { subject.log_common.level.should == "info"}
|
48
48
|
it { subject.process_stdout_log.level.should == "warn"}
|
@@ -6,7 +6,7 @@ require 'tengine/support/yaml_with_erb'
|
|
6
6
|
describe "config" do
|
7
7
|
shared_examples_for "load_spec_01.yml's data common" do
|
8
8
|
describe "accessors" do
|
9
|
-
it { subject.action.should ==
|
9
|
+
it { subject.action.should == "start"}
|
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}
|
@@ -37,7 +37,7 @@ describe "config" do
|
|
37
37
|
end
|
38
38
|
|
39
39
|
describe "like Hash" do
|
40
|
-
it { subject[:action].should ==
|
40
|
+
it { subject[:action].should == "start"}
|
41
41
|
it { subject[:config].should == nil}
|
42
42
|
it { subject[:process].should be_a(App1::ProcessConfig) }
|
43
43
|
it { subject[:process][:daemon].should == true}
|
@@ -91,6 +91,20 @@ describe "config" do
|
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
|
+
shared_examples_for "load_spec_01.yml's data with db Hash" do
|
95
|
+
describe "accessors" do
|
96
|
+
it do
|
97
|
+
subject.db.should == {
|
98
|
+
'host'=> "localhost",
|
99
|
+
'port' => 27020,
|
100
|
+
'username' => nil,
|
101
|
+
'password' => nil,
|
102
|
+
'database' => "tengine_production"
|
103
|
+
}
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
94
108
|
context "app1 setting" do
|
95
109
|
describe :load do
|
96
110
|
before(:all) do
|
@@ -119,7 +133,7 @@ describe "config" do
|
|
119
133
|
end
|
120
134
|
subject{ @suite }
|
121
135
|
it_should_behave_like "load_spec_01.yml's data common"
|
122
|
-
it_should_behave_like "load_spec_01.yml's data with db
|
136
|
+
it_should_behave_like "load_spec_01.yml's data with db Hash"
|
123
137
|
end
|
124
138
|
|
125
139
|
describe :load_file_by_suite3_with_filepath do
|
@@ -128,7 +142,7 @@ describe "config" do
|
|
128
142
|
end
|
129
143
|
subject{ @suite }
|
130
144
|
it_should_behave_like "load_spec_01.yml's data common"
|
131
|
-
it_should_behave_like "load_spec_01.yml's data with db
|
145
|
+
it_should_behave_like "load_spec_01.yml's data with db Hash"
|
132
146
|
end
|
133
147
|
|
134
148
|
describe :load_file_by_suite3_with_hash do
|
@@ -137,7 +151,7 @@ describe "config" do
|
|
137
151
|
end
|
138
152
|
subject{ @suite }
|
139
153
|
it_should_behave_like "load_spec_01.yml's data common"
|
140
|
-
it_should_behave_like "load_spec_01.yml's data with db
|
154
|
+
it_should_behave_like "load_spec_01.yml's data with db Hash"
|
141
155
|
end
|
142
156
|
|
143
157
|
|
@@ -33,7 +33,7 @@ describe "config" do
|
|
33
33
|
end
|
34
34
|
|
35
35
|
describe "accessors" do
|
36
|
-
it { subject.action.should ==
|
36
|
+
it { subject.action.should == "start"}
|
37
37
|
it { subject.config.should == nil}
|
38
38
|
it { subject.process.should be_a(App1::ProcessConfig) }
|
39
39
|
it { subject.process.daemon.should == nil}
|
data/tengine_support.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "tengine_support"
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.9"
|
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"]
|
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.
|
4
|
+
version: 0.3.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -24,7 +24,7 @@ date: 2011-11-18 00:00:00.000000000Z
|
|
24
24
|
dependencies:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activesupport
|
27
|
-
requirement: &
|
27
|
+
requirement: &70223758524920 !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: *
|
35
|
+
version_requirements: *70223758524920
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &70223758524320 !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: *
|
46
|
+
version_requirements: *70223758524320
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: yard
|
49
|
-
requirement: &
|
49
|
+
requirement: &70223758523720 !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: *
|
57
|
+
version_requirements: *70223758523720
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: bundler
|
60
|
-
requirement: &
|
60
|
+
requirement: &70223758523180 !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: *
|
68
|
+
version_requirements: *70223758523180
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: jeweler
|
71
|
-
requirement: &
|
71
|
+
requirement: &70223758522660 !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: *
|
79
|
+
version_requirements: *70223758522660
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: simplecov
|
82
|
-
requirement: &
|
82
|
+
requirement: &70223758522060 !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: *
|
90
|
+
version_requirements: *70223758522060
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: autotest
|
93
|
-
requirement: &
|
93
|
+
requirement: &70223758521460 !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: *
|
101
|
+
version_requirements: *70223758521460
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: rdiscount
|
104
|
-
requirement: &
|
104
|
+
requirement: &70223758520860 !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: *
|
112
|
+
version_requirements: *70223758520860
|
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
|
@@ -177,7 +177,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
177
177
|
version: '0'
|
178
178
|
segments:
|
179
179
|
- 0
|
180
|
-
hash:
|
180
|
+
hash: 952268646322731472
|
181
181
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
182
182
|
none: false
|
183
183
|
requirements:
|