fauna 0.2.6 → 1.1.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 +2 -0
- data/Manifest +0 -31
- data/README.md +18 -150
- data/Rakefile +1 -1
- data/examples/welcome.rb +3 -3
- data/fauna.gemspec +5 -11
- data/lib/fauna.rb +11 -88
- data/lib/fauna/cache.rb +58 -0
- data/lib/fauna/client.rb +14 -67
- data/lib/fauna/connection.rb +21 -27
- data/lib/fauna/provided_classes.rb +39 -0
- data/lib/fauna/rails.rb +28 -8
- data/lib/fauna/resource.rb +34 -121
- data/lib/fauna/set.rb +184 -0
- data/lib/fauna/util.rb +19 -0
- data/lib/tasks/fauna.rake +61 -1
- data/test/class_test.rb +29 -58
- data/test/client_test.rb +18 -18
- data/test/connection_test.rb +8 -8
- data/test/database_test.rb +47 -0
- data/test/readme_test.rb +2 -3
- data/test/set_test.rb +94 -0
- data/test/test_helper.rb +27 -15
- metadata +14 -57
- data/lib/fauna/ddl.rb +0 -157
- data/lib/fauna/event_set.rb +0 -197
- data/lib/fauna/model.rb +0 -73
- data/lib/fauna/model/class.rb +0 -32
- data/lib/fauna/model/user.rb +0 -23
- data/lib/fauna/publisher.rb +0 -8
- data/test/association_test.rb +0 -23
- data/test/event_set_test.rb +0 -92
- data/test/fixtures.rb +0 -70
- data/test/publisher_test.rb +0 -48
- data/test/user_test.rb +0 -80
- data/test/validation_test.rb +0 -28
data/test/connection_test.rb
CHANGED
@@ -7,13 +7,13 @@ class ConnectionTest < MiniTest::Unit::TestCase
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def test_get
|
10
|
-
@
|
10
|
+
@server_connection.get("users/instances")
|
11
11
|
end
|
12
12
|
|
13
13
|
def test_get_with_invalid_key
|
14
|
-
connection = Fauna::Connection.new(:
|
14
|
+
connection = Fauna::Connection.new(:secret => 'bad_key', :domain => @server_connection.domain, :scheme => @server_connection.scheme)
|
15
15
|
assert_raises(Fauna::Connection::Unauthorized) do
|
16
|
-
connection.get("users")
|
16
|
+
connection.get("users/instances")
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -22,16 +22,16 @@ class ConnectionTest < MiniTest::Unit::TestCase
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def test_put
|
25
|
-
user = @
|
26
|
-
user = @
|
25
|
+
user = @server_connection.post("users", @attributes)['resource']
|
26
|
+
user = @server_connection.put(user['ref'], {:data => {:pockets => 2}})['resource']
|
27
27
|
assert_equal 2, user['data']['pockets']
|
28
28
|
end
|
29
29
|
|
30
30
|
def test_delete
|
31
|
-
user = @
|
32
|
-
@
|
31
|
+
user = @server_connection.post("users", @attributes)['resource']
|
32
|
+
@server_connection.delete(user['ref'])
|
33
33
|
assert_raises(Fauna::Connection::NotFound) do
|
34
|
-
@
|
34
|
+
@server_connection.get(user['ref'])
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require File.expand_path('../test_helper', __FILE__)
|
2
|
+
|
3
|
+
class DatabaseTest < MiniTest::Unit::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
super
|
7
|
+
@model = Fauna::Database.new("ref" => "databases/fauna-ruby-test2")
|
8
|
+
Fauna::Client.context(@root_connection) do
|
9
|
+
@model.save
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_create
|
14
|
+
assert_raises(Fauna::Connection::Unauthorized) do
|
15
|
+
@model.save
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_find
|
20
|
+
assert_raises(Fauna::Connection::Unauthorized) do
|
21
|
+
Fauna::Database.find(@model.ref)
|
22
|
+
end
|
23
|
+
Fauna::Client.context(@root_connection) do
|
24
|
+
assert_equal @model, Fauna::Database.find(@model.ref)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_self
|
29
|
+
database = Fauna::Resource.find('databases/self')
|
30
|
+
assert_equal "databases/fauna-ruby-test", database.ref
|
31
|
+
|
32
|
+
assert_raises(Fauna::Connection::BadRequest) do
|
33
|
+
Fauna::Client.context(@root_connection) do
|
34
|
+
Fauna::Resource.find('databases/self')
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_destroy
|
40
|
+
assert_raises(Fauna::Connection::Unauthorized) do
|
41
|
+
Fauna::Resource.find('databases/self').delete
|
42
|
+
end
|
43
|
+
Fauna::Client.context(@root_connection) do
|
44
|
+
@model.delete
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
data/test/readme_test.rb
CHANGED
@@ -8,9 +8,7 @@ class ReadmeTest < MiniTest::Unit::TestCase
|
|
8
8
|
sections.select do |text|
|
9
9
|
if text =~ /^ruby/
|
10
10
|
next if text =~ /ActionController|logger/
|
11
|
-
text.gsub!(
|
12
|
-
text.gsub!("secret", FAUNA_TEST_PASSWORD)
|
13
|
-
text.gsub!("Fauna.connection", "$fauna")
|
11
|
+
text.gsub!('$fauna = Fauna::Connection.new(secret: server_key)', '$fauna = SERVER_CONNECTION')
|
14
12
|
code << text[4..-1]
|
15
13
|
end
|
16
14
|
end
|
@@ -26,6 +24,7 @@ class ReadmeTest < MiniTest::Unit::TestCase
|
|
26
24
|
puts e.backtrace
|
27
25
|
raise
|
28
26
|
end
|
27
|
+
|
29
28
|
File.delete(tmp.path)
|
30
29
|
end
|
31
30
|
end
|
data/test/set_test.rb
ADDED
@@ -0,0 +1,94 @@
|
|
1
|
+
require File.expand_path('../test_helper', __FILE__)
|
2
|
+
|
3
|
+
# TODO use association_test classes
|
4
|
+
|
5
|
+
class SetTest < MiniTest::Unit::TestCase
|
6
|
+
|
7
|
+
def setup
|
8
|
+
super
|
9
|
+
@model = Fauna::Resource.create 'classes/message_boards'
|
10
|
+
@posts = @model.set 'posts'
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_page
|
14
|
+
page = @posts.page
|
15
|
+
assert_equal "#{@model.ref}/sets/posts", page.ref
|
16
|
+
assert_equal 0, page.refs.size
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_pagination
|
20
|
+
@posts.add(Fauna::Resource.create 'classes/posts')
|
21
|
+
@posts.add(Fauna::Resource.create 'classes/posts')
|
22
|
+
@posts.add(Fauna::Resource.create 'classes/posts')
|
23
|
+
@posts.add(Fauna::Resource.create 'classes/posts')
|
24
|
+
@posts.add(Fauna::Resource.create 'classes/posts')
|
25
|
+
|
26
|
+
page1 = @posts.page(:size => 2)
|
27
|
+
assert_equal 2, page1.refs.size
|
28
|
+
page2 = @posts.page(:size => 2, :before => page1.before)
|
29
|
+
assert_equal 2, page2.refs.size
|
30
|
+
page3 = @posts.page(:size => 2, :before => page2.before)
|
31
|
+
assert_equal 1, page3.refs.size
|
32
|
+
|
33
|
+
page4 = @posts.page(:size => 2, :after => page3.refs.last)
|
34
|
+
assert_equal 2, page4.refs.size
|
35
|
+
page5 = @posts.page(:size => 2, :after => page4.after)
|
36
|
+
assert_equal 2, page5.refs.size
|
37
|
+
page6 = @posts.page(:size => 2, :after => page5.refs.first)
|
38
|
+
assert_equal 1, page6.refs.size
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_any
|
42
|
+
@posts.add(Fauna::Resource.create 'classes/posts')
|
43
|
+
assert @posts.page.any?
|
44
|
+
assert @posts.page.refs.any?
|
45
|
+
assert @posts.events.any?
|
46
|
+
assert @posts.events.events.any?
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_event_set_add
|
50
|
+
post = Fauna::Resource.create 'classes/posts'
|
51
|
+
@posts.add(post)
|
52
|
+
page = @posts.page
|
53
|
+
assert_equal 1, page.refs.size
|
54
|
+
assert_equal post.ref, page.refs[0]
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_event_set_remove
|
58
|
+
@posts.add(Fauna::Resource.create 'classes/posts')
|
59
|
+
page = @posts.page
|
60
|
+
assert_equal 1, page.refs.size
|
61
|
+
@posts.remove(page.refs[0])
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_event_set_refs
|
65
|
+
post = Fauna::Resource.create 'classes/posts'
|
66
|
+
@posts.add(post)
|
67
|
+
assert_equal [post.ref], @posts.page.refs
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_event_set_query
|
71
|
+
posts = (1..3).map do |i|
|
72
|
+
Fauna::Resource.create('classes/posts').tap do |p|
|
73
|
+
@posts.add(p)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
comments = posts.map do |p|
|
78
|
+
(1..3).map do |i|
|
79
|
+
Fauna::Resource.create('classes/comments').tap do |c|
|
80
|
+
comments = Fauna::CustomSet.new("#{p.ref}/sets/comments")
|
81
|
+
comments.add(c)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
q = Fauna::Set.join(@posts, 'sets/comments')
|
87
|
+
|
88
|
+
assert_equal 9, q.page.size
|
89
|
+
|
90
|
+
comments.flatten.each do |c|
|
91
|
+
assert q.page.include?(c.ref)
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -7,34 +7,46 @@ require "fauna"
|
|
7
7
|
require "securerandom"
|
8
8
|
require "mocha/setup"
|
9
9
|
|
10
|
-
|
11
|
-
|
10
|
+
FAUNA_TEST_ROOTKEY = ENV["FAUNA_TEST_ROOTKEY"]
|
11
|
+
FAUNA_TEST_DOMAIN = ENV["FAUNA_TEST_DOMAIN"]
|
12
|
+
FAUNA_TEST_SCHEME = ENV["FAUNA_TEST_SCHEME"]
|
12
13
|
|
13
|
-
if !(
|
14
|
-
raise "
|
14
|
+
if !(FAUNA_TEST_ROOTKEY && FAUNA_TEST_DOMAIN && FAUNA_TEST_SCHEME)
|
15
|
+
raise "FAUNA_TEST_ROOTKEY, FAUNA_TEST_DOMAIN and FAUNA_TEST_SCHEME must be defined in your environment to run tests."
|
15
16
|
end
|
16
17
|
|
17
|
-
ROOT_CONNECTION = Fauna::Connection.new(:
|
18
|
-
ROOT_CONNECTION.delete("everything")
|
18
|
+
ROOT_CONNECTION = Fauna::Connection.new(:secret => FAUNA_TEST_ROOTKEY, :domain => FAUNA_TEST_DOMAIN, :scheme => FAUNA_TEST_SCHEME)
|
19
19
|
|
20
|
-
|
21
|
-
|
20
|
+
Fauna::Client.context(ROOT_CONNECTION) do
|
21
|
+
Fauna::Database.new(:name => "fauna-ruby-test").delete rescue nil
|
22
|
+
Fauna::Database.create(:name => "fauna-ruby-test")
|
22
23
|
|
23
|
-
|
24
|
-
|
24
|
+
server_key = Fauna::Key.create :database => "databases/fauna-ruby-test", :role => "server"
|
25
|
+
client_key = Fauna::Key.create :database => "databases/fauna-ruby-test", :role => "client"
|
25
26
|
|
26
|
-
|
27
|
+
SERVER_CONNECTION = Fauna::Connection.new(:secret => server_key.secret, :domain => FAUNA_TEST_DOMAIN, :scheme => FAUNA_TEST_SCHEME)
|
28
|
+
CLIENT_CONNECTION = Fauna::Connection.new(:secret => client_key.secret, :domain => FAUNA_TEST_DOMAIN, :scheme => FAUNA_TEST_SCHEME)
|
29
|
+
end
|
30
|
+
|
31
|
+
# fixtures
|
27
32
|
|
28
|
-
Fauna::Client.context(
|
29
|
-
Fauna.
|
33
|
+
Fauna::Client.context(SERVER_CONNECTION) do
|
34
|
+
Fauna::Class.create :name => 'pigs'
|
35
|
+
Fauna::Class.create :name => 'pigkeepers'
|
36
|
+
Fauna::Class.create :name => 'visions'
|
37
|
+
Fauna::Class.create :name => 'message_boards'
|
38
|
+
Fauna::Class.create :name => 'posts'
|
39
|
+
Fauna::Class.create :name => 'comments'
|
30
40
|
end
|
31
41
|
|
42
|
+
# test harness
|
43
|
+
|
32
44
|
class MiniTest::Unit::TestCase
|
33
45
|
def setup
|
34
46
|
@root_connection = ROOT_CONNECTION
|
35
|
-
@
|
47
|
+
@server_connection = SERVER_CONNECTION
|
36
48
|
@client_connection = CLIENT_CONNECTION
|
37
|
-
Fauna::Client.push_context(@
|
49
|
+
Fauna::Client.push_context(@server_connection)
|
38
50
|
end
|
39
51
|
|
40
52
|
def teardown
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fauna
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,40 +9,8 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-07-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: activemodel
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '0'
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0'
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: activesupport
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
38
|
-
type: :runtime
|
39
|
-
prerelease: false
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
14
|
- !ruby/object:Gem::Dependency
|
47
15
|
name: rest-client
|
48
16
|
requirement: !ruby/object:Gem::Requirement
|
@@ -132,16 +100,14 @@ extra_rdoc_files:
|
|
132
100
|
- LICENSE
|
133
101
|
- README.md
|
134
102
|
- lib/fauna.rb
|
103
|
+
- lib/fauna/cache.rb
|
135
104
|
- lib/fauna/client.rb
|
136
105
|
- lib/fauna/connection.rb
|
137
|
-
- lib/fauna/
|
138
|
-
- lib/fauna/event_set.rb
|
139
|
-
- lib/fauna/model.rb
|
140
|
-
- lib/fauna/model/class.rb
|
141
|
-
- lib/fauna/model/user.rb
|
142
|
-
- lib/fauna/publisher.rb
|
106
|
+
- lib/fauna/provided_classes.rb
|
143
107
|
- lib/fauna/rails.rb
|
144
108
|
- lib/fauna/resource.rb
|
109
|
+
- lib/fauna/set.rb
|
110
|
+
- lib/fauna/util.rb
|
145
111
|
- lib/tasks/fauna.rake
|
146
112
|
files:
|
147
113
|
- CHANGELOG
|
@@ -153,28 +119,22 @@ files:
|
|
153
119
|
- examples/welcome.rb
|
154
120
|
- fauna.gemspec
|
155
121
|
- lib/fauna.rb
|
122
|
+
- lib/fauna/cache.rb
|
156
123
|
- lib/fauna/client.rb
|
157
124
|
- lib/fauna/connection.rb
|
158
|
-
- lib/fauna/
|
159
|
-
- lib/fauna/event_set.rb
|
160
|
-
- lib/fauna/model.rb
|
161
|
-
- lib/fauna/model/class.rb
|
162
|
-
- lib/fauna/model/user.rb
|
163
|
-
- lib/fauna/publisher.rb
|
125
|
+
- lib/fauna/provided_classes.rb
|
164
126
|
- lib/fauna/rails.rb
|
165
127
|
- lib/fauna/resource.rb
|
128
|
+
- lib/fauna/set.rb
|
129
|
+
- lib/fauna/util.rb
|
166
130
|
- lib/tasks/fauna.rake
|
167
|
-
- test/association_test.rb
|
168
131
|
- test/class_test.rb
|
169
132
|
- test/client_test.rb
|
170
133
|
- test/connection_test.rb
|
171
|
-
- test/
|
172
|
-
- test/fixtures.rb
|
173
|
-
- test/publisher_test.rb
|
134
|
+
- test/database_test.rb
|
174
135
|
- test/readme_test.rb
|
136
|
+
- test/set_test.rb
|
175
137
|
- test/test_helper.rb
|
176
|
-
- test/user_test.rb
|
177
|
-
- test/validation_test.rb
|
178
138
|
homepage: http://fauna.github.com/fauna/
|
179
139
|
licenses: []
|
180
140
|
post_install_message:
|
@@ -206,13 +166,10 @@ signing_key:
|
|
206
166
|
specification_version: 3
|
207
167
|
summary: Official Ruby client for the Fauna API.
|
208
168
|
test_files:
|
209
|
-
- test/association_test.rb
|
210
169
|
- test/class_test.rb
|
211
170
|
- test/client_test.rb
|
212
171
|
- test/connection_test.rb
|
213
|
-
- test/
|
214
|
-
- test/publisher_test.rb
|
172
|
+
- test/database_test.rb
|
215
173
|
- test/readme_test.rb
|
174
|
+
- test/set_test.rb
|
216
175
|
- test/test_helper.rb
|
217
|
-
- test/user_test.rb
|
218
|
-
- test/validation_test.rb
|
data/lib/fauna/ddl.rb
DELETED
@@ -1,157 +0,0 @@
|
|
1
|
-
module Fauna
|
2
|
-
class DDL
|
3
|
-
|
4
|
-
def initialize
|
5
|
-
@ddls = []
|
6
|
-
end
|
7
|
-
|
8
|
-
def configure!
|
9
|
-
@ddls.each { |ddl| ddl.configure! }
|
10
|
-
end
|
11
|
-
|
12
|
-
def load!
|
13
|
-
@ddls.each { |ddl| ddl.load! }
|
14
|
-
end
|
15
|
-
|
16
|
-
# resources
|
17
|
-
|
18
|
-
def with(*args, &block)
|
19
|
-
options = args.last.is_a?(Hash) ? args.pop : {}
|
20
|
-
klass = args.first
|
21
|
-
res = ResourceDDL.new(klass, options)
|
22
|
-
res.instance_eval(&block) if block_given?
|
23
|
-
@ddls << res
|
24
|
-
nil
|
25
|
-
end
|
26
|
-
|
27
|
-
class ResourceDDL
|
28
|
-
def initialize(klass, args = {})
|
29
|
-
unless klass || args[:class_name]
|
30
|
-
raise ArgumentError, "Must either provide a class or specify :class_name."
|
31
|
-
end
|
32
|
-
|
33
|
-
@event_sets = []
|
34
|
-
@class = klass || derived_class(args[:class_name])
|
35
|
-
@fauna_class = args[:class_name] || derived_fauna_class(@class)
|
36
|
-
|
37
|
-
unless @class <= max_super(@fauna_class)
|
38
|
-
raise ArgumentError, "#{@class} must be a subclass of #{max_super(@fauna_class)}."
|
39
|
-
end
|
40
|
-
|
41
|
-
if @fauna_class =~ %r{^classes/[^/]+$} && @fauna_class != 'classes/config'
|
42
|
-
@meta = Fauna::ClassConfig.alloc('ref' => "#{@fauna_class}/config")
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
def configure!
|
47
|
-
Fauna.add_class(@fauna_class, @class) if @class
|
48
|
-
end
|
49
|
-
|
50
|
-
def load!
|
51
|
-
@meta.save! if @meta
|
52
|
-
@event_sets.each { |t| t.load! }
|
53
|
-
end
|
54
|
-
|
55
|
-
def event_set(*name)
|
56
|
-
args = name.last.is_a?(Hash) ? name.pop : {}
|
57
|
-
@class.send :event_set, *name
|
58
|
-
|
59
|
-
name.each { |n| @event_sets << EventSetDDL.new(@fauna_class, n, args) }
|
60
|
-
end
|
61
|
-
|
62
|
-
def field(*name)
|
63
|
-
@class.send :field, *name
|
64
|
-
end
|
65
|
-
|
66
|
-
def reference(*name)
|
67
|
-
@class.send :reference, *name
|
68
|
-
end
|
69
|
-
|
70
|
-
private
|
71
|
-
|
72
|
-
def max_super(name)
|
73
|
-
case name
|
74
|
-
when "users" then Fauna::User
|
75
|
-
when "publisher" then Fauna::Publisher
|
76
|
-
when "classes/config" then Fauna::Resource
|
77
|
-
when %r{^classes/[^/]+$} then Fauna::Class
|
78
|
-
else Fauna::Resource
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
def derived_class(name)
|
83
|
-
s = max_super(name)
|
84
|
-
case s
|
85
|
-
when Fauna::Class then Class.new(Fauna::Class)
|
86
|
-
when Fauna::Resource then Class.new(Fauna::Resource)
|
87
|
-
else s
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
def derived_fauna_class(klass)
|
92
|
-
if klass < Fauna::User
|
93
|
-
"users"
|
94
|
-
elsif klass < Fauna::Publisher
|
95
|
-
"publisher"
|
96
|
-
elsif klass < Fauna::Class
|
97
|
-
"classes/#{klass.name.tableize}"
|
98
|
-
else
|
99
|
-
raise ArgumentError, "Must specify a :class_name for non-default resource class #{klass.name}"
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|
103
|
-
|
104
|
-
# event_sets
|
105
|
-
|
106
|
-
class EventSetDDL
|
107
|
-
def initialize(parent_class, name, args)
|
108
|
-
@meta = EventSetConfig.new(parent_class, name, args)
|
109
|
-
end
|
110
|
-
|
111
|
-
def configure!
|
112
|
-
end
|
113
|
-
|
114
|
-
def load!
|
115
|
-
@meta.save!
|
116
|
-
end
|
117
|
-
end
|
118
|
-
|
119
|
-
# commands
|
120
|
-
|
121
|
-
# def command(name)
|
122
|
-
# cmd = CommandDDL.new(name)
|
123
|
-
|
124
|
-
# yield cmd
|
125
|
-
# @ddls << cmd
|
126
|
-
|
127
|
-
# nil
|
128
|
-
# end
|
129
|
-
|
130
|
-
# class CommandDDL
|
131
|
-
# attr_accessor :comment
|
132
|
-
|
133
|
-
# def initialize(name)
|
134
|
-
# @actions = []
|
135
|
-
# end
|
136
|
-
|
137
|
-
# def configure!
|
138
|
-
# end
|
139
|
-
|
140
|
-
# def load!
|
141
|
-
# end
|
142
|
-
|
143
|
-
# def get(path, args = {})
|
144
|
-
# args.update method: 'GET', path: path
|
145
|
-
# args.stringify_keys!
|
146
|
-
|
147
|
-
# @actions << args
|
148
|
-
# end
|
149
|
-
# end
|
150
|
-
end
|
151
|
-
|
152
|
-
# c.command "name" do |cmd|
|
153
|
-
# cmd.comment = "foo bar"
|
154
|
-
|
155
|
-
# cmd.get "users/self", :actor => "blah", :body => {}
|
156
|
-
# end
|
157
|
-
end
|