tengine_support 0.3.9 → 0.3.10

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.9
1
+ 0.3.10
@@ -15,7 +15,6 @@ module Tengine::Support::Config::Definition
15
15
  klass.class_eval do
16
16
  self.class_attribute :children, :instance_writer => false, :instance_reader => false
17
17
  self.children = []
18
-
19
18
  self.class_attribute :definition_reference_names, :instance_writer => false
20
19
  self.definition_reference_names = []
21
20
  end
@@ -98,6 +97,7 @@ module Tengine::Support::Config::Definition
98
97
  child.__parent__ = self
99
98
  child
100
99
  end
100
+ self
101
101
  end
102
102
 
103
103
  def child_by_name(__name__)
@@ -1,12 +1,23 @@
1
+ # -*- coding: utf-8 -*-
1
2
  require 'tengine/support/config'
2
3
 
3
4
  class Tengine::Support::Config::Logger
4
5
  include Tengine::Support::Config::Definition
5
6
 
6
- field :output, 'file path or "STDOUT" / "STDERR" / "NULL".', :type => :string
7
+ field :output, 'file path or "STDOUT" / "STDERR" / "NULL".', :type => :string, :default => "STDOUT"
7
8
  field :rotation, 'rotation file count or daily,weekly,monthly.', :type => :string
8
9
  field :rotation_size, 'number of max log file size.', :type => :integer
9
- field :level, 'debug/info/warn/error/fatal.', :type => :string
10
+ field :level, 'Logging severity threshold. debug/info/warn/error/fatal.', :type => :string, :default => "info"
11
+
12
+ field :progname, 'program name to include in log messages.', :type => :string
13
+ field :datetime_format, 'A string suitable for passing to strftime.', :type => :string
14
+
15
+ # formatterにはprocしか設定できないので特別設定ファイルやコマンドラインオプションで指定することはできません。
16
+ # もしformatteを指す名前を指定したい場合は、別途定義したfieldをから求めたformatterの値を、
17
+ # オーバーライドしたnew_loggerで設定するようにしてください。
18
+ attr_accessor :formatter
19
+ # field :formatter, 'Logging formatter, as a Proc that will take four arguments and return the formatted message.',
20
+ # :type => :proc, :hidden => true
10
21
 
11
22
  def new_logger
12
23
  case output
@@ -16,8 +27,10 @@ class Tengine::Support::Config::Logger
16
27
  else dev = output
17
28
  end
18
29
  shift_age = (rotation =~ /\A\d+\Z/) ? rotation.to_i : rotation
19
- result = Logger.new(dev, shift_age, rotation_size)
20
- result.level = Logger.const_get(level.upcase)
30
+ result = ::Logger.new(dev, shift_age, rotation_size)
31
+ result.level = ::Logger.const_get(level.to_s.upcase)
32
+ result.datetime_format = self.datetime_format if self.datetime_format
33
+ result.progname = self.progname if self.progname
21
34
  result
22
35
  end
23
36
 
@@ -7,17 +7,141 @@ require 'tempfile'
7
7
  describe 'Tengine::Support::Config::Logger' do
8
8
 
9
9
  context "static" do
10
-
11
10
  describe Tengine::Support::Config::Logger.output do
12
11
  it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
13
12
  its(:type){ should == :string }
14
13
  its(:__name__){ should == :output }
15
14
  its(:description){ should == 'file path or "STDOUT" / "STDERR" / "NULL".'}
15
+ its(:default){ should == "STDOUT"}
16
+ end
17
+
18
+ describe Tengine::Support::Config::Logger.rotation do
19
+ it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
20
+ its(:type){ should == :string }
21
+ its(:__name__){ should == :rotation }
22
+ its(:description){ should == 'rotation file count or daily,weekly,monthly.'}
23
+ its(:default){ should == nil}
24
+ end
25
+
26
+ describe Tengine::Support::Config::Logger.rotation_size do
27
+ it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
28
+ its(:type){ should == :integer }
29
+ its(:__name__){ should == :rotation_size }
30
+ its(:description){ should == 'number of max log file size.'}
31
+ its(:default){ should == nil}
32
+ end
33
+
34
+ describe Tengine::Support::Config::Logger.level do
35
+ it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
36
+ its(:type){ should == :string }
37
+ its(:__name__){ should == :level }
38
+ its(:description){ should == 'Logging severity threshold. debug/info/warn/error/fatal.'}
39
+ its(:default){ should == "info"}
40
+ end
41
+
42
+ describe Tengine::Support::Config::Logger.progname do
43
+ it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
44
+ its(:type){ should == :string }
45
+ its(:__name__){ should == :progname }
46
+ its(:description){ should == 'program name to include in log messages.'}
47
+ its(:default){ should == nil}
48
+ end
49
+
50
+ describe Tengine::Support::Config::Logger.datetime_format do
51
+ it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
52
+ its(:type){ should == :string }
53
+ its(:__name__){ should == :datetime_format }
54
+ its(:description){ should == 'A string suitable for passing to strftime.'}
16
55
  its(:default){ should == nil}
