tengine_support 0.3.5 → 0.3.6

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.5
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
@@ -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
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "tengine_support"
8
- s.version = "0.3.5"
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.5
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: &2155333380 !ruby/object:Gem::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: *2155333380
35
+ version_requirements: *2167510600
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &2155332900 !ruby/object:Gem::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: *2155332900
46
+ version_requirements: *2167510120
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: yard
49
- requirement: &2155332400 !ruby/object:Gem::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: *2155332400
57
+ version_requirements: *2167509620
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: bundler
60
- requirement: &2155331920 !ruby/object:Gem::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: *2155331920
68
+ version_requirements: *2167509100
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: jeweler
71
- requirement: &2155331440 !ruby/object:Gem::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: *2155331440
79
+ version_requirements: *2167508580
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: simplecov
82
- requirement: &2155258140 !ruby/object:Gem::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: *2155258140
90
+ version_requirements: *2167507980
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: autotest
93
- requirement: &2155257520 !ruby/object:Gem::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: *2155257520
101
+ version_requirements: *2167507380
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: rdiscount
104
- requirement: &2155257040 !ruby/object:Gem::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: *2155257040
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: -3661991772208996840
180
+ hash: 2179763552862649060
181
181
  required_rubygems_version: !ruby/object:Gem::Requirement
182
182
  none: false
183
183
  requirements: