nitro 0.2.0 → 0.3.0
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/ChangeLog +186 -0
- data/README +40 -11
- data/RELEASES +10 -1
- data/Rakefile +5 -4
- data/bin/cluster.rb +3 -3
- data/{etc/new-project.rb → bin/new_app.rb} +1 -1
- data/examples/og/README +4 -0
- data/examples/og/run.rb +254 -0
- data/examples/simple/app.rb +3 -3
- data/examples/simple/conf/config.rb +10 -22
- data/examples/simple/conf/debug-config.rb +6 -32
- data/examples/simple/conf/live-config.rb +3 -23
- data/examples/simple/conf/requires.rb +5 -5
- data/examples/simple/env.rb +3 -4
- data/examples/simple/lib/articles/entities.rb +17 -15
- data/examples/simple/lib/articles/methods.rb +15 -15
- data/examples/simple/lib/articles/part.rb +7 -8
- data/examples/simple/root/comments.si +1 -1
- data/examples/simple/root/index.sx +1 -1
- data/examples/simple/root/view-article.sx +1 -2
- data/examples/tiny/app.rb +3 -3
- data/examples/tiny/conf/config.rb +4 -4
- data/examples/tiny/conf/requires.rb +3 -4
- data/lib/n/config.rb +50 -3
- data/lib/n/logger.rb +14 -2
- data/lib/n/og.rb +381 -0
- data/lib/n/og/backend.rb +252 -0
- data/lib/n/og/backends/mysql.rb +352 -0
- data/lib/n/og/backends/psql.rb +351 -0
- data/lib/n/og/connection.rb +253 -0
- data/lib/n/og/meta.rb +127 -0
- data/lib/n/properties.rb +6 -6
- data/lib/n/server.rb +4 -7
- data/lib/n/server/appserver.rb +58 -0
- data/lib/n/{app → server}/cluster.rb +3 -3
- data/lib/n/{app → server}/cookie.rb +3 -3
- data/lib/n/server/dispatcher.rb +55 -0
- data/lib/n/server/{filter.rb → filters.rb} +1 -1
- data/lib/n/{app → server}/filters/autologin.rb +5 -5
- data/lib/n/{app → server}/fragment.rb +3 -3
- data/lib/n/{app → server}/handlers.rb +4 -4
- data/lib/n/{app → server}/handlers/code-handler.rb +6 -6
- data/lib/n/{app → server}/handlers/page-handler.rb +9 -7
- data/lib/n/{app → server}/request.rb +8 -8
- data/lib/n/{app/request-part.rb → server/requestpart.rb} +4 -4
- data/lib/n/{app → server}/script.rb +5 -5
- data/lib/n/{app → server}/server.rb +1 -1
- data/lib/n/{app → server}/session.rb +5 -5
- data/lib/n/{app → server}/user.rb +1 -1
- data/lib/n/{app/webrick-servlet.rb → server/webrick.rb} +77 -20
- data/lib/n/shaders.rb +3 -2
- data/lib/n/std.rb +5 -32
- data/test/n/{app → server}/tc_cookie.rb +2 -2
- data/test/n/server/tc_filters.rb +38 -0
- data/test/n/{app → server}/tc_request.rb +6 -6
- data/test/n/{app → server}/tc_requestpart.rb +3 -3
- data/test/n/{app → server}/tc_session.rb +2 -2
- data/test/n/tc_og.rb +178 -0
- data/test/n/ui/tc_pager.rb +3 -3
- metadata +41 -65
- data/examples/ndb/README +0 -5
- data/examples/ndb/run.rb +0 -271
- data/lib/n/app/webrick.rb +0 -73
- data/lib/n/db.rb +0 -233
- data/lib/n/db/README +0 -232
- data/lib/n/db/connection.rb +0 -365
- data/lib/n/db/managed.rb +0 -233
- data/lib/n/db/mixins.rb +0 -279
- data/lib/n/db/mysql.rb +0 -345
- data/lib/n/db/psql.rb +0 -383
- data/lib/n/db/tools.rb +0 -106
- data/lib/n/db/utils.rb +0 -102
- data/lib/n/server/PLAYBACK.txt +0 -8
- data/lib/n/server/RESEARCH.txt +0 -13
- data/test/n/tc_db.rb +0 -223
- data/test/n/tc_db_mysql.rb +0 -241
@@ -0,0 +1,38 @@
|
|
1
|
+
require "test/unit"
|
2
|
+
|
3
|
+
require "n/server/filters"
|
4
|
+
|
5
|
+
class Filter1 < N::ServerFilter
|
6
|
+
# :nodoc: all
|
7
|
+
def process(request)
|
8
|
+
return "filter1:#{process_next(request)}"
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class Filter2 < ServerFilter
|
13
|
+
# :nodoc: all
|
14
|
+
def process(request)
|
15
|
+
return "filter2:#{process_next(request)}"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class TC_Server_Filter < Test::Unit::TestCase
|
20
|
+
# :nodoc: all
|
21
|
+
|
22
|
+
def setup
|
23
|
+
@filter = Filter1.new(Filter2.new)
|
24
|
+
end
|
25
|
+
|
26
|
+
def teardown
|
27
|
+
@filter = nil
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_process_next
|
31
|
+
@filter = Filter1.new
|
32
|
+
assert_equal("filter1:", @filter.process(nil))
|
33
|
+
|
34
|
+
@filter = Filter1.new(Filter2.new)
|
35
|
+
assert_equal("filter1:filter2:", @filter.process(nil))
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
@@ -4,10 +4,10 @@ require "test/unit"
|
|
4
4
|
|
5
5
|
require "n/logger"; $log = Logger.new(STDERR) unless $log
|
6
6
|
|
7
|
-
require "n/
|
8
|
-
require "n/
|
7
|
+
require "n/server/cookie"
|
8
|
+
require "n/server/request"
|
9
9
|
|
10
|
-
include N
|
10
|
+
include N
|
11
11
|
|
12
12
|
class TC_Request < Test::Unit::TestCase
|
13
13
|
# :nodoc: all
|
@@ -19,7 +19,7 @@ class TC_Request < Test::Unit::TestCase
|
|
19
19
|
end
|
20
20
|
=begin
|
21
21
|
def test_parse
|
22
|
-
request = N::
|
22
|
+
request = N::Request.new
|
23
23
|
|
24
24
|
request.parse_cookies("nsid=293230807; nauth=gmosx:meMXs0ifW7JBQ; koko=123&345")
|
25
25
|
|
@@ -38,7 +38,7 @@ class TC_Request < Test::Unit::TestCase
|
|
38
38
|
=end
|
39
39
|
def test_get_cookie
|
40
40
|
# bug: call get_cookie w/o cookies.
|
41
|
-
request = N::
|
41
|
+
request = N::Request.new
|
42
42
|
request.in_cookies = nil
|
43
43
|
assert_nothing_raised {
|
44
44
|
request.get_cookie("test")
|
@@ -46,7 +46,7 @@ class TC_Request < Test::Unit::TestCase
|
|
46
46
|
end
|
47
47
|
|
48
48
|
def test_tx
|
49
|
-
request = N::
|
49
|
+
request = N::Request.new
|
50
50
|
request.session = {}
|
51
51
|
request.parameters = {}
|
52
52
|
|
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
require "test/unit"
|
4
4
|
|
5
|
-
require "n/
|
6
|
-
require "n/
|
5
|
+
require "n/server/cookie"
|
6
|
+
require "n/server/request"
|
7
7
|
|
8
|
-
include N
|
8
|
+
include N
|
9
9
|
|
10
10
|
class TC_N2_Web_Server_RequestPart < Test::Unit::TestCase # :nodoc: all
|
11
11
|
# :nodoc: all
|
data/test/n/tc_og.rb
ADDED
@@ -0,0 +1,178 @@
|
|
1
|
+
require "test/unit"
|
2
|
+
|
3
|
+
require "n/logger"; $log = Logger.new(STDERR) unless $log
|
4
|
+
require "n/og"
|
5
|
+
|
6
|
+
module Test # :nodoc: all
|
7
|
+
|
8
|
+
# bug: creates a table that fucksup postgres if not
|
9
|
+
# correctly escaped.
|
10
|
+
class User
|
11
|
+
prop_accessor String, :name
|
12
|
+
|
13
|
+
def initialize(name = nil)
|
14
|
+
@name = name
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
class Comment; end
|
19
|
+
|
20
|
+
class Article
|
21
|
+
has_many Test::Comment, :comments
|
22
|
+
prop_accessor String, :title
|
23
|
+
prop_accessor String, :body
|
24
|
+
prop_accessor Hash, :options
|
25
|
+
|
26
|
+
def initialize(title = nil, body = nil)
|
27
|
+
@title = title
|
28
|
+
@body = body
|
29
|
+
@options = {"hello" => "world"}
|
30
|
+
end
|
31
|
+
|
32
|
+
def og_pre_insert(conn)
|
33
|
+
puts "-- PRE INSERT CALLED FOR ARTICLE"
|
34
|
+
end
|
35
|
+
|
36
|
+
def og_post_insert_update(conn)
|
37
|
+
puts "-- POST INSERT UPDATE CALLED FOR ARTICLE"
|
38
|
+
end
|
39
|
+
|
40
|
+
def og_post_update(conn)
|
41
|
+
puts "-- POST UPDATE CALLED FOR ARTICLE"
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
class Comment
|
46
|
+
belongs_to Test::Article, :article
|
47
|
+
belongs_to Test::User, :author
|
48
|
+
prop_accessor String, :body
|
49
|
+
prop_accessor Time, :create_time
|
50
|
+
|
51
|
+
def initialize(body = nil)
|
52
|
+
@create_time = Time.now
|
53
|
+
@body = body
|
54
|
+
end
|
55
|
+
|
56
|
+
def og_pre_insert(conn)
|
57
|
+
puts "-- PRE INSERT CALLED FOR COMMENT"
|
58
|
+
end
|
59
|
+
|
60
|
+
def og_post_insert(conn)
|
61
|
+
puts "-- POST INSERT CALLED FOR COMMENT"
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
class TC_N_OG < Test::Unit::TestCase
|
66
|
+
|
67
|
+
def setup
|
68
|
+
psql = true
|
69
|
+
|
70
|
+
if psql
|
71
|
+
config = {
|
72
|
+
:backend => "psql",
|
73
|
+
:address => "localhost",
|
74
|
+
:database => "test",
|
75
|
+
:user => "postgres",
|
76
|
+
:password => "navelrulez",
|
77
|
+
:connection_count => 1
|
78
|
+
}
|
79
|
+
else
|
80
|
+
config = {
|
81
|
+
:backend => "mysql",
|
82
|
+
:address => "localhost",
|
83
|
+
:database => "test",
|
84
|
+
:user => "root",
|
85
|
+
:password => "navelrulez",
|
86
|
+
:connection_count => 1
|
87
|
+
}
|
88
|
+
end
|
89
|
+
|
90
|
+
N::Og.drop_db!(config)
|
91
|
+
$og = N::Og.new(config)
|
92
|
+
end
|
93
|
+
|
94
|
+
def teardown
|
95
|
+
$og.shutdown()
|
96
|
+
end
|
97
|
+
|
98
|
+
# gmosx: hmm, implemented in one method to enforce order.
|
99
|
+
#
|
100
|
+
def test_all
|
101
|
+
$DBG = true
|
102
|
+
|
103
|
+
$og.get_connection()
|
104
|
+
|
105
|
+
$og.manage_classes(Article, Comment, User)
|
106
|
+
|
107
|
+
article = Article.new("Title", "Here comes the body")
|
108
|
+
$og << article
|
109
|
+
|
110
|
+
article.title = "Changed"
|
111
|
+
article.save!
|
112
|
+
|
113
|
+
$og.pupdate("body='Hello'", article)
|
114
|
+
|
115
|
+
article.pupdate! "body='Hello'"
|
116
|
+
|
117
|
+
another = Article[1]
|
118
|
+
assert_equal(1, another.oid)
|
119
|
+
# bug: yaml load problem.
|
120
|
+
assert_equal("world", another.options["hello"])
|
121
|
+
|
122
|
+
# bug: YAMLing nil property
|
123
|
+
another.options = nil
|
124
|
+
another.save!
|
125
|
+
|
126
|
+
assert_equal(nil, $og.load(30000, Article))
|
127
|
+
|
128
|
+
articles = $og.load_all(Article)
|
129
|
+
|
130
|
+
# p articles
|
131
|
+
# p Article[23]
|
132
|
+
|
133
|
+
user = User.new("gmosx")
|
134
|
+
user.save!
|
135
|
+
|
136
|
+
another = User["gmosx"]
|
137
|
+
|
138
|
+
assert_equal("gmosx", another.name)
|
139
|
+
|
140
|
+
users1 = $og.select("name='gmosx' ORDER BY oid", User)
|
141
|
+
|
142
|
+
users = $og.select("SELECT * FROM #{User::DBTABLE} WHERE name='gmosx' ORDER BY oid", User)
|
143
|
+
|
144
|
+
users2 = User.select "name='gmosx' ORDER BY oid"
|
145
|
+
|
146
|
+
assert_equal(users1.size, users2.size)
|
147
|
+
|
148
|
+
article = Article.new("Title", "Body")
|
149
|
+
article.save!
|
150
|
+
|
151
|
+
comment = Comment.new("This is a comment")
|
152
|
+
comment.article = article
|
153
|
+
comment.author = User["gmosx"]
|
154
|
+
comment.save!
|
155
|
+
|
156
|
+
comment = Comment.new("This is another comment")
|
157
|
+
comment.article = article.oid
|
158
|
+
comment.author = User["gmosx"]
|
159
|
+
comment.save!
|
160
|
+
|
161
|
+
assert_equal(article.oid, comment.article_oid)
|
162
|
+
|
163
|
+
comments = article.comments
|
164
|
+
|
165
|
+
assert_equal(2, comments.size)
|
166
|
+
|
167
|
+
assert_equal("gmosx", comments[0].author.name)
|
168
|
+
|
169
|
+
Article.delete(article)
|
170
|
+
|
171
|
+
assert_equal(nil, Comment.all)
|
172
|
+
|
173
|
+
comment.delete!
|
174
|
+
end
|
175
|
+
|
176
|
+
end
|
177
|
+
|
178
|
+
end
|
data/test/n/ui/tc_pager.rb
CHANGED
@@ -4,7 +4,7 @@ require "test/unit"
|
|
4
4
|
|
5
5
|
require "n/logger"; $log = Logger.new(STDERR) unless $log
|
6
6
|
|
7
|
-
require "n/
|
7
|
+
require "n/og"
|
8
8
|
require "n/ui/pager"
|
9
9
|
|
10
10
|
class RequestMock < Hash
|
@@ -17,7 +17,7 @@ class TC_N_UI_Pager < Test::Unit::TestCase
|
|
17
17
|
|
18
18
|
def setup
|
19
19
|
=begin
|
20
|
-
$
|
20
|
+
$og = N::Og.new(
|
21
21
|
:addres => "localhost",
|
22
22
|
:database => "testdb",
|
23
23
|
:user => "root",
|
@@ -28,7 +28,7 @@ class TC_N_UI_Pager < Test::Unit::TestCase
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def teardown
|
31
|
-
# $
|
31
|
+
# $og.shutdown()
|
32
32
|
end
|
33
33
|
|
34
34
|
def test_all
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.1
|
|
3
3
|
specification_version: 1
|
4
4
|
name: nitro
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2004-
|
6
|
+
version: 0.3.0
|
7
|
+
date: 2004-11-01
|
8
8
|
summary: Web Engine
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -33,10 +33,10 @@ files:
|
|
33
33
|
- ChangeLog
|
34
34
|
- Rakefile
|
35
35
|
- bin/cluster.rb
|
36
|
-
-
|
36
|
+
- bin/new_app.rb
|
37
37
|
- examples/tiny
|
38
|
+
- examples/og
|
38
39
|
- examples/simple
|
39
|
-
- examples/ndb
|
40
40
|
- examples/tiny/conf
|
41
41
|
- examples/tiny/app.rb
|
42
42
|
- examples/tiny/logs
|
@@ -46,6 +46,8 @@ files:
|
|
46
46
|
- examples/tiny/conf/requires.rb
|
47
47
|
- examples/tiny/conf/config.rb
|
48
48
|
- examples/tiny/root/index.sx
|
49
|
+
- examples/og/run.rb
|
50
|
+
- examples/og/README
|
49
51
|
- examples/simple/conf
|
50
52
|
- examples/simple/app.rb
|
51
53
|
- examples/simple/install.rb
|
@@ -75,21 +77,18 @@ files:
|
|
75
77
|
- examples/simple/lib/articles/part.rb
|
76
78
|
- examples/simple/lib/articles/entities.rb
|
77
79
|
- examples/simple/lib/articles/methods.rb
|
78
|
-
- examples/ndb/run.rb
|
79
|
-
- examples/ndb/README
|
80
80
|
- doc/bugs.txt
|
81
81
|
- doc/architecture.txt
|
82
82
|
- lib/n
|
83
83
|
- lib/xsl
|
84
84
|
- lib/p
|
85
|
-
- lib/n/app
|
86
85
|
- lib/n/sitemap.rb
|
87
86
|
- lib/n/properties.rb
|
88
87
|
- lib/n/parts.rb
|
89
88
|
- lib/n/utils
|
90
|
-
- lib/n/db
|
91
89
|
- lib/n/macros.rb
|
92
90
|
- lib/n/shaders.rb
|
91
|
+
- lib/n/og
|
93
92
|
- lib/n/sync
|
94
93
|
- lib/n/server.rb
|
95
94
|
- lib/n/server
|
@@ -98,27 +97,10 @@ files:
|
|
98
97
|
- lib/n/l10n.rb
|
99
98
|
- lib/n/ui
|
100
99
|
- lib/n/application.rb
|
100
|
+
- lib/n/og.rb
|
101
101
|
- lib/n/config.rb
|
102
102
|
- lib/n/logger.rb
|
103
103
|
- lib/n/std.rb
|
104
|
-
- lib/n/db.rb
|
105
|
-
- lib/n/app/filters
|
106
|
-
- lib/n/app/session.rb
|
107
|
-
- lib/n/app/handlers
|
108
|
-
- lib/n/app/request.rb
|
109
|
-
- lib/n/app/fragment.rb
|
110
|
-
- lib/n/app/script.rb
|
111
|
-
- lib/n/app/webrick-servlet.rb
|
112
|
-
- lib/n/app/server.rb
|
113
|
-
- lib/n/app/cluster.rb
|
114
|
-
- lib/n/app/cookie.rb
|
115
|
-
- lib/n/app/user.rb
|
116
|
-
- lib/n/app/request-part.rb
|
117
|
-
- lib/n/app/handlers.rb
|
118
|
-
- lib/n/app/webrick.rb
|
119
|
-
- lib/n/app/filters/autologin.rb
|
120
|
-
- lib/n/app/handlers/page-handler.rb
|
121
|
-
- lib/n/app/handlers/code-handler.rb
|
122
104
|
- lib/n/utils/pool.rb
|
123
105
|
- lib/n/utils/time.rb
|
124
106
|
- lib/n/utils/mail.rb
|
@@ -132,20 +114,34 @@ files:
|
|
132
114
|
- lib/n/utils/string.rb
|
133
115
|
- lib/n/utils/http.rb
|
134
116
|
- lib/n/utils/hash.rb
|
135
|
-
- lib/n/
|
136
|
-
- lib/n/
|
137
|
-
- lib/n/
|
138
|
-
- lib/n/
|
139
|
-
- lib/n/
|
140
|
-
- lib/n/
|
141
|
-
- lib/n/db/mixins.rb
|
142
|
-
- lib/n/db/README
|
117
|
+
- lib/n/og/backends
|
118
|
+
- lib/n/og/connection.rb
|
119
|
+
- lib/n/og/backend.rb
|
120
|
+
- lib/n/og/meta.rb
|
121
|
+
- lib/n/og/backends/psql.rb
|
122
|
+
- lib/n/og/backends/mysql.rb
|
143
123
|
- lib/n/sync/handler.rb
|
144
124
|
- lib/n/sync/server.rb
|
145
125
|
- lib/n/sync/clc.rb
|
146
|
-
- lib/n/server/
|
147
|
-
- lib/n/server/
|
148
|
-
- lib/n/server/
|
126
|
+
- lib/n/server/filters
|
127
|
+
- lib/n/server/session.rb
|
128
|
+
- lib/n/server/handlers
|
129
|
+
- lib/n/server/request.rb
|
130
|
+
- lib/n/server/requestpart.rb
|
131
|
+
- lib/n/server/appserver.rb
|
132
|
+
- lib/n/server/fragment.rb
|
133
|
+
- lib/n/server/dispatcher.rb
|
134
|
+
- lib/n/server/script.rb
|
135
|
+
- lib/n/server/filters.rb
|
136
|
+
- lib/n/server/server.rb
|
137
|
+
- lib/n/server/cluster.rb
|
138
|
+
- lib/n/server/cookie.rb
|
139
|
+
- lib/n/server/user.rb
|
140
|
+
- lib/n/server/handlers.rb
|
141
|
+
- lib/n/server/webrick.rb
|
142
|
+
- lib/n/server/filters/autologin.rb
|
143
|
+
- lib/n/server/handlers/page-handler.rb
|
144
|
+
- lib/n/server/handlers/code-handler.rb
|
149
145
|
- lib/n/ui/popup.rb
|
150
146
|
- lib/n/ui/select.rb
|
151
147
|
- lib/n/ui/date-select.rb
|
@@ -155,18 +151,13 @@ files:
|
|
155
151
|
- lib/xsl/base.xsl
|
156
152
|
- lib/p/README
|
157
153
|
- test/n
|
158
|
-
- test/n/app
|
159
|
-
- test/n/tc_db.rb
|
160
154
|
- test/n/utils
|
155
|
+
- test/n/tc_og.rb
|
161
156
|
- test/n/tc_sitemap.rb
|
157
|
+
- test/n/server
|
162
158
|
- test/n/tc_events.rb
|
163
159
|
- test/n/ui
|
164
|
-
- test/n/tc_db_mysql.rb
|
165
160
|
- test/n/tc_properties.rb
|
166
|
-
- test/n/app/tc_requestpart.rb
|
167
|
-
- test/n/app/tc_cookie.rb
|
168
|
-
- test/n/app/tc_session.rb
|
169
|
-
- test/n/app/tc_request.rb
|
170
161
|
- test/n/utils/tc_cache.rb
|
171
162
|
- test/n/utils/tc_hash.rb
|
172
163
|
- test/n/utils/tc_http.rb
|
@@ -174,6 +165,11 @@ files:
|
|
174
165
|
- test/n/utils/tc_html.rb
|
175
166
|
- test/n/utils/tc_uri.rb
|
176
167
|
- test/n/utils/tc_number.rb
|
168
|
+
- test/n/server/tc_filters.rb
|
169
|
+
- test/n/server/tc_requestpart.rb
|
170
|
+
- test/n/server/tc_cookie.rb
|
171
|
+
- test/n/server/tc_session.rb
|
172
|
+
- test/n/server/tc_request.rb
|
177
173
|
- test/n/ui/tc_pager.rb
|
178
174
|
test_files: []
|
179
175
|
rdoc_options:
|
@@ -191,24 +187,4 @@ extra_rdoc_files:
|
|
191
187
|
executables: []
|
192
188
|
extensions: []
|
193
189
|
requirements: []
|
194
|
-
dependencies:
|
195
|
-
- !ruby/object:Gem::Dependency
|
196
|
-
name: postgres
|
197
|
-
version_requirement:
|
198
|
-
version_requirements: !ruby/object:Gem::Version::Requirement
|
199
|
-
requirements:
|
200
|
-
-
|
201
|
-
- ">="
|
202
|
-
- !ruby/object:Gem::Version
|
203
|
-
version: 0.7.1
|
204
|
-
version:
|
205
|
-
- !ruby/object:Gem::Dependency
|
206
|
-
name: extensions
|
207
|
-
version_requirement:
|
208
|
-
version_requirements: !ruby/object:Gem::Version::Requirement
|
209
|
-
requirements:
|
210
|
-
-
|
211
|
-
- ">="
|
212
|
-
- !ruby/object:Gem::Version
|
213
|
-
version: "0.5"
|
214
|
-
version:
|
190
|
+
dependencies: []
|