17
56
  end
57
+
58
+ # describe Tengine::Support::Config::Logger.formatter do
59
+ # it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
60
+ # its(:type){ should == :proc }
61
+ # its(:__name__){ should == :formatter }
62
+ # its(:description){ should == 'Logging formatter, as a Proc that will take four arguments and return the formatted message.'}
63
+ # its(:default){ should == nil}
64
+ # end
65
+ end
66
+
67
+ context "デフォルト値" do
68
+ context "instantiate_childrenなし" do
69
+ subject{ Tengine::Support::Config::Logger.new }
70
+ its(:output){ should == nil }
71
+ its(:rotation){ should == nil}
72
+ its(:rotation_size){ should == nil}
73
+ its(:level){ should == nil}
74
+ its(:datetime_format){ should == nil}
75
+ its(:formatter){ should == nil}
76
+ its(:progname){ should == nil}
77
+ end
78
+
79
+ context "instantiate_childrenあり" do
80
+ subject{ Tengine::Support::Config::Logger.new.instantiate_children }
81
+ its(:output){ should == "STDOUT" }
82
+ its(:rotation){ should == nil}
83
+ its(:rotation_size){ should == nil}
84
+ its(:level){ should == "info"}
85
+ its(:datetime_format){ should == nil}
86
+ its(:formatter){ should == nil}
87
+ its(:progname){ should == nil}
88
+ end
18
89
  end
19
90
 
20
91
  describe :new_logger do
92
+ context "デフォルトの場合" do
93
+ subject{ Tengine::Support::Config::Logger.new.instantiate_children.new_logger }
94
+ its(:datetime_format){ should == nil}
95
+ its(:formatter){ should == nil}
96
+ its(:level){ should == 1}
97
+ its(:progname){ should == nil}
98
+ end
99
+
100
+ context "各属性を設定を指定する場合" do
101
+ before{ @tempfile = Tempfile.new("test.log") }
102
+ after { @tempfile.close }
103
+ subject do
104
+ Tengine::Support::Config::Logger.new.tap{|c|
105
+ c.output = @tempfile.path
106
+ c.rotation = "3"
107
+ c.rotation_size = 1000000
108
+ c.level = "info"
109
+ c.datetime_format = "%Y/%m/%d %H:%M:%S"
110
+ c.progname = "foobar"
111
+ }.instantiate_children.new_logger
112
+ end
113
+ its(:datetime_format){ should == "%Y/%m/%d %H:%M:%S"}
114
+ its(:formatter){ should == nil}
115
+ its(:level){ should == 1}
116
+ its(:progname){ should == "foobar"}
117
+ it "実際に出力してみる" do
118
+ t = Time.local(2011, 12, 31, 23, 59, 59)
119
+ Time.stub!(:now).and_return(t)
120
+ subject.info("something started.")
121
+ subject.error("something happened.")
122
+ File.read(@tempfile.path).should == [
123
+ "I, [2011/12/31 23:59:59##{Process.pid}] INFO -- foobar: something started.\n",
124
+ "E, [2011/12/31 23:59:59##{Process.pid}] ERROR -- foobar: something happened.\n"
125
+ ].join
126
+ end
127
+
128
+ context "更にformatterも指定してみる" do
129
+ before do
130
+ subject.formatter = lambda{|level, t, prog, msg| "#{t.iso8601} #{level} #{prog} #{msg}\n"}
131
+ end
132
+ it "実際に出力してみる" do
133
+ t = Time.local(2011, 12, 31, 23, 59, 59)
134
+ Time.stub!(:now).and_return(t)
135
+ subject.info("something started.")
136
+ subject.error("something happened.")
137
+ File.read(@tempfile.path).should == [
138
+ "2011-12-31T23:59:59+09:00 INFO foobar something started.\n",
139
+ "2011-12-31T23:59:59+09:00 ERROR foobar something happened.\n",
140
+ ].join
141
+ end
142
+ end
143
+ end
144
+
21
145
  it "STDOUTの場合" do
