tengine_support 0.3.5 → 0.3.6
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.
- data/VERSION +1 -1
- data/lib/tengine/support/config/definition/suite.rb +9 -0
- data/spec/support/suite.rb +62 -0
- data/spec/tengine_support/config_spec/load_spec.rb +28 -0
- data/tengine_support.gemspec +1 -1
- metadata +18 -18
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.6
|
@@ -6,6 +6,15 @@ require 'tengine/support/yaml_with_erb'
|
|
6
6
|
class Tengine::Support::Config::Definition::Suite
|
7
7
|
include Tengine::Support::Config::Definition::HasManyChildren
|
8
8
|
|
9
|
+
def initialize(hash_or_filepath = nil)
|
10
|
+
build if respond_to?(:build)
|
11
|
+
case hash_or_filepath
|
12
|
+
when Hash then load(hash_or_filepath)
|
13
|
+
when String then load_file(hash_or_filepath)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
|
9
18
|
def mapping(mapping = nil)
|
10
19
|
@mapping = mapping if mapping
|
11
20
|
@mapping
|
data/spec/support/suite.rb
CHANGED
@@ -103,3 +103,65 @@ EOS
|
|
103
103
|
end
|
104
104
|
|
105
105
|
end
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
|
110
|
+
# build_suite1 との違いは、Tengine::Support::Config::Definition::Suiteを直接newするのではなく
|
111
|
+
# 継承したものをnewしている点です。それ以外は変わりません
|
112
|
+
def build_suite3(*args)
|
113
|
+
ConfigSuite3.new(*args)
|
114
|
+
end
|
115
|
+
|
116
|
+
class ConfigSuite3 < Tengine::Support::Config::Definition::Suite
|
117
|
+
def build
|
118
|
+
banner <<EOS
|
119
|
+
Usage: config_test [-k action] [-f path_to_config]
|
120
|
+
[-H db_host] [-P db_port] [-U db_user] [-S db_pass] [-B db_database]
|
121
|
+
|
122
|
+
EOS
|
123
|
+
|
124
|
+
field(:action, "test|load|start|enable|stop|force-stop|status|activate", :type => :string, :default => "start")
|
125
|
+
load_config(:config, "path/to/config_file", :type => :string)
|
126
|
+
add(:process, App1::ProcessConfig)
|
127
|
+
add(:db, Tengine::Support::Config::Mongoid::Connection, :defaults => {:database => "tengine_production"})
|
128
|
+
group(:event_queue, :hidden => true) do
|
129
|
+
add(:connection, Tengine::Support::Config::Amqp::Connection)
|
130
|
+
add(:exchange , Tengine::Support::Config::Amqp::Exchange, :defaults => {:name => 'tengine_event_exchange'})
|
131
|
+
add(:queue , Tengine::Support::Config::Amqp::Queue , :defaults => {:name => 'tengine_event_queue'})
|
132
|
+
end
|
133
|
+
hide_about_rotation = proc do
|
134
|
+
find(:rotation).hidden = true; find(:rotation_size).hidden = true
|
135
|
+
end
|
136
|
+
add(:log_common, Tengine::Support::Config::Logger,
|
137
|
+
:defaults => {
|
138
|
+
:rotation => 3 ,
|
139
|
+
:rotation_size => 1024 * 1024,
|
140
|
+
:level => 'info' ,
|
141
|
+
}, &hide_about_rotation)
|
142
|
+
add(:application_log, App1::LoggerConfig,
|
143
|
+
:logger_name => "application",
|
144
|
+
:dependencies => { :process_config => :process, :log_common => :log_common,}, &hide_about_rotation)
|
145
|
+
add(:process_stdout_log, App1::LoggerConfig,
|
146
|
+
:logger_name => "#{File.basename($PROGRAM_NAME)}_stdout",
|
147
|
+
:dependencies => { :process_config => :process, :log_common => :log_common,}, &hide_about_rotation)
|
148
|
+
add(:process_stderr_log, App1::LoggerConfig,
|
149
|
+
:logger_name => "#{File.basename($PROGRAM_NAME)}_stderr",
|
150
|
+
:dependencies => { :process_config => :process, :log_common => :log_common,}, &hide_about_rotation)
|
151
|
+
separator("\nGeneral:")
|
152
|
+
__action__(:version, "show version"){ STDOUT.puts "1.1.1"; exit }
|
153
|
+
__action__(:dump_skelton, "dump skelton of config"){ STDOUT.puts YAML.dump(root.to_hash); exit }
|
154
|
+
__action__(:help , "show this help message"){ STDOUT.puts option_parser.help; exit }
|
155
|
+
|
156
|
+
mapping({
|
157
|
+
[:action] => :k,
|
158
|
+
[:config] => :f,
|
159
|
+
[:process, :daemon] => :D,
|
160
|
+
[:db, :host] => :O,
|
161
|
+
[:db, :port] => :P,
|
162
|
+
[:db, :username] => :U,
|
163
|
+
[:db, :password] => :S,
|
164
|
+
})
|
165
|
+
|
166
|
+
end
|
167
|
+
end
|
@@ -101,6 +101,34 @@ describe "config" do
|
|
101
101
|
it_should_behave_like "load_spec_01.yml's data with db config"
|
102
102
|
end
|
103
103
|
|
104
|
+
describe :load_file_by_suite3 do
|
105
|
+
before(:all) do
|
106
|
+
@suite = build_suite3
|
107
|
+
@suite.load_file(File.expand_path('load_spec_01.yml.erb', File.dirname(__FILE__)))
|
108
|
+
end
|
109
|
+
subject{ @suite }
|
110
|
+
it_should_behave_like "load_spec_01.yml's data common"
|
111
|
+
it_should_behave_like "load_spec_01.yml's data with db config"
|
112
|
+
end
|
113
|
+
|
114
|
+
describe :load_file_by_suite3_with_filepath do
|
115
|
+
before(:all) do
|
116
|
+
@suite = build_suite3(File.expand_path('load_spec_01.yml.erb', File.dirname(__FILE__)))
|
117
|
+
end
|
118
|
+
subject{ @suite }
|
119
|
+
it_should_behave_like "load_spec_01.yml's data common"
|
120
|
+
it_should_behave_like "load_spec_01.yml's data with db config"
|
121
|
+
end
|
122
|
+
|
123
|
+
describe :load_file_by_suite3_with_hash do
|
124
|
+
before(:all) do
|
125
|
+
@suite = build_suite3(YAML.load_file(File.expand_path('load_spec_01.yml.erb', File.dirname(__FILE__))))
|
126
|
+
end
|
127
|
+
subject{ @suite }
|
128
|
+
it_should_behave_like "load_spec_01.yml's data common"
|
129
|
+
it_should_behave_like "load_spec_01.yml's data with db config"
|
130
|
+
end
|
131
|
+
|
104
132
|
|
105
133
|
context "set like a Hash" do
|
106
134
|
before do
|
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.6"
|
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.6
|
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: &2167510600 !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: *2167510600
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &2167510120 !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: *2167510120
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: yard
|
49
|
-
requirement: &
|
49
|
+
requirement: &2167509620 !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: *2167509620
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: bundler
|
60
|
-
requirement: &
|
60
|
+
requirement: &2167509100 !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: *2167509100
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: jeweler
|
71
|
-
requirement: &
|
71
|
+
requirement: &2167508580 !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: *2167508580
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: simplecov
|
82
|
-
requirement: &
|
82
|
+
requirement: &2167507980 !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: *2167507980
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: autotest
|
93
|
-
requirement: &
|
93
|
+
requirement: &2167507380 !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: *2167507380
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: rdiscount
|
104
|
-
requirement: &
|
104
|
+
requirement: &2167506800 !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: *2167506800
|
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: 2179763552862649060
|
181
181
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
182
182
|
none: false
|
183
183
|
requirements:
|