nitro 0.12.0 → 0.13.0
Sign up to get free protection for your applications and to get access to all the features.
- data/{ChangeLog → CHANGELOG} +137 -0
- data/INSTALL +1 -2
- data/README +1 -1
- data/Rakefile +10 -61
- data/benchmark/{nitro/bench.rb → bench.rb} +1 -1
- data/benchmark/{nitro/simple-webrick-n-200.txt → simple-webrick-n-200.txt} +0 -0
- data/benchmark/{nitro/static-webrick-n-200.txt → static-webrick-n-200.txt} +0 -0
- data/benchmark/{nitro/tiny-lhttpd-n-200-c-5.txt → tiny-lhttpd-n-200-c-5.txt} +0 -0
- data/benchmark/{nitro/tiny-webrick-n-200-c-5.txt → tiny-webrick-n-200-c-5.txt} +0 -0
- data/benchmark/{nitro/tiny-webrick-n-200.txt → tiny-webrick-n-200.txt} +0 -0
- data/benchmark/{nitro/tiny2-webrick-n-200.txt → tiny2-webrick-n-200.txt} +0 -0
- data/doc/{ChangeLog.1 → CHANGELOG.1} +0 -0
- data/{RELEASES → doc/RELEASES} +46 -0
- data/doc/faq.txt +7 -0
- data/examples/README.windows +1 -1
- data/examples/ajax/controller.rb +21 -0
- data/examples/ajax/public/index.xhtml +70 -0
- data/examples/ajax/public/js/ajax.js +64 -0
- data/examples/ajax/run.rb +16 -0
- data/examples/blog/README +6 -3
- data/examples/blog/conf/apache.conf +2 -2
- data/examples/blog/conf/lhttpd.conf +2 -2
- data/examples/blog/log/apache.error_log +777 -0
- data/examples/blog/{root → public}/base.xsl +0 -0
- data/examples/blog/{root → public}/fcgi.rb +0 -0
- data/examples/blog/{root → public}/m/bubbles.gif +0 -0
- data/examples/blog/{root → public}/m/comments_curve.gif +0 -0
- data/examples/blog/{root → public}/m/down.gif +0 -0
- data/examples/blog/{root → public}/m/footer_bg.gif +0 -0
- data/examples/blog/{root → public}/m/garrow.gif +0 -0
- data/examples/blog/{root → public}/m/gbull.gif +0 -0
- data/examples/blog/{root → public}/m/grbull.gif +0 -0
- data/examples/blog/{root → public}/m/h1_bg.gif +0 -0
- data/examples/blog/{root → public}/m/header_bg.gif +0 -0
- data/examples/blog/{root → public}/m/nitro.gif +0 -0
- data/examples/blog/{root → public}/m/obull.gif +0 -0
- data/examples/blog/{root → public}/m/page_bg.gif +0 -0
- data/examples/blog/{root → public}/m/rss.gif +0 -0
- data/examples/blog/{root → public}/m/side_title_bg.gif +0 -0
- data/examples/blog/{root → public}/m/sidebar_bg.gif +0 -0
- data/examples/{no_xsl_blog/root → blog/public}/style.css +6 -0
- data/examples/blog/run.rb +10 -12
- data/examples/blog/{lib → src}/blog.rb +3 -3
- data/examples/blog/{lib/blog → src}/controller.rb +13 -2
- data/examples/blog/src/mailer.rb +23 -0
- data/examples/blog/{lib/blog/model.rb → src/models/blog.rb} +4 -7
- data/examples/blog/src/models/content.rb +52 -0
- data/examples/blog/src/views/blog_entry_email.xhtml +16 -0
- data/examples/blog/{root → src/views}/comments.xhtml +0 -0
- data/examples/blog/{root → src/views}/entry_form.xhtml +0 -0
- data/examples/blog/{root → src/views}/error.xhtml +0 -0
- data/examples/blog/{root → src/views}/index.xhtml +0 -0
- data/examples/blog/{root → src/views}/login.xhtml +0 -0
- data/examples/blog/{root → src/views}/recent_posts.xhtml +0 -0
- data/examples/blog/{root → src/views}/view_entry.xhtml +8 -0
- data/examples/blog/{root → src/views}/view_entry.xml +0 -0
- data/examples/blog/src/xsl/base.xsl +153 -0
- data/examples/blog/{root → src/xsl}/style.xsl +2 -2
- data/examples/no_xsl_blog/README +5 -1
- data/examples/no_xsl_blog/conf/apache.conf +2 -2
- data/examples/no_xsl_blog/conf/lhttpd.conf +2 -2
- data/examples/no_xsl_blog/lib/blog/model.rb +1 -1
- data/{lib/parts → examples/no_xsl_blog/lib}/content.rb +1 -11
- data/examples/no_xsl_blog/log/apache.error_log +405 -0
- data/examples/no_xsl_blog/{root → public}/comments.xhtml +0 -0
- data/examples/no_xsl_blog/{root → public}/entry_form.xhtml +0 -0
- data/examples/no_xsl_blog/{root → public}/fcgi.rb +0 -0
- data/examples/no_xsl_blog/{root → public}/index.xhtml +0 -0
- data/examples/no_xsl_blog/{root → public}/login.xhtml +0 -0
- data/examples/no_xsl_blog/{root → public}/m/bubbles.gif +0 -0
- data/examples/no_xsl_blog/{root → public}/m/comments_curve.gif +0 -0
- data/examples/no_xsl_blog/{root → public}/m/down.gif +0 -0
- data/examples/no_xsl_blog/{root → public}/m/footer_bg.gif +0 -0
- data/examples/no_xsl_blog/{root → public}/m/garrow.gif +0 -0
- data/examples/no_xsl_blog/{root → public}/m/gbull.gif +0 -0
- data/examples/no_xsl_blog/{root → public}/m/grbull.gif +0 -0
- data/examples/no_xsl_blog/{root → public}/m/h1_bg.gif +0 -0
- data/examples/no_xsl_blog/{root → public}/m/header_bg.gif +0 -0
- data/examples/no_xsl_blog/{root → public}/m/nitro.gif +0 -0
- data/examples/no_xsl_blog/{root → public}/m/obull.gif +0 -0
- data/examples/no_xsl_blog/{root → public}/m/page_bg.gif +0 -0
- data/examples/no_xsl_blog/{root → public}/m/rss.gif +0 -0
- data/examples/no_xsl_blog/{root → public}/m/side_title_bg.gif +0 -0
- data/examples/no_xsl_blog/{root → public}/m/sidebar_bg.gif +0 -0
- data/examples/no_xsl_blog/{root → public}/recent_posts.xhtml +0 -0
- data/examples/{blog/root → no_xsl_blog/public}/style.css +0 -0
- data/examples/no_xsl_blog/{root → public}/view_entry.xhtml +0 -0
- data/examples/no_xsl_blog/{root → public}/view_entry.xml +0 -0
- data/examples/tiny/conf/apache.conf +2 -2
- data/examples/tiny/log/apache.error_log +100 -0
- data/examples/tiny/{root → public}/fcgi.rb +0 -0
- data/examples/tiny/{root → public}/include.xhtml +0 -0
- data/examples/tiny/{root → public}/index.xhtml +0 -0
- data/{bin/proto/root/m → examples/tiny/public}/nitro.png +0 -0
- data/examples/tiny/{root → public}/upload.xhtml +0 -0
- data/examples/tiny/run.rb +1 -2
- data/examples/why_wiki/wiki.yml +1 -0
- data/install.rb +5 -2
- data/lib/nitro.rb +2 -6
- data/lib/nitro/adapters/fastcgi.rb +2 -2
- data/lib/nitro/adapters/webrick.rb +4 -4
- data/lib/nitro/conf.rb +5 -2
- data/lib/nitro/controller.rb +2 -2
- data/lib/nitro/dispatcher.rb +19 -8
- data/lib/nitro/mail.rb +252 -8
- data/lib/nitro/render.rb +24 -21
- data/lib/nitro/runner.rb +1 -1
- data/lib/nitro/scaffold.rb +2 -5
- data/lib/nitro/simple.rb +2 -1
- data/lib/nitro/template.rb +42 -2
- data/test/nitro/tc_controller.rb +9 -4
- data/test/nitro/tc_dispatcher.rb +4 -6
- data/test/nitro/tc_mail.rb +95 -0
- data/test/{root → public}/blog/list.xhtml +0 -0
- data/test/public/dummy_mailer/registration.xhtml +5 -0
- data/vendor/README +0 -1
- metadata +136 -181
- data/benchmark/og/bench.rb +0 -75
- data/benchmark/og/sqlite-no-prepare.1.txt +0 -13
- data/benchmark/og/sqlite-no-prepare.2.txt +0 -13
- data/benchmark/og/sqlite-prepare.1.txt +0 -13
- data/benchmark/og/sqlite-prepare.2.txt +0 -13
- data/bin/proto/README +0 -34
- data/bin/proto/conf/apache.conf +0 -1
- data/bin/proto/conf/app.conf.rb +0 -14
- data/bin/proto/conf/lhttpd.conf +0 -236
- data/bin/proto/ctl +0 -4
- data/bin/proto/lib/README +0 -5
- data/bin/proto/log/README +0 -3
- data/bin/proto/root/fcgi.rb +0 -6
- data/bin/proto/root/index.xhtml +0 -69
- data/bin/proto/root/style.css +0 -152
- data/bin/proto/root/style.xsl +0 -99
- data/doc/og_config.txt +0 -35
- data/doc/og_tutorial.txt +0 -595
- data/examples/og/README +0 -11
- data/examples/og/mock_example.rb +0 -50
- data/examples/og/mysql_to_psql.rb +0 -96
- data/examples/og/run.rb +0 -286
- data/examples/tiny/root/nitro.png +0 -0
- data/lib/glue.rb +0 -55
- data/lib/glue/array.rb +0 -61
- data/lib/glue/attribute.rb +0 -83
- data/lib/glue/cache.rb +0 -138
- data/lib/glue/flexob.rb +0 -12
- data/lib/glue/hash.rb +0 -122
- data/lib/glue/inflector.rb +0 -91
- data/lib/glue/logger.rb +0 -147
- data/lib/glue/misc.rb +0 -14
- data/lib/glue/mixins.rb +0 -36
- data/lib/glue/number.rb +0 -24
- data/lib/glue/object.rb +0 -32
- data/lib/glue/pool.rb +0 -60
- data/lib/glue/property.rb +0 -408
- data/lib/glue/string.rb +0 -162
- data/lib/glue/time.rb +0 -85
- data/lib/glue/validation.rb +0 -394
- data/lib/og.rb +0 -185
- data/lib/og/adapter.rb +0 -513
- data/lib/og/adapters/filesys.rb +0 -121
- data/lib/og/adapters/mysql.rb +0 -347
- data/lib/og/adapters/oracle.rb +0 -375
- data/lib/og/adapters/psql.rb +0 -273
- data/lib/og/adapters/sqlite.rb +0 -262
- data/lib/og/backend.rb +0 -297
- data/lib/og/connection.rb +0 -304
- data/lib/og/database.rb +0 -282
- data/lib/og/enchant.rb +0 -125
- data/lib/og/meta.rb +0 -373
- data/lib/og/mock.rb +0 -165
- data/lib/og/observer.rb +0 -53
- data/lib/og/typemacros.rb +0 -23
- data/lib/parts/README +0 -9
- data/test/glue/tc_attribute.rb +0 -22
- data/test/glue/tc_cache.rb +0 -45
- data/test/glue/tc_hash.rb +0 -38
- data/test/glue/tc_logger.rb +0 -39
- data/test/glue/tc_numbers.rb +0 -20
- data/test/glue/tc_property.rb +0 -89
- data/test/glue/tc_property_mixins.rb +0 -93
- data/test/glue/tc_property_type_checking.rb +0 -35
- data/test/glue/tc_strings.rb +0 -103
- data/test/glue/tc_validation.rb +0 -188
- data/test/og/tc_filesys.rb +0 -83
- data/test/og/tc_lifecycle.rb +0 -104
- data/test/og/tc_many_to_many.rb +0 -62
- data/test/og/tc_meta.rb +0 -55
- data/test/og/tc_observer.rb +0 -85
- data/test/og/tc_sqlite.rb +0 -87
- data/test/tc_og.rb +0 -355
- data/vendor/composite_sexp_processor.rb +0 -43
- data/vendor/parse_tree.rb +0 -745
- data/vendor/sexp_processor.rb +0 -453
data/lib/nitro/render.rb
CHANGED
@@ -42,31 +42,31 @@ module Rendering
|
|
42
42
|
|
43
43
|
mattr_accessor :shader; @@shader = RubyShader.new
|
44
44
|
|
45
|
-
# If
|
45
|
+
# If set to :full, reloads all controllers. Useful in
|
46
46
|
# development.
|
47
47
|
|
48
|
-
mattr_accessor :reload,
|
48
|
+
mattr_accessor :reload, false
|
49
49
|
|
50
50
|
# Given the action try find the matching template.
|
51
51
|
# Can search for xhtml or xml templates.
|
52
52
|
# Returns nil if no template file is found.
|
53
53
|
|
54
|
-
def self.template_for_action(
|
55
|
-
|
54
|
+
def self.template_for_action(template_root, action, ext = :xhtml)
|
55
|
+
|
56
56
|
# attempt to find a template of the form
|
57
|
-
#
|
57
|
+
# template_root/action.xhtml
|
58
|
+
|
59
|
+
path = "#{template_root}/#{action}.#{ext}".squeeze('/')
|
58
60
|
|
59
|
-
path = "#{base}/#{action}.#{ext}".squeeze('/')
|
60
|
-
|
61
61
|
unless File.exist?(path)
|
62
62
|
|
63
63
|
# attempt to find a template of the form
|
64
|
-
#
|
64
|
+
# template_root/action/index.xhtml
|
65
65
|
|
66
|
-
path = "#{
|
67
|
-
|
66
|
+
path = "#{template_root}/#{action}/#{Rendering.default_template}.#{ext}".squeeze('/')
|
67
|
+
|
68
68
|
unless File.exist?(path)
|
69
|
-
# No template
|
69
|
+
# No template founD!
|
70
70
|
path = nil
|
71
71
|
end
|
72
72
|
end
|
@@ -87,7 +87,7 @@ module Rendering
|
|
87
87
|
|
88
88
|
# Compile a controller action.
|
89
89
|
|
90
|
-
def self.compile_action(klass, action,
|
90
|
+
def self.compile_action(klass, action, template_root)
|
91
91
|
@@sync.synchronize do
|
92
92
|
dummy, api, action = action.to_s.split('__')
|
93
93
|
|
@@ -95,7 +95,7 @@ module Rendering
|
|
95
95
|
|
96
96
|
return false unless action
|
97
97
|
|
98
|
-
Logger.debug "Compiling action '#{
|
98
|
+
Logger.debug "Compiling action '#{template_root}/#{action}'" if $DBG
|
99
99
|
|
100
100
|
valid = false
|
101
101
|
|
@@ -138,7 +138,7 @@ module Rendering
|
|
138
138
|
|
139
139
|
# call the template if exists.
|
140
140
|
|
141
|
-
if template = template_for_action(
|
141
|
+
if template = template_for_action(template_root, action)
|
142
142
|
valid = true
|
143
143
|
code << %{
|
144
144
|
return unless __#{api}__#{action}__template();
|
@@ -169,8 +169,6 @@ module Rendering
|
|
169
169
|
}
|
170
170
|
end
|
171
171
|
|
172
|
-
# puts '---', code, '---'
|
173
|
-
|
174
172
|
klass.class_eval(code)
|
175
173
|
end
|
176
174
|
|
@@ -203,15 +201,19 @@ module Render
|
|
203
201
|
|
204
202
|
attr_accessor :rendering_errors
|
205
203
|
|
204
|
+
# The template root for this render.
|
205
|
+
|
206
|
+
cattr_accessor :template_root
|
207
|
+
|
206
208
|
# Initialize the render.
|
207
209
|
#
|
208
210
|
# [+context+]
|
209
211
|
# A parent render/controller acts as the context.
|
210
212
|
|
211
|
-
def initialize(context
|
213
|
+
def initialize(context)
|
212
214
|
@request = @context = context
|
213
215
|
@out = context.out
|
214
|
-
@
|
216
|
+
@template_root = @context.dispatcher.template_root
|
215
217
|
end
|
216
218
|
|
217
219
|
# Renders the action denoted by path. The path
|
@@ -221,16 +223,17 @@ module Render
|
|
221
223
|
def render(path)
|
222
224
|
Logger.debug "Rendering '#{path}'." if $DBG
|
223
225
|
|
224
|
-
klass, action,
|
226
|
+
# klass, action, template_root, ctype = @context.dispatcher.dispatch(path, @context)
|
227
|
+
klass, action, content_type = @context.dispatcher.dispatch(path, @context)
|
225
228
|
|
226
|
-
@context.content_type =
|
229
|
+
@context.content_type = content_type
|
227
230
|
|
228
231
|
raise 'No controller for action' unless klass
|
229
232
|
|
230
233
|
if self.class == klass
|
231
234
|
self.send(action)
|
232
235
|
else
|
233
|
-
klass.new(self
|
236
|
+
klass.new(self).send(action)
|
234
237
|
end
|
235
238
|
|
236
239
|
rescue RenderExit => e
|
data/lib/nitro/runner.rb
CHANGED
data/lib/nitro/scaffold.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# * George Moschovitis <gm@navel.gr>
|
2
2
|
# (c) 2004-2005 Navel, all rights reserved.
|
3
|
-
# $Id: scaffold.rb
|
3
|
+
# $Id: scaffold.rb 300 2005-03-16 13:23:10Z gmosx $
|
4
4
|
|
5
5
|
require 'glue/inflector'
|
6
6
|
|
@@ -8,10 +8,7 @@ module N
|
|
8
8
|
|
9
9
|
module Scaffolding
|
10
10
|
|
11
|
-
|
12
|
-
# needed to include singleton methods in other classes.
|
13
|
-
|
14
|
-
def self.append_features(base)
|
11
|
+
def self.append_features(base) # :nodoc:
|
15
12
|
super
|
16
13
|
base.extend(SingletonMethods)
|
17
14
|
end
|
data/lib/nitro/simple.rb
CHANGED
data/lib/nitro/template.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# * George Moschovitis <gm@navel.gr>
|
2
2
|
# (c) 2004-2005 Navel, all rights reserved.
|
3
|
-
# $Id: template.rb
|
3
|
+
# $Id: template.rb 300 2005-03-16 13:23:10Z gmosx $
|
4
|
+
|
5
|
+
require 'glue/flexob'
|
4
6
|
|
5
7
|
module N
|
6
8
|
|
@@ -91,6 +93,11 @@ module TemplateMixin
|
|
91
93
|
|
92
94
|
text.gsub!(/\#\((.*?)\)/, '#{\1}')
|
93
95
|
|
96
|
+
# Alternative for entities.
|
97
|
+
# (useful in xsl stylesheets)
|
98
|
+
|
99
|
+
text.gsub!(/%(\S*?);/, '&\1;')
|
100
|
+
|
94
101
|
# Compile time ruby code. This code is evaluated when
|
95
102
|
# compiling the template and the result injected directly
|
96
103
|
# into the result. Usefull for example to prevaluate
|
@@ -126,7 +133,8 @@ module TemplateMixin
|
|
126
133
|
|
127
134
|
end
|
128
135
|
|
129
|
-
# A
|
136
|
+
# A helper class that provides access to the Template methods
|
137
|
+
# as singleton methods.
|
130
138
|
|
131
139
|
class Template
|
132
140
|
class << self
|
@@ -137,4 +145,36 @@ class Template
|
|
137
145
|
end
|
138
146
|
end
|
139
147
|
|
148
|
+
# A Template that reads from files and also
|
149
|
+
# provides a simple but effective caching scheme.
|
150
|
+
# An intuitive binding mechanism provides the
|
151
|
+
# expansion environment.
|
152
|
+
|
153
|
+
class FileTemplate < Flexob
|
154
|
+
include TemplateMixin
|
155
|
+
|
156
|
+
@@compiled_template_cache = {}
|
157
|
+
|
158
|
+
attr_accessor :template_filename
|
159
|
+
|
160
|
+
def initialize(filename = nil)
|
161
|
+
super
|
162
|
+
@template_filename = filename
|
163
|
+
end
|
164
|
+
|
165
|
+
def process
|
166
|
+
__out__ = ''
|
167
|
+
|
168
|
+
unless compiled = @@compiled_template_cache[@template_filename]
|
169
|
+
template = File.read(@template_filename)
|
170
|
+
compiled = compile_template(template, '__out__')
|
171
|
+
@@compiled_template_cache[@template_filename] = compiled
|
172
|
+
end
|
173
|
+
|
174
|
+
render_template(compiled, binding)
|
175
|
+
|
176
|
+
return __out__
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
140
180
|
end
|
data/test/nitro/tc_controller.rb
CHANGED
@@ -13,6 +13,11 @@ class TC_Controller < Test::Unit::TestCase # :nodoc: all
|
|
13
13
|
class BlogController < Controller
|
14
14
|
attr_reader :aflag, :tflag
|
15
15
|
|
16
|
+
def initialize(context)
|
17
|
+
super
|
18
|
+
@template_root = 'test/public/blog'
|
19
|
+
end
|
20
|
+
|
16
21
|
def list
|
17
22
|
@aflag = true
|
18
23
|
end
|
@@ -22,7 +27,7 @@ class TC_Controller < Test::Unit::TestCase # :nodoc: all
|
|
22
27
|
@disp = Dispatcher.new({
|
23
28
|
'blog' => BlogController,
|
24
29
|
})
|
25
|
-
@disp.
|
30
|
+
@disp.template_root = File.join(File.dirname(__FILE__), '..', 'public')
|
26
31
|
@conf = OpenStruct.new
|
27
32
|
@conf.dispatcher = @disp
|
28
33
|
end
|
@@ -31,9 +36,9 @@ class TC_Controller < Test::Unit::TestCase # :nodoc: all
|
|
31
36
|
ctx = Context.new(@conf)
|
32
37
|
ctx.headers = {}
|
33
38
|
ctx.params = {}
|
34
|
-
|
35
|
-
klass, action
|
36
|
-
c = klass.new(ctx
|
39
|
+
ctx.headers['REQUEST_URI'] = '/blog/list'
|
40
|
+
klass, action = ctx.dispatcher.dispatch(ctx.path, ctx)
|
41
|
+
c = klass.new(ctx)
|
37
42
|
begin
|
38
43
|
c.send(action)
|
39
44
|
rescue RenderExit
|
data/test/nitro/tc_dispatcher.rb
CHANGED
@@ -38,20 +38,18 @@ class TC_Dispatcher < Test::Unit::TestCase # :nodoc: all
|
|
38
38
|
assert_equal BlogController, klass
|
39
39
|
assert_equal '__xhtml__list', action
|
40
40
|
|
41
|
-
klass, action,
|
41
|
+
klass, action, ctype = @d.dispatch('/blog')
|
42
42
|
assert_equal BlogController, klass
|
43
43
|
assert_equal '__xhtml__index', action
|
44
|
-
assert_equal '
|
44
|
+
assert_equal 'text/html', ctype
|
45
45
|
|
46
|
-
klass, action,
|
46
|
+
klass, action, ctype = @d.dispatch('/login')
|
47
47
|
assert_equal MainController, klass
|
48
48
|
assert_equal '__xhtml__login', action
|
49
|
-
assert_equal 'root', base
|
50
49
|
|
51
|
-
klass, action
|
50
|
+
klass, action = @d.dispatch('/')
|
52
51
|
assert_equal MainController, klass
|
53
52
|
assert_equal '__xhtml__index', action
|
54
|
-
assert_equal 'root', base
|
55
53
|
|
56
54
|
# multi-api dispatcher.
|
57
55
|
|
@@ -0,0 +1,95 @@
|
|
1
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', '..', 'lib')
|
2
|
+
|
3
|
+
require 'test/unit'
|
4
|
+
require 'ostruct'
|
5
|
+
|
6
|
+
require 'nitro/controller'
|
7
|
+
require 'nitro/mail'
|
8
|
+
|
9
|
+
class TestCaseMail < Test::Unit::TestCase # :nodoc: all
|
10
|
+
include N
|
11
|
+
|
12
|
+
class DummyMailer < Mailer
|
13
|
+
def initialize
|
14
|
+
super
|
15
|
+
@bcc = 'gm@navel.gr'
|
16
|
+
@template_root = 'test/public/dummy_mailer'
|
17
|
+
end
|
18
|
+
|
19
|
+
def registration(to, username, token)
|
20
|
+
@to = to
|
21
|
+
@from = 'system@navel.gr'
|
22
|
+
@subject = 'Nitro.com registration'
|
23
|
+
@cc = 'gm@navel.gr'
|
24
|
+
@body.username = username
|
25
|
+
@body.token = token
|
26
|
+
end
|
27
|
+
|
28
|
+
def greek(to)
|
29
|
+
@to = to
|
30
|
+
@from = 'system@navel.gr'
|
31
|
+
@subject = 'Ελληνικός Τίτλος'
|
32
|
+
@cc = 'gm@navel.gr'
|
33
|
+
@body = 'Τί έγινε ρε παιδιά;'
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
class DummyController < Controller
|
38
|
+
# mailer DummyMailer
|
39
|
+
|
40
|
+
def register
|
41
|
+
token = 999
|
42
|
+
deliver_registration('gmosx@navel.gr', 'gmosx', token)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_mail
|
47
|
+
m = Mail.new 'gmosx@navel.gr', 'drak@navel.gr', 'A simple test', 'This is the body of the message'
|
48
|
+
expected = %{From: gmosx@navel.gr
|
49
|
+
To: drak@navel.gr
|
50
|
+
Subject: A simple test
|
51
|
+
|
52
|
+
This is the body of the message}
|
53
|
+
assert_equal expected, m.encoded
|
54
|
+
|
55
|
+
m.to = %w{ renos@navel.gr stella@navel.gr }
|
56
|
+
expected = %{From: gmosx@navel.gr
|
57
|
+
To: renos@navel.gr, stella@navel.gr
|
58
|
+
Subject: A simple test
|
59
|
+
|
60
|
+
This is the body of the message}
|
61
|
+
assert_equal expected, m.encoded
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_mailer
|
66
|
+
assert_equal 0, DummyMailer.deliveries.size
|
67
|
+
|
68
|
+
Mailer.server[:address] = 'mail.navel.gr'
|
69
|
+
assert_equal 'mail.navel.gr', DummyMailer.server[:address]
|
70
|
+
|
71
|
+
DummyMailer.delivery_method = :test
|
72
|
+
DummyMailer.template_root = File.join(File.dirname(__FILE__), '..', 'root', 'dummy_mailer')
|
73
|
+
token = 999
|
74
|
+
DummyMailer.deliver_registration('gm@navel.gr', 'gmosx', token)
|
75
|
+
assert_equal 1, DummyMailer.deliveries.size
|
76
|
+
|
77
|
+
expected = %{From: system@navel.gr
|
78
|
+
To: gm@navel.gr
|
79
|
+
Cc: gm@navel.gr
|
80
|
+
Bcc: gm@navel.gr
|
81
|
+
Subject: =?utf-8?Q?Nitro=2ecom_registration?=
|
82
|
+
|
83
|
+
Hello gmosx
|
84
|
+
|
85
|
+
how do you feel?
|
86
|
+
|
87
|
+
Here is your <b>Token</b>: 999
|
88
|
+
}
|
89
|
+
assert_equal expected, DummyMailer.deliveries[0].encoded
|
90
|
+
|
91
|
+
DummyMailer.deliver_greek('gm@navel.gr')
|
92
|
+
assert_equal 2, DummyMailer.deliveries.size
|
93
|
+
end
|
94
|
+
|
95
|
+
end
|
File without changes
|
data/vendor/README
CHANGED
metadata
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.8.
|
2
|
+
rubygems_version: 0.8.8
|
3
3
|
specification_version: 1
|
4
4
|
name: nitro
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2005-03-
|
6
|
+
version: 0.13.0
|
7
|
+
date: 2005-03-17
|
8
8
|
summary: Nitro Web Engine
|
9
9
|
require_paths:
|
10
10
|
- lib
|
11
11
|
email: gm@navel.gr
|
12
|
-
homepage: http://
|
12
|
+
homepage: http://nitro.rubyforge.org
|
13
13
|
rubyforge_project: nitro
|
14
|
-
description: "
|
15
|
-
|
14
|
+
description: "Nitro provides everything you need to develop real-world, scalable web
|
15
|
+
applications."
|
16
16
|
autorequire: nitro
|
17
17
|
default_executable: nitro
|
18
18
|
bindir: bin
|
@@ -22,53 +22,28 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
|
|
22
22
|
-
|
23
23
|
- ">="
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: 1.8.
|
25
|
+
version: 1.8.1
|
26
26
|
version:
|
27
27
|
platform: ruby
|
28
28
|
authors:
|
29
29
|
- George Moschovitis
|
30
30
|
files:
|
31
31
|
- Rakefile
|
32
|
-
- ChangeLog
|
33
32
|
- INSTALL
|
34
|
-
-
|
33
|
+
- CHANGELOG
|
35
34
|
- README
|
36
35
|
- install.rb
|
37
36
|
- bin/nitro
|
38
37
|
- bin/new_app.rb
|
39
|
-
- bin/proto
|
40
38
|
- bin/new_form.rb
|
41
|
-
-
|
42
|
-
-
|
43
|
-
-
|
44
|
-
-
|
45
|
-
-
|
46
|
-
-
|
47
|
-
-
|
48
|
-
-
|
49
|
-
- bin/proto/conf/lhttpd.conf
|
50
|
-
- bin/proto/conf/app.conf.rb
|
51
|
-
- bin/proto/root/index.xhtml
|
52
|
-
- bin/proto/root/style.css
|
53
|
-
- bin/proto/root/m
|
54
|
-
- bin/proto/root/fcgi.rb
|
55
|
-
- bin/proto/root/style.xsl
|
56
|
-
- bin/proto/root/m/nitro.png
|
57
|
-
- bin/proto/lib/README
|
58
|
-
- benchmark/nitro
|
59
|
-
- benchmark/og
|
60
|
-
- benchmark/nitro/tiny-lhttpd-n-200-c-5.txt
|
61
|
-
- benchmark/nitro/simple-webrick-n-200.txt
|
62
|
-
- benchmark/nitro/static-webrick-n-200.txt
|
63
|
-
- benchmark/nitro/tiny2-webrick-n-200.txt
|
64
|
-
- benchmark/nitro/tiny-webrick-n-200-c-5.txt
|
65
|
-
- benchmark/nitro/tiny-webrick-n-200.txt
|
66
|
-
- benchmark/nitro/bench.rb
|
67
|
-
- benchmark/og/sqlite-prepare.2.txt
|
68
|
-
- benchmark/og/sqlite-no-prepare.2.txt
|
69
|
-
- benchmark/og/sqlite-no-prepare.1.txt
|
70
|
-
- benchmark/og/bench.rb
|
71
|
-
- benchmark/og/sqlite-prepare.1.txt
|
39
|
+
- benchmark/tiny-lhttpd-n-200-c-5.txt
|
40
|
+
- benchmark/simple-webrick-n-200.txt
|
41
|
+
- benchmark/static-webrick-n-200.txt
|
42
|
+
- benchmark/tiny2-webrick-n-200.txt
|
43
|
+
- benchmark/tiny-webrick-n-200-c-5.txt
|
44
|
+
- benchmark/tiny-webrick-n-200.txt
|
45
|
+
- benchmark/bench.rb
|
46
|
+
- examples/ajax
|
72
47
|
- examples/no_xsl_blog
|
73
48
|
- examples/why_wiki
|
74
49
|
- examples/flash
|
@@ -76,10 +51,15 @@ files:
|
|
76
51
|
- examples/wee_style
|
77
52
|
- examples/blog
|
78
53
|
- examples/README.windows
|
79
|
-
- examples/
|
54
|
+
- examples/ajax/controller.rb
|
55
|
+
- examples/ajax/public
|
56
|
+
- examples/ajax/run.rb
|
57
|
+
- examples/ajax/public/index.xhtml
|
58
|
+
- examples/ajax/public/js
|
59
|
+
- examples/ajax/public/js/ajax.js
|
80
60
|
- examples/no_xsl_blog/log
|
81
61
|
- examples/no_xsl_blog/conf
|
82
|
-
- examples/no_xsl_blog/
|
62
|
+
- examples/no_xsl_blog/public
|
83
63
|
- examples/no_xsl_blog/run.rb
|
84
64
|
- examples/no_xsl_blog/lib
|
85
65
|
- examples/no_xsl_blog/README
|
@@ -87,36 +67,38 @@ files:
|
|
87
67
|
- examples/no_xsl_blog/log/README
|
88
68
|
- examples/no_xsl_blog/conf/apache.conf
|
89
69
|
- examples/no_xsl_blog/conf/lhttpd.conf
|
90
|
-
- examples/no_xsl_blog/
|
91
|
-
- examples/no_xsl_blog/
|
92
|
-
- examples/no_xsl_blog/
|
93
|
-
- examples/no_xsl_blog/
|
94
|
-
- examples/no_xsl_blog/
|
95
|
-
- examples/no_xsl_blog/
|
96
|
-
- examples/no_xsl_blog/
|
97
|
-
- examples/no_xsl_blog/
|
98
|
-
- examples/no_xsl_blog/
|
99
|
-
- examples/no_xsl_blog/
|
100
|
-
- examples/no_xsl_blog/
|
101
|
-
- examples/no_xsl_blog/
|
102
|
-
- examples/no_xsl_blog/
|
103
|
-
- examples/no_xsl_blog/
|
104
|
-
- examples/no_xsl_blog/
|
105
|
-
- examples/no_xsl_blog/
|
106
|
-
- examples/no_xsl_blog/
|
107
|
-
- examples/no_xsl_blog/
|
108
|
-
- examples/no_xsl_blog/
|
109
|
-
- examples/no_xsl_blog/
|
110
|
-
- examples/no_xsl_blog/
|
111
|
-
- examples/no_xsl_blog/
|
112
|
-
- examples/no_xsl_blog/
|
113
|
-
- examples/no_xsl_blog/
|
114
|
-
- examples/no_xsl_blog/
|
70
|
+
- examples/no_xsl_blog/public/login.xhtml
|
71
|
+
- examples/no_xsl_blog/public/index.xhtml
|
72
|
+
- examples/no_xsl_blog/public/style.css
|
73
|
+
- examples/no_xsl_blog/public/entry_form.xhtml
|
74
|
+
- examples/no_xsl_blog/public/m
|
75
|
+
- examples/no_xsl_blog/public/fcgi.rb
|
76
|
+
- examples/no_xsl_blog/public/comments.xhtml
|
77
|
+
- examples/no_xsl_blog/public/recent_posts.xhtml
|
78
|
+
- examples/no_xsl_blog/public/view_entry.xhtml
|
79
|
+
- examples/no_xsl_blog/public/view_entry.xml
|
80
|
+
- examples/no_xsl_blog/public/m/gbull.gif
|
81
|
+
- examples/no_xsl_blog/public/m/garrow.gif
|
82
|
+
- examples/no_xsl_blog/public/m/comments_curve.gif
|
83
|
+
- examples/no_xsl_blog/public/m/obull.gif
|
84
|
+
- examples/no_xsl_blog/public/m/down.gif
|
85
|
+
- examples/no_xsl_blog/public/m/bubbles.gif
|
86
|
+
- examples/no_xsl_blog/public/m/page_bg.gif
|
87
|
+
- examples/no_xsl_blog/public/m/header_bg.gif
|
88
|
+
- examples/no_xsl_blog/public/m/side_title_bg.gif
|
89
|
+
- examples/no_xsl_blog/public/m/rss.gif
|
90
|
+
- examples/no_xsl_blog/public/m/h1_bg.gif
|
91
|
+
- examples/no_xsl_blog/public/m/nitro.gif
|
92
|
+
- examples/no_xsl_blog/public/m/sidebar_bg.gif
|
93
|
+
- examples/no_xsl_blog/public/m/grbull.gif
|
94
|
+
- examples/no_xsl_blog/public/m/footer_bg.gif
|
95
|
+
- examples/no_xsl_blog/lib/content.rb
|
115
96
|
- examples/no_xsl_blog/lib/blog
|
116
97
|
- examples/no_xsl_blog/lib/blog.rb
|
117
98
|
- examples/no_xsl_blog/lib/blog/template.rb
|
118
99
|
- examples/no_xsl_blog/lib/blog/model.rb
|
119
100
|
- examples/no_xsl_blog/lib/blog/controller.rb
|
101
|
+
- examples/why_wiki/wiki.yml
|
120
102
|
- examples/why_wiki/run.rb
|
121
103
|
- examples/why_wiki/README
|
122
104
|
- examples/flash/log
|
@@ -128,83 +110,80 @@ files:
|
|
128
110
|
- examples/flash/root/show_inline_text.xhtml
|
129
111
|
- examples/tiny/log
|
130
112
|
- examples/tiny/conf
|
131
|
-
- examples/tiny/
|
113
|
+
- examples/tiny/public
|
132
114
|
- examples/tiny/run.rb
|
133
115
|
- examples/tiny/README
|
134
116
|
- examples/tiny/log/apache.error_log
|
135
117
|
- examples/tiny/log/README
|
136
118
|
- examples/tiny/conf/apache.conf
|
137
119
|
- examples/tiny/conf/lhttpd.conf
|
138
|
-
- examples/tiny/
|
139
|
-
- examples/tiny/
|
140
|
-
- examples/tiny/
|
141
|
-
- examples/tiny/
|
142
|
-
- examples/tiny/
|
120
|
+
- examples/tiny/public/index.xhtml
|
121
|
+
- examples/tiny/public/nitro.png
|
122
|
+
- examples/tiny/public/upload.xhtml
|
123
|
+
- examples/tiny/public/fcgi.rb
|
124
|
+
- examples/tiny/public/include.xhtml
|
143
125
|
- examples/wee_style/run.rb
|
144
126
|
- examples/wee_style/README
|
145
127
|
- examples/blog/log
|
146
128
|
- examples/blog/conf
|
147
|
-
- examples/blog/
|
129
|
+
- examples/blog/public
|
130
|
+
- examples/blog/src
|
148
131
|
- examples/blog/run.rb
|
149
|
-
- examples/blog/lib
|
150
132
|
- examples/blog/README
|
151
133
|
- examples/blog/log/apache.error_log
|
152
134
|
- examples/blog/log/README
|
153
135
|
- examples/blog/conf/apache.conf
|
154
136
|
- examples/blog/conf/lhttpd.conf
|
155
|
-
- examples/blog/
|
156
|
-
- examples/blog/
|
157
|
-
- examples/blog/
|
158
|
-
- examples/blog/
|
159
|
-
- examples/blog/
|
160
|
-
- examples/blog/
|
161
|
-
- examples/blog/
|
162
|
-
- examples/blog/
|
163
|
-
- examples/blog/
|
164
|
-
- examples/blog/
|
165
|
-
- examples/blog/
|
166
|
-
- examples/blog/
|
167
|
-
- examples/blog/
|
168
|
-
- examples/blog/
|
169
|
-
- examples/blog/
|
170
|
-
- examples/blog/
|
171
|
-
- examples/blog/
|
172
|
-
- examples/blog/
|
173
|
-
- examples/blog/
|
174
|
-
- examples/blog/
|
175
|
-
- examples/blog/
|
176
|
-
- examples/blog/
|
177
|
-
- examples/blog/
|
178
|
-
- examples/blog/
|
179
|
-
- examples/blog/
|
180
|
-
- examples/blog/
|
181
|
-
- examples/blog/
|
182
|
-
- examples/blog/
|
183
|
-
- examples/blog/
|
184
|
-
- examples/blog/
|
185
|
-
- examples/blog/
|
186
|
-
- examples/blog/
|
187
|
-
- examples/
|
188
|
-
- examples/
|
189
|
-
- examples/
|
190
|
-
- examples/
|
191
|
-
-
|
137
|
+
- examples/blog/public/style.css
|
138
|
+
- examples/blog/public/m
|
139
|
+
- examples/blog/public/fcgi.rb
|
140
|
+
- examples/blog/public/base.xsl
|
141
|
+
- examples/blog/public/m/gbull.gif
|
142
|
+
- examples/blog/public/m/garrow.gif
|
143
|
+
- examples/blog/public/m/comments_curve.gif
|
144
|
+
- examples/blog/public/m/obull.gif
|
145
|
+
- examples/blog/public/m/down.gif
|
146
|
+
- examples/blog/public/m/bubbles.gif
|
147
|
+
- examples/blog/public/m/page_bg.gif
|
148
|
+
- examples/blog/public/m/header_bg.gif
|
149
|
+
- examples/blog/public/m/side_title_bg.gif
|
150
|
+
- examples/blog/public/m/rss.gif
|
151
|
+
- examples/blog/public/m/h1_bg.gif
|
152
|
+
- examples/blog/public/m/nitro.gif
|
153
|
+
- examples/blog/public/m/sidebar_bg.gif
|
154
|
+
- examples/blog/public/m/grbull.gif
|
155
|
+
- examples/blog/public/m/footer_bg.gif
|
156
|
+
- examples/blog/src/xsl
|
157
|
+
- examples/blog/src/models
|
158
|
+
- examples/blog/src/views
|
159
|
+
- examples/blog/src/blog.rb
|
160
|
+
- examples/blog/src/controller.rb
|
161
|
+
- examples/blog/src/mailer.rb
|
162
|
+
- examples/blog/src/xsl/style.xsl
|
163
|
+
- examples/blog/src/xsl/base.xsl
|
164
|
+
- examples/blog/src/models/content.rb
|
165
|
+
- examples/blog/src/models/blog.rb
|
166
|
+
- examples/blog/src/views/login.xhtml
|
167
|
+
- examples/blog/src/views/blog_entry_email.xhtml
|
168
|
+
- examples/blog/src/views/error.xhtml
|
169
|
+
- examples/blog/src/views/index.xhtml
|
170
|
+
- examples/blog/src/views/entry_form.xhtml
|
171
|
+
- examples/blog/src/views/comments.xhtml
|
172
|
+
- examples/blog/src/views/recent_posts.xhtml
|
173
|
+
- examples/blog/src/views/view_entry.xhtml
|
174
|
+
- examples/blog/src/views/view_entry.xml
|
192
175
|
- doc/config.txt
|
193
176
|
- doc/LICENSE
|
194
177
|
- doc/AUTHORS
|
178
|
+
- doc/CHANGELOG.1
|
195
179
|
- doc/apache.txt
|
180
|
+
- doc/faq.txt
|
181
|
+
- doc/RELEASES
|
196
182
|
- doc/tutorial.txt
|
197
|
-
- doc/og_tutorial.txt
|
198
183
|
- doc/architecture.txt
|
199
184
|
- doc/bugs.txt
|
200
|
-
- doc/og_config.txt
|
201
185
|
- lib/nitro
|
202
|
-
- lib/parts
|
203
|
-
- lib/glue.rb
|
204
186
|
- lib/nitro.rb
|
205
|
-
- lib/glue
|
206
|
-
- lib/og
|
207
|
-
- lib/og.rb
|
208
187
|
- lib/nitro/localization.rb
|
209
188
|
- lib/nitro/cookie.rb
|
210
189
|
- lib/nitro/session.rb
|
@@ -249,45 +228,8 @@ files:
|
|
249
228
|
- lib/nitro/ui/date-select.rb
|
250
229
|
- lib/nitro/ui/tabs.rb
|
251
230
|
- lib/nitro/ui/popup.rb
|
252
|
-
- lib/parts/content.rb
|
253
|
-
- lib/parts/content
|
254
|
-
- lib/parts/README
|
255
|
-
- lib/glue/mixins.rb
|
256
|
-
- lib/glue/logger.rb
|
257
|
-
- lib/glue/pool.rb
|
258
|
-
- lib/glue/inflector.rb
|
259
|
-
- lib/glue/hash.rb
|
260
|
-
- lib/glue/number.rb
|
261
|
-
- lib/glue/time.rb
|
262
|
-
- lib/glue/property.rb
|
263
|
-
- lib/glue/misc.rb
|
264
|
-
- lib/glue/flexob.rb
|
265
|
-
- lib/glue/cache.rb
|
266
|
-
- lib/glue/string.rb
|
267
|
-
- lib/glue/object.rb
|
268
|
-
- lib/glue/array.rb
|
269
|
-
- lib/glue/validation.rb
|
270
|
-
- lib/glue/attribute.rb
|
271
|
-
- lib/og/adapter.rb
|
272
|
-
- lib/og/adapters
|
273
|
-
- lib/og/enchant.rb
|
274
|
-
- lib/og/connection.rb
|
275
|
-
- lib/og/observer.rb
|
276
|
-
- lib/og/database.rb
|
277
|
-
- lib/og/mock.rb
|
278
|
-
- lib/og/meta.rb
|
279
|
-
- lib/og/typemacros.rb
|
280
|
-
- lib/og/backend.rb
|
281
|
-
- lib/og/adapters/oracle.rb
|
282
|
-
- lib/og/adapters/filesys.rb
|
283
|
-
- lib/og/adapters/mysql.rb
|
284
|
-
- lib/og/adapters/sqlite.rb
|
285
|
-
- lib/og/adapters/psql.rb
|
286
231
|
- test/nitro
|
287
|
-
- test/
|
288
|
-
- test/root
|
289
|
-
- test/glue
|
290
|
-
- test/og
|
232
|
+
- test/public
|
291
233
|
- test/nitro/tc_uri.rb
|
292
234
|
- test/nitro/tc_template.rb
|
293
235
|
- test/nitro/tc_controller.rb
|
@@ -295,6 +237,7 @@ files:
|
|
295
237
|
- test/nitro/tc_session.rb
|
296
238
|
- test/nitro/builders
|
297
239
|
- test/nitro/ui
|
240
|
+
- test/nitro/tc_mail.rb
|
298
241
|
- test/nitro/tc_context.rb
|
299
242
|
- test/nitro/tc_dispatcher.rb
|
300
243
|
- test/nitro/adapters/tc_webrick.rb
|
@@ -305,32 +248,15 @@ files:
|
|
305
248
|
- test/nitro/builders/tc_xml.rb
|
306
249
|
- test/nitro/builders/tc_rss.rb
|
307
250
|
- test/nitro/ui/tc_pager.rb
|
308
|
-
- test/
|
309
|
-
- test/
|
310
|
-
- test/
|
311
|
-
- test/
|
312
|
-
- test/glue/tc_logger.rb
|
313
|
-
- test/glue/tc_validation.rb
|
314
|
-
- test/glue/tc_property.rb
|
315
|
-
- test/glue/tc_hash.rb
|
316
|
-
- test/glue/tc_attribute.rb
|
317
|
-
- test/glue/tc_property_mixins.rb
|
318
|
-
- test/glue/tc_cache.rb
|
319
|
-
- test/glue/tc_numbers.rb
|
320
|
-
- test/og/tc_sqlite.rb
|
321
|
-
- test/og/tc_observer.rb
|
322
|
-
- test/og/tc_filesys.rb
|
323
|
-
- test/og/tc_meta.rb
|
324
|
-
- test/og/tc_many_to_many.rb
|
325
|
-
- test/og/tc_lifecycle.rb
|
251
|
+
- test/public/blog
|
252
|
+
- test/public/dummy_mailer
|
253
|
+
- test/public/blog/list.xhtml
|
254
|
+
- test/public/dummy_mailer/registration.xhtml
|
326
255
|
- vendor/breakpoint_client.rb
|
327
|
-
- vendor/sexp_processor.rb
|
328
|
-
- vendor/composite_sexp_processor.rb
|
329
256
|
- vendor/extensions
|
330
257
|
- vendor/binding_of_caller.rb
|
331
258
|
- vendor/blankslate.rb
|
332
259
|
- vendor/breakpoint.rb
|
333
|
-
- vendor/parse_tree.rb
|
334
260
|
- vendor/README
|
335
261
|
- vendor/extensions/enumerable.rb
|
336
262
|
- vendor/extensions/all.rb
|
@@ -359,15 +285,44 @@ rdoc_options:
|
|
359
285
|
- "--inline-source"
|
360
286
|
extra_rdoc_files:
|
361
287
|
- Rakefile
|
362
|
-
- ChangeLog
|
363
288
|
- INSTALL
|
364
|
-
-
|
289
|
+
- CHANGELOG
|
365
290
|
- README
|
366
291
|
executables:
|
367
292
|
- nitro
|
368
293
|
extensions: []
|
369
294
|
requirements: []
|
370
295
|
dependencies:
|
296
|
+
- !ruby/object:Gem::Dependency
|
297
|
+
name: glue
|
298
|
+
version_requirement:
|
299
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
300
|
+
requirements:
|
301
|
+
-
|
302
|
+
- "="
|
303
|
+
- !ruby/object:Gem::Version
|
304
|
+
version: 0.13.0
|
305
|
+
version:
|
306
|
+
- !ruby/object:Gem::Dependency
|
307
|
+
name: og
|
308
|
+
version_requirement:
|
309
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
310
|
+
requirements:
|
311
|
+
-
|
312
|
+
- "="
|
313
|
+
- !ruby/object:Gem::Version
|
314
|
+
version: 0.13.0
|
315
|
+
version:
|
316
|
+
- !ruby/object:Gem::Dependency
|
317
|
+
name: ruby-breakpoint
|
318
|
+
version_requirement:
|
319
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
320
|
+
requirements:
|
321
|
+
-
|
322
|
+
- ">="
|
323
|
+
- !ruby/object:Gem::Version
|
324
|
+
version: "0.5"
|
325
|
+
version:
|
371
326
|
- !ruby/object:Gem::Dependency
|
372
327
|
name: extensions
|
373
328
|
version_requirement:
|