22
146
  config = Tengine::Support::Config::Logger.new
23
147
  config.output = "STDOUT"
@@ -28,7 +152,6 @@ describe 'Tengine::Support::Config::Logger' do
28
152
  config.level.should == "warn"
29
153
  config.rotation.should == nil
30
154
  config.rotation_size.should == nil
31
-
32
155
  logger = Logger.new(STDOUT, nil, nil)
33
156
  Logger.should_receive(:new).with(STDOUT, nil, nil).and_return(logger)
34
157
  logger.should_receive(:level=).with(Logger::WARN)
@@ -39,25 +39,29 @@ describe "dump_skelton" do
39
39
  },
40
40
 
41
41
  :log_common => {
42
- :output => nil ,
42
+ :output => "STDOUT" ,
43
43
  :rotation => 3 ,
44
44
  :rotation_size => 1024 * 1024,
45
45
  :level => 'info' ,
46
+ :progname => nil, :datetime_format => nil,
46
47
  }.freeze,
47
48
 
48
49
  :application_log => {
49
50
  :output => "STDOUT",
50
- :rotation=>3, :rotation_size=>1048576, :level=>"info"
51
+ :rotation=>3, :rotation_size=>1048576, :level=>"info",
52
+ :progname => nil, :datetime_format => nil,
51
53
  }.freeze,
52
54
 
53
55
  :process_stdout_log => {
54
56
  :output => "STDOUT",
55
- :rotation=>3, :rotation_size=>1048576, :level=>"info"
57
+ :rotation=>3, :rotation_size=>1048576, :level=>"info",
58
+ :progname => nil, :datetime_format => nil,
56
59
  }.freeze,
57
60
 
58
61
  :process_stderr_log => {
59
62
  :output => "STDOUT",
60
- :rotation=>3, :rotation_size=>1048576, :level=>"info"
63
+ :rotation=>3, :rotation_size=>1048576, :level=>"info",
64
+ :progname => nil, :datetime_format => nil,
61
65
  }.freeze,
62
66
  }
63
67
 
@@ -105,25 +109,29 @@ describe "dump_skelton" do
105
109
  },
106
110
 
107
111
  :log_common => {
108
- :output => nil ,
112
+ :output => "STDOUT" ,
109
113
  :rotation => 3 ,
110
114
  :rotation_size => 1024 * 1024,
111
115
  :level => 'info' ,
116
+ :progname => nil, :datetime_format => nil,
112
117
  }.freeze,
113
118
 
114
119
  :application_log => {
115
120
  :output => "STDOUT",
116
- :rotation=>3, :rotation_size=>1048576, :level=>"info"
121
+ :rotation=>3, :rotation_size=>1048576, :level=>"info",
122
+ :progname => nil, :datetime_format => nil,
117
123
  }.freeze,
118
124
 
119
125
  :process_stdout_log => {
120
126
  :output => "STDOUT",
121
- :rotation=>3, :rotation_size=>1048576, :level=>"info"
127
+ :rotation=>3, :rotation_size=>1048576, :level=>"info",
128
+ :progname => nil, :datetime_format => nil,
122
129
  }.freeze,
123
130
 
124
131
  :process_stderr_log => {
125
132
  :output => "STDOUT",
126
- :rotation=>3, :rotation_size=>1048576, :level=>"info"
133
+ :rotation=>3, :rotation_size=>1048576, :level=>"info",
134
+ :progname => nil, :datetime_format => nil,
127
135
  }.freeze,
128
136
  }
129
137
 
@@ -25,7 +25,7 @@ describe "config" do
25
25
  it { subject.event_queue.exchange.durable.should == true}
26
26
  it { subject.event_queue.queue.name.should == "tengine_event_queue"}
27
27
  it { subject.event_queue.queue.durable.should == true}
28
- it { subject.log_common.output.should == nil}
28
+ it { subject.log_common.output.should == "STDOUT"}
29
29
  it { subject.log_common.rotation.should == 5}
30
30
  it { subject.log_common.rotation_size.should == 1024 * 1024 * 1024}
31
31
  it { subject.application_log.output.should == "log/application.log"}
@@ -18,7 +18,7 @@ describe "config" do
18
18
  it { subject.event_queue.exchange.durable.should == true}
19
19
  it { subject.event_queue.queue.name.should == "tengine_event_queue"}
20
20
  it { subject.event_queue.queue.durable.should == true}
21
- it { subject.log_common.output.should == nil}
21
+ it { subject.log_common.output.should == "STDOUT"}
22
22
  it { subject.log_common.rotation.should == 5}
23
23
  it { subject.log_common.rotation_size.should == 1024 * 1024 * 1024}
24
24
  it { subject.log_common.level.should == "info"}
@@ -49,7 +49,7 @@ describe "config" do
49
49
  it { subject[:event_queue][:exchange][:durable].should == true}
50
50
  it { subject[:event_queue][:queue][:name].should == "tengine_event_queue"}
51
51
  it { subject[:event_queue][:queue][:durable].should == true}
52
- it { subject[:log_common][:output].should == nil}
52
+ it { subject[:log_common][:output].should == "STDOUT"}
53
53
  it { subject[:log_common][:rotation].should == 5}
54
54
  it { subject[:log_common][:rotation_size].should == 1024 * 1024 * 1024}
55
55
  it { subject[:log_common][:level].should == "info"}
@@ -23,7 +23,7 @@ describe "config" do
23
23
  it { subject.event_queue.exchange.durable.should == true}
24
24
  it { subject.event_queue.queue.name.should == "tengine_event_queue"}
25
25
  it { subject.event_queue.queue.durable.should == true}
26
- it { subject.log_common.output.should == nil}
26
+ it { subject.log_common.output.should == "STDOUT"}
27
27
  it { subject.log_common.rotation.should == 3}
28
28
  it { subject.log_common.rotation_size.should == 1024 * 1024}
29
29
  it { subject.log_common.level.should == "debug"}
@@ -91,24 +91,39 @@ db:
91
91
  --db-database=VAL database name to connect db. default: "tengine_production"
92
92
 
93
93
  log_common:
94
- --log-common-output=VAL file path or "STDOUT" / "STDERR" / "NULL".
95
- --log-common-level=VAL debug/info/warn/error/fatal. default: "info"
94
+ --log-common-output=VAL file path or "STDOUT" / "STDERR" / "NULL". default: "STDOUT"
95
+ --log-common-level=VAL Logging severity threshold. debug/info/warn/error/fatal. default: "info"
96
+ --log-common-progname=VAL program name to include in log messages.
97
+ --log-common-datetime-format=VAL
98
+ A string suitable for passing to strftime.
96
99
 
97
100
  application_log:
98
101
  --application-log-output=VAL file path or "STDOUT" / "STDERR" / "NULL". if daemon process then "./log/application.log" else "STDOUT" default: "STDOUT"
99
- --application-log-level=VAL debug/info/warn/error/fatal. value of --log-common-level default: "info"
102
+ --application-log-level=VAL Logging severity threshold. debug/info/warn/error/fatal. value of --log-common-level default: "info"
103
+ --application-log-progname=VAL
104
+ program name to include in log messages.
105
+ --application-log-datetime-format=VAL
106
+ A string suitable for passing to strftime.
100
107
 
101
108
  process_stdout_log:
102
109
  --process-stdout-log-output=VAL
103
110
  file path or "STDOUT" / "STDERR" / "NULL". if daemon process then "./log/suite_stdout.log" else "STDOUT" default: "STDOUT"
104
111
  --process-stdout-log-level=VAL
105
- debug/info/warn/error/fatal. value of --log-common-level default: "info"
112
+ Logging severity threshold. debug/info/warn/error/fatal. value of --log-common-level default: "info"
113
+ --process-stdout-log-progname=VAL
114
+ program name to include in log messages.
115
+ --process-stdout-log-datetime-format=VAL
116
+ A string suitable for passing to strftime.
106
117
 
107
118
  process_stderr_log:
108
119
  --process-stderr-log-output=VAL
109
120
  file path or "STDOUT" / "STDERR" / "NULL". if daemon process then "./log/suite_stderr.log" else "STDOUT" default: "STDOUT"
110
121
  --process-stderr-log-level=VAL
111
- debug/info/warn/error/fatal. value of --log-common-level default: "info"
122
+ Logging severity threshold. debug/info/warn/error/fatal. value of --log-common-level default: "info"
123
+ --process-stderr-log-progname=VAL
124
+ program name to include in log messages.
125
+ --process-stderr-log-datetime-format=VAL
126
+ A string suitable for passing to strftime.
112
127
 
113
128
  General:
114
129
  --version show version
@@ -51,7 +51,7 @@ describe "config" do
51
51
  it { subject.event_queue.exchange.durable.should == true}
52
52
  it { subject.event_queue.queue.name.should == "tengine_event_queue"}
53
53
  it { subject.event_queue.queue.durable.should == true}
54
- it { subject.log_common.output.should == nil}
54
+ it { subject.log_common.output.should == "STDOUT"}
55
55
  it { subject.log_common.rotation.should == 3}
56
56
  it { subject.log_common.rotation_size.should == 1024 * 1024}
57
57
  it { subject.log_common.level.should == "info"}
@@ -96,25 +96,29 @@ describe "config" do
96
96
  },
97
97
 
98
98
  :log_common => {
99
- :output => nil ,
99
+ :output => "STDOUT" ,
100
100
  :rotation => 3 ,
101
101
  :rotation_size => 1024 * 1024,
102
102
  :level => 'info' ,
103
+ :progname => nil, :datetime_format => nil,
103
104
  }.freeze,
104
105
 
105
106
  :application_log => {
106
107
  :output => "STDOUT",
107
- :rotation=>3, :rotation_size=>1048576, :level=>"info"
108
+ :rotation=>3, :rotation_size=>1048576, :level=>"info",
109
+ :progname => nil, :datetime_format => nil,
108
110
  }.freeze,
109
111
 
110
112
  :process_stdout_log => {
111
113
  :output => "STDOUT",
112
- :rotation=>3, :rotation_size=>1048576, :level=>"info"
114
+ :rotation=>3, :rotation_size=>1048576, :level=>"info",
115
+ :progname => nil, :datetime_format => nil,
113
116
  }.freeze,
114
117
 
115
118
  :process_stderr_log => {
116
119
  :output => "STDOUT",
117
- :rotation=>3, :rotation_size=>1048576, :level=>"info"
120
+ :rotation=>3, :rotation_size=>1048576, :level=>"info",
121
+ :progname => nil, :datetime_format => nil,
118
122
  }.freeze,
119
123
  }
120
124
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "tengine_support"
8
- s.version = "0.3.9"
8
+ s.version = "0.3.10"
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-18"
12
+ s.date = "2011-11-19"
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 = [
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.9
4
+ version: 0.3.10
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-18 00:00:00.000000000Z
23
+ date: 2011-11-19 00:00:00.000000000Z
24
24
  dependencies:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &70223758524920 !ruby/object:Gem::Requirement
27
+ requirement: &70122766440900 !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: *70223758524920
35
+ version_requirements: *70122766440900
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70223758524320 !ruby/object:Gem::Requirement
38
+ requirement: &70122766440340 !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: *70223758524320
46
+ version_requirements: *70122766440340
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: yard
49
- requirement: &70223758523720 !ruby/object:Gem::Requirement
49
+ requirement: &70122766439840 !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: *70223758523720
57
+ version_requirements: *70122766439840
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: bundler
60
- requirement: &70223758523180 !ruby/object:Gem::Requirement
60
+ requirement: &70122766439300 !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: *70223758523180
68
+ version_requirements: *70122766439300
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: jeweler
71
- requirement: &70223758522660 !ruby/object:Gem::Requirement
71
+ requirement: &70122766438780 !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: *70223758522660
79
+ version_requirements: *70122766438780
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: simplecov
82
- requirement: &70223758522060 !ruby/object:Gem::Requirement
82
+ requirement: &70122766438300 !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: *70223758522060
90
+ version_requirements: *70122766438300
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: autotest
93
- requirement: &70223758521460 !ruby/object:Gem::Requirement
93
+ requirement: &70122766437760 !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: *70223758521460
101
+ version_requirements: *70122766437760
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: rdiscount
104
- requirement: &70223758520860 !ruby/object:Gem::Requirement
104
+ requirement: &70122766437240 !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: *70223758520860
112
+ version_requirements: *70122766437240
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: 952268646322731472
180
+ hash: -4354806175457109230
181
181
  required_rubygems_version: !ruby/object:Gem::Requirement
182
182
  none: false
183
183
  requirements: