marley 0.6.2 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/marley/joints/forum.rb +1 -8
- data/lib/marley/joints/messages.rb +2 -2
- data/lib/marley/joints/section.rb +9 -7
- data/lib/marley/joints/user.rb +1 -1
- data/lib/marley/plugins/rest_convenience.rb +2 -1
- data/lib/marley/reggae.rb +7 -2
- data/lib/marley/router.rb +4 -0
- data/rdoc/forum_joint.rb +1 -0
- data/rdoc/forum_joint.rdoc +1 -1
- data/rdoc/messages_joint/private_messages.rdoc +14 -14
- data/rdoc/messages_joint/public_messages.rdoc +13 -13
- data/rdoc/orm_rest_convenience_plugin.rdoc +21 -21
- data/rdoc/reggae/generate.rdoc +3 -3
- data/rdoc/tags_joint/announcements.rdoc +18 -18
- data/rdoc/tags_joint/secrets.rdoc +13 -13
- data/rdoc/user_joint/exiting_users.rdoc +24 -24
- data/rdoc/user_joint/no_auth_provided.rdoc +1 -1
- metadata +3 -3
data/lib/marley/joints/forum.rb
CHANGED
@@ -31,13 +31,8 @@ module Marley
|
|
31
31
|
super
|
32
32
|
self.topic_id||=self.class.max(:topic_id).to_i+1
|
33
33
|
end
|
34
|
-
#this needs to change
|
35
34
|
def reply
|
36
|
-
|
37
|
-
foo.new_rec=true
|
38
|
-
foo.url=self.class.new.url
|
39
|
-
foo.schema.delete_if {|c| [:author,:id].include?(c[NAME_INDEX])}
|
40
|
-
foo
|
35
|
+
self.class.new(self.values.dup.delete_if{|k,v| k==:id}.merge({:parent_id => self[:id],:title => "re: #{title}"}))
|
41
36
|
end
|
42
37
|
end
|
43
38
|
end
|
@@ -51,8 +46,6 @@ module Marley
|
|
51
46
|
Marley::ReggaeSection.new({:title => 'Topics Tagged With:', :navigation => MR::Tag.filter(:id => topics.join(:messages_tags).where(:messages__id => :message_id).select(:tag_id)).map{|t| reggae_link('list',t.tag,"#{resource_name}[tags]=#{t.tag}")}})
|
52
47
|
]
|
53
48
|
end
|
54
|
-
def section_contents
|
55
|
-
end
|
56
49
|
def recent_topics
|
57
50
|
list(:date_created > Date.today - 2)
|
58
51
|
end
|
@@ -13,7 +13,7 @@ module Marley
|
|
13
13
|
class Message < Sequel::Model
|
14
14
|
MU.sti(self)
|
15
15
|
MR::User.join_to(self) if MR::User
|
16
|
-
instance_actions![:new?][false]={:get =>
|
16
|
+
instance_actions![:new?][false]={:get => :reply}
|
17
17
|
derived_before_cols![:new?][false]=[:author]
|
18
18
|
ro_cols![:current_user_role] = {'reader' => [/.*/],'owner' => [/^author$/]}
|
19
19
|
def validate
|
@@ -43,7 +43,7 @@ module Marley
|
|
43
43
|
end
|
44
44
|
def actions(parent_instance=nil)
|
45
45
|
return super if new? || ! recipients.to_s.match(/,/)
|
46
|
-
[:reply, :reply_all]
|
46
|
+
{:get => [:reply, :reply_all]}
|
47
47
|
end
|
48
48
|
def recipients
|
49
49
|
users.map{|u|u.name}.join(',')
|
@@ -8,7 +8,7 @@ module Marley
|
|
8
8
|
:title => send_or_default(:section_title, resource_name.humanize),
|
9
9
|
:navigation => send_or_nil(:section_nav),
|
10
10
|
:description => send_or_nil(:section_desc)},
|
11
|
-
send_or_nil(:
|
11
|
+
send_or_nil(:section_content))
|
12
12
|
end
|
13
13
|
def section_link
|
14
14
|
reggae_link('section').update(:title => resource_name.humanize.pluralize)
|
@@ -45,10 +45,15 @@ module Marley
|
|
45
45
|
Marley.config[:app_name]
|
46
46
|
end
|
47
47
|
def self.section_nav
|
48
|
-
if respond_to?(:current_user) && (current_user.nil? || current_user.new?)
|
49
|
-
[[:msg,{},'New users, please sign up below'],MR::User.new]
|
50
|
-
else
|
48
|
+
if !(respond_to?(:current_user) && (current_user.nil? || current_user.new?))
|
51
49
|
MR.resources_responding_to(:section).sort {|l,r|l.resource_name <=> r.resource_name}.map{|r| next if r==self; r.section}.compact
|
50
|
+
else
|
51
|
+
[]
|
52
|
+
end
|
53
|
+
end
|
54
|
+
def self.section_content
|
55
|
+
if respond_to?(:current_user) && (current_user.nil? || current_user.new?)
|
56
|
+
[[:msg,{:title => 'New users, please sign up below'}],MR::User.new]
|
52
57
|
end
|
53
58
|
end
|
54
59
|
def self.section_desc
|
@@ -56,9 +61,6 @@ module Marley
|
|
56
61
|
ReggaeLink.new({:url => '/main_menu', :title => 'Existing users, please click here to log in.'})
|
57
62
|
end
|
58
63
|
end
|
59
|
-
def self.section_link
|
60
|
-
ReggaeLink.new({:url => '/',:title => 'Main Menu'})
|
61
|
-
end
|
62
64
|
end
|
63
65
|
end
|
64
66
|
end
|
data/lib/marley/joints/user.rb
CHANGED
@@ -11,7 +11,8 @@ module Marley
|
|
11
11
|
def url
|
12
12
|
end
|
13
13
|
def reggae_link(action=nil, title=nil, args=nil)
|
14
|
-
|
14
|
+
args="?#{args}" if args
|
15
|
+
ReggaeLink.new({:url => "/#{self.resource_name}/#{action}#{args}",:title => (title||"#{action.to_s.humanize} #{self.resource_name.humanize}".strip)})
|
15
16
|
end
|
16
17
|
end
|
17
18
|
module InstanceMethods
|
data/lib/marley/reggae.rb
CHANGED
@@ -33,7 +33,7 @@ module Marley
|
|
33
33
|
@resource_type=self[0]=self[0].to_sym
|
34
34
|
self[1]=Utils.hash_keys_to_syms(self[1]) if self[1].class==Hash
|
35
35
|
@properties=self[1]
|
36
|
-
@contents=self[2
|
36
|
+
@contents=self[2]
|
37
37
|
self.class.mk_prop_methods
|
38
38
|
else
|
39
39
|
replace(map {|r| r.class==Array ? Reggae.new(r).to_resource : r})
|
@@ -62,7 +62,7 @@ module Marley
|
|
62
62
|
def initialize(*args)
|
63
63
|
@resource_type=self.class.to_s.sub(/.*Reggae/,'').underscore.to_sym
|
64
64
|
if args[0].class==Hash
|
65
|
-
initialize [@resource_type,args[0],args[1
|
65
|
+
initialize [@resource_type,args[0],args[1]]
|
66
66
|
else
|
67
67
|
super
|
68
68
|
end
|
@@ -125,6 +125,11 @@ module Marley
|
|
125
125
|
end
|
126
126
|
end
|
127
127
|
class ReggaeColSpec < Array
|
128
|
+
def initialize(*args)
|
129
|
+
super
|
130
|
+
self[0]=self[0].to_sym #type and name should always be syms
|
131
|
+
self[1]=self[1].to_sym
|
132
|
+
end
|
128
133
|
['col_type','col_name','col_restrictions', 'col_value'].each_with_index do |prop_name, i|
|
129
134
|
define_method(prop_name.to_sym) {self[i]}
|
130
135
|
define_method(:"#{prop_name}=") {|val|self[i]=val}
|
data/lib/marley/router.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
#require 'ruby-prof'
|
1
2
|
|
2
3
|
module Marley
|
3
4
|
class Router
|
@@ -6,6 +7,7 @@ module Marley
|
|
6
7
|
@opts=DEFAULT_OPTS.merge(opts)
|
7
8
|
end
|
8
9
|
def call(env)
|
10
|
+
# RubyProf.start
|
9
11
|
request= Rack::Request.new(env)
|
10
12
|
$request={:request => request,:opts => @opts}
|
11
13
|
$request[:get_params]=Marley::Utils.hash_keys_to_syms(request.GET)
|
@@ -56,6 +58,8 @@ module Marley
|
|
56
58
|
ensure
|
57
59
|
$log.info $request.merge({:request => nil,:user => $request[:user] ? $request[:user].name : nil})
|
58
60
|
$request=nil #mostly for testing
|
61
|
+
# prof=RubyProf.stop
|
62
|
+
# RubyProf::FlatPrinter.new(prof).print(STDOUT, 0)
|
59
63
|
end
|
60
64
|
end
|
61
65
|
end
|
data/rdoc/forum_joint.rb
CHANGED
data/rdoc/forum_joint.rdoc
CHANGED
@@ -11,9 +11,9 @@ setup
|
|
11
11
|
(1 .. 5).each { |i|
|
12
12
|
user_client.create(user.set_values(:name => "user#{i}"))
|
13
13
|
instance_variable_set(:"@client#{i}", Marley::TestClient.new(:auth => ["user#{i}",'asdfasdf'] ))
|
14
|
+
instance_variable_set(:"@new_post#{i}", instance_variable_get(:"@client#{i}").read({},{:resource_name => 'public_message'}))
|
14
15
|
}
|
15
16
|
end
|
16
17
|
|
17
18
|
example:
|
18
19
|
|
19
|
-
!!!
|
@@ -10,50 +10,50 @@
|
|
10
10
|
example: user1 sends message to user2
|
11
11
|
|
12
12
|
>> @msg=@client1.read({},:method => 'new')
|
13
|
-
=> [:instance, {:url=>"/private_message/", :schema=>[[
|
13
|
+
=> [:instance, {:url=>"/private_message/", :schema=>[[:text, :recipients, 0, ""], [:integer, :user_id, 3, 1], [:text, :title, 4, nil], [:text, :content, 0, nil]], :name=>"private_message", :new_rec=>true, :actions=>nil}, nil]
|
14
14
|
|
15
15
|
>> @client1.create(@msg.set_values(:title => 'asdf',:recipients => 'xxx'),:code => 400)
|
16
16
|
=> [:error, {:error_type=>"validation", :error_details=>{:recipients=>["xxx is not a valid message recipient"]}, :description=>nil}]
|
17
17
|
>> @client1.create(@msg.set_values(:title => 'asdf',:recipients => 'user2'))
|
18
|
-
=> [:instance, {:url=>"/private_message/1", :schema=>[[
|
18
|
+
=> [:instance, {:url=>"/private_message/1", :schema=>[[:text, :recipients, 2, "user2"], [:text, :author, 2, "user1"], [:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :title, 6, "asdf"], [:text, :content, 2, nil]], :name=>"private_message", :new_rec=>false, :actions=>{:get=>"reply"}}, []]
|
19
19
|
|
20
20
|
>> @client1.read
|
21
21
|
=> []
|
22
22
|
>> @client3.read
|
23
23
|
=> []
|
24
24
|
>> @client2.read
|
25
|
-
=> [[:instance, {:url=>"/private_message/1", :schema=>[[
|
25
|
+
=> [[:instance, {:url=>"/private_message/1", :schema=>[[:text, :recipients, 2, "user2"], [:text, :author, 2, "user1"], [:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :title, 6, "asdf"], [:text, :content, 2, nil]], :name=>"private_message", :new_rec=>false, :actions=>{:get=>"reply"}}, []]]
|
26
26
|
|
27
27
|
example: user2 sends message to user3 and user4, each of which replies
|
28
28
|
|
29
29
|
>> @msg=@client2.read({},:method => 'new')
|
30
|
-
=> [:instance, {:url=>"/private_message/", :schema=>[[
|
30
|
+
=> [:instance, {:url=>"/private_message/", :schema=>[[:text, :recipients, 0, ""], [:integer, :user_id, 3, 2], [:text, :title, 4, nil], [:text, :content, 0, nil]], :name=>"private_message", :new_rec=>true, :actions=>nil}, nil]
|
31
31
|
>> @client2.create(@msg.set_values(:title => 'message1',:recipients => 'user3,user4'))
|
32
|
-
=> [:instance, {:url=>"/private_message/1", :schema=>[[
|
32
|
+
=> [:instance, {:url=>"/private_message/1", :schema=>[[:text, :recipients, 2, "user3,user4"], [:text, :author, 2, "user2"], [:integer, :id, 2, 1], [:integer, :user_id, 3, 2], [:text, :title, 6, "message1"], [:text, :content, 2, nil]], :name=>"private_message", :new_rec=>false, :actions=>{:get => ["reply", "reply_all"]}}, []]
|
33
33
|
>> @client1.read
|
34
34
|
=> []
|
35
35
|
>> @client2.read
|
36
36
|
=> []
|
37
37
|
>> @client3.read
|
38
|
-
=> [[:instance, {:url=>"/private_message/1", :schema=>[[
|
38
|
+
=> [[:instance, {:url=>"/private_message/1", :schema=>[[:text, :recipients, 2, "user3,user4"], [:text, :author, 2, "user2"], [:integer, :id, 2, 1], [:integer, :user_id, 3, 2], [:text, :title, 6, "message1"], [:text, :content, 2, nil]], :name=>"private_message", :new_rec=>false, :actions=>{:get => ["reply", "reply_all"]}}, []]]
|
39
39
|
>> @orig=@client4.read
|
40
|
-
=> [[:instance, {:url=>"/private_message/1", :schema=>[[
|
40
|
+
=> [[:instance, {:url=>"/private_message/1", :schema=>[[:text, :recipients, 2, "user3,user4"], [:text, :author, 2, "user2"], [:integer, :id, 2, 1], [:integer, :user_id, 3, 2], [:text, :title, 6, "message1"], [:text, :content, 2, nil]], :name=>"private_message", :new_rec=>false, :actions=>{:get => ["reply", "reply_all"]}}, []]]
|
41
41
|
|
42
42
|
>> @u3r=@client3.read({},:url => @orig[0].url+'/reply')
|
43
|
-
=> [:instance, {:url=>"/private_message/", :schema=>[[
|
43
|
+
=> [:instance, {:url=>"/private_message/", :schema=>[[:text, :recipients, 0, "user2"], [:integer, :user_id, 3, 3], [:text, :title, 4, "re: message1"], [:text, :content, 0, nil]], :name=>"private_message", :new_rec=>true, :actions=>nil}, nil]
|
44
44
|
>> @u3ra=@client3.read({},:url => @orig[0].url+'/reply_all')
|
45
|
-
=> [:instance, {:url=>"/private_message/", :schema=>[[
|
45
|
+
=> [:instance, {:url=>"/private_message/", :schema=>[[:text, :recipients, 0, "user2,user4"], [:integer, :user_id, 3, 3], [:text, :title, 4, "re: message1"], [:text, :content, 0, nil]], :name=>"private_message", :new_rec=>true, :actions=>nil}, nil]
|
46
46
|
|
47
47
|
>> @client3.create(@u3r)
|
48
|
-
=> [:instance, {:url=>"/private_message/2", :schema=>[[
|
48
|
+
=> [:instance, {:url=>"/private_message/2", :schema=>[[:text, :recipients, 2, "user2"], [:text, :author, 2, "user3"], [:integer, :id, 2, 2], [:integer, :user_id, 3, 3], [:text, :title, 6, "re: message1"], [:text, :content, 2, nil]], :name=>"private_message", :new_rec=>false, :actions=>{:get=>"reply"}}, []]
|
49
49
|
>> @client2.read
|
50
|
-
=> [[:instance, {:url=>"/private_message/2", :schema=>[[
|
50
|
+
=> [[:instance, {:url=>"/private_message/2", :schema=>[[:text, :recipients, 2, "user2"], [:text, :author, 2, "user3"], [:integer, :id, 2, 2], [:integer, :user_id, 3, 3], [:text, :title, 6, "re: message1"], [:text, :content, 2, nil]], :name=>"private_message", :new_rec=>false, :actions=>{:get=>"reply"}}, []]]
|
51
51
|
|
52
52
|
>> @client3.create(@u3ra)
|
53
|
-
=> [:instance, {:url=>"/private_message/3", :schema=>[[
|
53
|
+
=> [:instance, {:url=>"/private_message/3", :schema=>[[:text, :recipients, 2, "user2,user4"], [:text, :author, 2, "user3"], [:integer, :id, 2, 3], [:integer, :user_id, 3, 3], [:text, :title, 6, "re: message1"], [:text, :content, 2, nil]], :name=>"private_message", :new_rec=>false, :actions=>{:get => ["reply", "reply_all"]}}, []]
|
54
54
|
>> @client2.read
|
55
|
-
=> [[:instance, {:url=>"/private_message/2", :schema=>[[
|
55
|
+
=> [[:instance, {:url=>"/private_message/2", :schema=>[[:text, :recipients, 2, "user2"], [:text, :author, 2, "user3"], [:integer, :id, 2, 2], [:integer, :user_id, 3, 3], [:text, :title, 6, "re: message1"], [:text, :content, 2, nil]], :name=>"private_message", :new_rec=>false, :actions=>{:get=>"reply"}}, []], [:instance, {:url=>"/private_message/3", :schema=>[[:text, :recipients, 2, "user2,user4"], [:text, :author, 2, "user3"], [:integer, :id, 2, 3], [:integer, :user_id, 3, 3], [:text, :title, 6, "re: message1"], [:text, :content, 2, nil]], :name=>"private_message", :new_rec=>false, :actions=>{:get => ["reply", "reply_all"]}}, []]]
|
56
56
|
|
57
57
|
>> @client4.read
|
58
|
-
=> [[:instance, {:url=>"/private_message/1", :schema=>[[
|
58
|
+
=> [[:instance, {:url=>"/private_message/1", :schema=>[[:text, :recipients, 2, "user3,user4"], [:text, :author, 2, "user2"], [:integer, :id, 2, 1], [:integer, :user_id, 3, 2], [:text, :title, 6, "message1"], [:text, :content, 2, nil]], :name=>"private_message", :new_rec=>false, :actions=>{:get => ["reply", "reply_all"]}}, []], [:instance, {:url=>"/private_message/3", :schema=>[[:text, :recipients, 2, "user2,user4"], [:text, :author, 2, "user3"], [:integer, :id, 2, 3], [:integer, :user_id, 3, 3], [:text, :title, 6, "re: message1"], [:text, :content, 2, nil]], :name=>"private_message", :new_rec=>false, :actions=>{:get => ["reply", "reply_all"]}}, []]]
|
59
59
|
|
@@ -13,50 +13,50 @@ example: user1 writes, edits, deletes post
|
|
13
13
|
|
14
14
|
|
15
15
|
>>@msg=@client1.read({},:method => 'new')
|
16
|
-
=> [:instance, {:new_rec=>true, :actions=>nil, :url=>"/public_message/", :name=>"public_message", :schema=>[[
|
16
|
+
=> [:instance, {:new_rec=>true, :actions=>nil, :url=>"/public_message/", :name=>"public_message", :schema=>[[:integer, :user_id, 3, 1], [:text, :title, 4, nil], [:text, :content, 0, nil]]}, nil]
|
17
17
|
|
18
18
|
>> @client1.create(@msg,:code => 400)
|
19
19
|
=> [:error, {:error_type=>"validation", :description=>nil, :error_details=>{:title=>["is required"]}}]
|
20
20
|
|
21
21
|
>> @msg=@client1.create(@msg.set_values(:title => 'test'))
|
22
|
-
=> [:instance, {:url=>"/public_message/1", :schema=>[[
|
22
|
+
=> [:instance, {:url=>"/public_message/1", :schema=>[[:text, :author, 2, "user1"], [:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :title, 4, "test"], [:text, :content, 0, nil]], :name=>"public_message", :new_rec=>false, :actions=>{:get=>"reply", :delete=>"/public_message/1"}}, []]
|
23
23
|
|
24
24
|
>> @client1.update(@msg.set_values(:content => 'asdf'),:url => @msg.url)
|
25
|
-
=> [:instance, {:url=>"/public_message/1", :schema=>[[
|
25
|
+
=> [:instance, {:url=>"/public_message/1", :schema=>[[:text, :author, 2, "user1"], [:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :title, 4, "test"], [:text, :content, 0, "asdf"]], :name=>"public_message", :new_rec=>false, :actions=>{:get=>"reply", :delete=>"/public_message/1"}}, []]
|
26
26
|
|
27
27
|
>> @client1.del({},:url => @msg.url)
|
28
|
-
=> [:instance, {:url=>"/public_message/1", :schema=>[[
|
28
|
+
=> [:instance, {:url=>"/public_message/1", :schema=>[[:text, :author, 2, "user1"], [:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :title, 4, "test"], [:text, :content, 0, "asdf"]], :name=>"public_message", :new_rec=>false, :actions=>{:get=>"reply", :delete=>"/public_message/1"}}, []]
|
29
29
|
|
30
30
|
|
31
31
|
example: two users, several messages
|
32
32
|
>> @u1msg=@client1.read({},:method => 'new')
|
33
|
-
=> [:instance, {:new_rec=>true, :actions=>nil, :url=>"/public_message/", :name=>"public_message", :schema=>[[
|
33
|
+
=> [:instance, {:new_rec=>true, :actions=>nil, :url=>"/public_message/", :name=>"public_message", :schema=>[[:integer, :user_id, 3, 1], [:text, :title, 4, nil], [:text, :content, 0, nil]]}, nil]
|
34
34
|
>> @u2msg=@client2.read({},:method => 'new')
|
35
|
-
=> [:instance, {:new_rec=>true, :actions=>nil, :url=>"/public_message/", :name=>"public_message", :schema=>[[
|
35
|
+
=> [:instance, {:new_rec=>true, :actions=>nil, :url=>"/public_message/", :name=>"public_message", :schema=>[[:integer, :user_id, 3, 2], [:text, :title, 4, nil], [:text, :content, 0, nil]]}, nil]
|
36
36
|
|
37
37
|
>> @u1m1=@client1.create(@u1msg.set_values(:title => 'usr1 msg1'))
|
38
|
-
=> [:instance, {:url=>"/public_message/1", :schema=>[[
|
38
|
+
=> [:instance, {:url=>"/public_message/1", :schema=>[[:text, :author, 2, "user1"], [:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :title, 4, "usr1 msg1"], [:text, :content, 0, nil]], :name=>"public_message", :new_rec=>false, :actions=>{:get=>"reply", :delete=>"/public_message/1"}}, []]
|
39
39
|
|
40
40
|
>> @client3.read
|
41
|
-
=> [[:instance, {:url=>"/public_message/1", :schema=>[[
|
41
|
+
=> [[:instance, {:url=>"/public_message/1", :schema=>[[:text, :author, 2, "user1"], [:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :title, 6, "usr1 msg1"], [:text, :content, 2, nil]], :name=>"public_message", :new_rec=>false, :actions=>{:get=>"reply"}}, []]]
|
42
42
|
|
43
43
|
>> @u1m2=@client1.create(@u1msg.set_values(:title => 'usr1 msg2'))
|
44
|
-
=> [:instance, {:url=>"/public_message/2", :schema=>[[
|
44
|
+
=> [:instance, {:url=>"/public_message/2", :schema=>[[:text, :author, 2, "user1"], [:integer, :id, 2, 2], [:integer, :user_id, 3, 1], [:text, :title, 4, "usr1 msg2"], [:text, :content, 0, nil]], :name=>"public_message", :new_rec=>false, :actions=>{:get=>"reply", :delete=>"/public_message/2"}}, []]
|
45
45
|
>> @client3.read
|
46
|
-
=> [[:instance, {:url=>"/public_message/1", :schema=>[[
|
46
|
+
=> [[:instance, {:url=>"/public_message/1", :schema=>[[:text, :author, 2, "user1"], [:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :title, 6, "usr1 msg1"], [:text, :content, 2, nil]], :name=>"public_message", :new_rec=>false, :actions=>{:get=>"reply"}}, []], [:instance, {:url=>"/public_message/2", :schema=>[[:text, :author, 2, "user1"], [:integer, :id, 2, 2], [:integer, :user_id, 3, 1], [:text, :title, 6, "usr1 msg2"], [:text, :content, 2, nil]], :name=>"public_message", :new_rec=>false, :actions=>{:get=>"reply"}}, []]]
|
47
47
|
|
48
48
|
>> @client3.update(@u1m1.set_values(:title => 'asdf'),:url => @u1m1.url,:code => 403)
|
49
49
|
=> [:error, {:error_type=>"authorization", :error_details=>nil, :description=>"You are not authorized for this operation"}]
|
50
50
|
>> @client2.update(@u1m1.set_values(:title => 'asdf'),:url => @u1m1.url,:code => 403)
|
51
51
|
=> [:error, {:error_type=>"authorization", :error_details=>nil, :description=>"You are not authorized for this operation"}]
|
52
52
|
>> @client1.update(@u1m1.set_values(:title => 'asdf'),:url => @u1m1.url)
|
53
|
-
=> [:instance, {:url=>"/public_message/1", :schema=>[[
|
53
|
+
=> [:instance, {:url=>"/public_message/1", :schema=>[[:text, :author, 2, "user1"], [:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :title, 4, "asdf"], [:text, :content, 0, nil]], :name=>"public_message", :new_rec=>false, :actions=>{:get=>"reply", :delete=>"/public_message/1"}}, []]
|
54
54
|
|
55
55
|
>> @u2r1=@client2.read({},:url => @u1m1.url+'/reply')
|
56
|
-
=> [:instance, {:url=>"/public_message/", :schema=>[[
|
56
|
+
=> [:instance, {:url=>"/public_message/", :schema=>[[:integer, :user_id, 3, 2], [:text, :title, 4, "re: asdf"], [:text, :content, 0, nil]], :name=>"public_message", :new_rec=>true, :actions=>nil}, nil]
|
57
57
|
|
58
58
|
>> @client2.create(@u2r1.set_values(:content => 'xxxxxx'))
|
59
|
-
=> [:instance, {:url=>"/public_message/3", :schema=>[[
|
59
|
+
=> [:instance, {:url=>"/public_message/3", :schema=>[[:text, :author, 2, "user2"], [:integer, :id, 2, 3], [:integer, :user_id, 3, 2], [:text, :title, 4, "re: asdf"], [:text, :content, 0, "xxxxxx"]], :name=>"public_message", :new_rec=>false, :actions=>{:get=>"reply", :delete=>"/public_message/3"}}, []]
|
60
60
|
|
61
61
|
|
62
62
|
|
@@ -14,29 +14,29 @@ examples:
|
|
14
14
|
>> MR::User.foreign_key_name
|
15
15
|
=> :user_id
|
16
16
|
>> MR::User.reggae_link
|
17
|
-
=> [:link, {:url=>"/user/", :title=>"User"},
|
17
|
+
=> [:link, {:url=>"/user/", :title=>"User"},nil]
|
18
18
|
>> MR::User.reggae_link('new')
|
19
|
-
=> [:link, {:url=>"/user/new", :title=>"New User"},
|
19
|
+
=> [:link, {:url=>"/user/new", :title=>"New User"},nil]
|
20
20
|
>> MR::User.model_actions
|
21
21
|
=> {:get => [:new,:list]}
|
22
22
|
>> @client.read
|
23
23
|
=> []
|
24
24
|
>> @client.read({},{:method => 'new'})
|
25
|
-
=> [:instance, {:url=>"/user/", :new_rec=>true, :actions=>nil, :schema=>[[
|
25
|
+
=> [:instance, {:url=>"/user/", :new_rec=>true, :actions=>nil, :schema=>[[:text, :name, 4, nil], [:password, :password, 4, nil], [:text, :description, 0, nil]], :name=>"user"}, nil]
|
26
26
|
|
27
27
|
>> @client.create({},:code => 400)
|
28
28
|
=> [:error, {:description=>nil, :error_type=>"validation", :error_details=>{:description=>["is required"], :name=>["is required"], :password=>["is required"]}}]
|
29
29
|
>> @client.create({:'user[name]' => 'asdf',:'user[password]' => 'asdf', :'user[description]' => 'xxxx'})
|
30
|
-
=> [:instance, {:url=>"/user/1", :schema=>[[
|
30
|
+
=> [:instance, {:url=>"/user/1", :schema=>[[:integer, :id, 2, 1], [:text, :name, 4, "asdf"], [:password, :password, 4, "asdf"], [:text, :description, 0, "xxxx"]], :new_rec=>false, :actions=>nil, :name=>"user"}, []]
|
31
31
|
|
32
32
|
>> MR::User[1].to_s
|
33
33
|
=> "asdf"
|
34
34
|
>> MR::User[1].url
|
35
35
|
=> "/user/1"
|
36
36
|
>> MR::User[1].reggae_link
|
37
|
-
=> [:link, {:url=>"/user/1", :title=>""},
|
37
|
+
=> [:link, {:url=>"/user/1", :title=>""},nil]
|
38
38
|
>> MR::User[1].reggae_link('foobar')
|
39
|
-
=> [:link, {:url=>"/user/1", :title=>"Foobar"},
|
39
|
+
=> [:link, {:url=>"/user/1", :title=>"Foobar"},nil]
|
40
40
|
>> MR::User[1].rest_cols
|
41
41
|
=> [:id, :name, :password, :description]
|
42
42
|
>> MR::User[1].write_cols
|
@@ -46,54 +46,54 @@ examples:
|
|
46
46
|
>> MR::User[1].required_cols
|
47
47
|
=> []
|
48
48
|
>> MR::User[1].reggae_schema
|
49
|
-
=> [[
|
49
|
+
=> [[:integer, :id, 2, 1], [:text, :name, 4, "asdf"], [:password, :password, 4, "asdf"], [:text, :description, 0, "xxxx"]]
|
50
50
|
>> MR::User[1].reggae_instance
|
51
|
-
=> [:instance, {:url=>"/user/1", :schema=>[[
|
51
|
+
=> [:instance, {:url=>"/user/1", :schema=>[[:integer, :id, 2, 1], [:text, :name, 4, "asdf"], [:password, :password, 4, "asdf"], [:text, :description, 0, "xxxx"]], :new_rec=>false, :actions=>nil, :name=>"user"}, []]
|
52
52
|
|
53
53
|
>> @client.create({:'user[name]' => 'asdf',:'user[password]' => 'asdf', :'user[description]' => 'xxxx'},:code => 400)
|
54
54
|
=> [:error, {:description=>nil, :error_type=>"validation", :error_details=>{:name=>["is already taken"]}}]
|
55
55
|
>> @client.create({:'user[name]' => 'asd',:'user[password]' => 'asdf', :'user[description]' => 'xxxx'})
|
56
|
-
=> [:instance, {:url=>"/user/2", :schema=>[[
|
56
|
+
=> [:instance, {:url=>"/user/2", :schema=>[[:integer, :id, 2, 2], [:text, :name, 4, "asd"], [:password, :password, 4, "asdf"], [:text, :description, 0, "xxxx"]], :new_rec=>false, :actions=>nil, :name=>"user"}, []]
|
57
57
|
>> @client.read
|
58
|
-
=> [[:instance, {:url=>"/user/1", :schema=>[[
|
58
|
+
=> [[:instance, {:url=>"/user/1", :schema=>[[:integer, :id, 2, 1], [:text, :name, 4, "asdf"], [:password, :password, 4, "asdf"], [:text, :description, 0, "xxxx"]], :new_rec=>false, :actions=>nil, :name=>"user"}, []], [:instance, {:url=>"/user/2", :schema=>[[:integer, :id, 2, 2], [:text, :name, 4, "asd"], [:password, :password, 4, "asdf"], [:text, :description, 0, "xxxx"]], :new_rec=>false, :actions=>nil, :name=>"user"}, []]]
|
59
59
|
>> @client.del({},:instance_id => 2)
|
60
|
-
=> [:instance, {:url=>"/user/2", :schema=>[[
|
60
|
+
=> [:instance, {:url=>"/user/2", :schema=>[[:integer, :id, 2, 2], [:text, :name, 4, "asd"], [:password, :password, 4, "asdf"], [:text, :description, 0, "xxxx"]], :new_rec=>false, :actions=>nil, :name=>"user"}, []]
|
61
61
|
>> @client.read
|
62
|
-
=> [[:instance, {:url=>"/user/1", :schema=>[[
|
62
|
+
=> [[:instance, {:url=>"/user/1", :schema=>[[:integer, :id, 2, 1], [:text, :name, 4, "asdf"], [:password, :password, 4, "asdf"], [:text, :description, 0, "xxxx"]], :new_rec=>false, :actions=>nil, :name=>"user"}, []]]
|
63
63
|
>> @client.read({},:instance_id => 2, :code => 404)
|
64
64
|
=> [:error, {:description=>"Not Found", :error_type=>"routing", :error_details=>nil}]
|
65
65
|
>> @client.update({:'user[description]' => 'ddd'},:instance_id => 1)
|
66
|
-
=> [:instance, {:url=>"/user/1", :schema=>[[
|
66
|
+
=> [:instance, {:url=>"/user/1", :schema=>[[:integer, :id, 2, 1], [:text, :name, 4, "asdf"], [:password, :password, 4, "asdf"], [:text, :description, 0, "ddd"]], :new_rec=>false, :actions=>nil, :name=>"user"}, []]
|
67
67
|
>> @client.update({},:instance_id => 1)
|
68
|
-
=> [:instance, {:url=>"/user/1", :schema=>[[
|
68
|
+
=> [:instance, {:url=>"/user/1", :schema=>[[:integer, :id, 2, 1], [:text, :name, 4, "asdf"], [:password, :password, 4, "asdf"], [:text, :description, 0, "ddd"]], :new_rec=>false, :actions=>nil, :name=>"user"}, []]
|
69
69
|
|
70
70
|
>> MR::User.reject_cols![:new?][true] << 'name'
|
71
71
|
=> [/^id$/, /_type$/, /date_(created|updated)/, "name"]
|
72
72
|
>> MR::User.new.rest_cols
|
73
73
|
=> [:password, :description]
|
74
74
|
>> @client.read({}, :method => 'new')
|
75
|
-
=> [:instance, {:new_rec=>true, :actions=>nil, :url=>"/user/", :schema=>[[:password, :password, 4, nil], [
|
75
|
+
=> [:instance, {:new_rec=>true, :actions=>nil, :url=>"/user/", :schema=>[[:password, :password, 4, nil], [:text, :description, 0, nil]], :name=>"user"}, nil]
|
76
76
|
>> @client.read
|
77
|
-
=> [[:instance, {:new_rec=>false, :actions=>nil, :url=>"/user/1", :schema=>[[
|
77
|
+
=> [[:instance, {:new_rec=>false, :actions=>nil, :url=>"/user/1", :schema=>[[:integer, :id, 2, 1], [:text, :name, 4, "asdf"], [:password, :password, 4, "asdf"], [:text, :description, 0, "ddd"]], :name=>"user"}, []]]
|
78
78
|
>> MR::User.reject_cols![:new?][false] << 'name'
|
79
79
|
=> [/_type$/, "name"]
|
80
80
|
>> @client.read
|
81
|
-
=> [[:instance, {:new_rec=>false, :actions=>nil, :url=>"/user/1", :schema=>[[
|
81
|
+
=> [[:instance, {:new_rec=>false, :actions=>nil, :url=>"/user/1", :schema=>[[:integer, :id, 2, 1], [:password, :password, 4, "asdf"], [:text, :description, 0, "ddd"]], :name=>"user"}, []]]
|
82
82
|
|
83
83
|
>> MR::User.ro_cols![:new?][false] << 'description'
|
84
84
|
=> [/^id$/, /_id$/, /date_(created|updated)/, "description"]
|
85
85
|
>> @client.read({},:method => 'new')
|
86
|
-
=> [:instance, {:new_rec=>true, :actions=>nil, :url=>"/user/", :schema=>[[:password, :password, 4, nil], [
|
86
|
+
=> [:instance, {:new_rec=>true, :actions=>nil, :url=>"/user/", :schema=>[[:password, :password, 4, nil], [:text, :description, 0, nil]], :name=>"user"}, nil]
|
87
87
|
>> @client.read
|
88
|
-
=> [[:instance, {:new_rec=>false, :actions=>nil, :url=>"/user/1", :schema=>[[
|
88
|
+
=> [[:instance, {:new_rec=>false, :actions=>nil, :url=>"/user/1", :schema=>[[:integer, :id, 2, 1], [:password, :password, 4, "asdf"], [:text, :description, 2, "ddd"]], :name=>"user"}, []]]
|
89
89
|
|
90
90
|
>> MR::User.hidden_cols![:new?][true]=['password']
|
91
91
|
=> ["password"]
|
92
92
|
>> @client.read({},:method => 'new')
|
93
|
-
=> [:instance, {:new_rec=>true, :actions=>nil, :url=>"/user/", :schema=>[[:password, :password, 5, nil], [
|
93
|
+
=> [:instance, {:new_rec=>true, :actions=>nil, :url=>"/user/", :schema=>[[:password, :password, 5, nil], [:text, :description, 0, nil]], :name=>"user"}, nil]
|
94
94
|
|
95
95
|
>> MR::User.required_cols![:new?][true]=['description']
|
96
96
|
=> ["description"]
|
97
97
|
>> @client.read({},:method => 'new')
|
98
|
-
=> [:instance, {:new_rec=>true, :actions=>nil, :url=>"/user/", :schema=>[[:password, :password, 5, nil], [
|
98
|
+
=> [:instance, {:new_rec=>true, :actions=>nil, :url=>"/user/", :schema=>[[:password, :password, 5, nil], [:text, :description, 4, nil]], :name=>"user"}, nil]
|
99
99
|
|
data/rdoc/reggae/generate.rdoc
CHANGED
@@ -4,10 +4,10 @@
|
|
4
4
|
examples: generate an instance
|
5
5
|
|
6
6
|
>> @instance=Marley::ReggaeInstance.new({:name => 'foo',:schema => []})
|
7
|
-
=> [:instance, {:schema=>[], :name=>"foo"},
|
7
|
+
=> [:instance, {:schema=>[], :name=>"foo"}, nil]
|
8
8
|
|
9
9
|
>> @link=Marley::ReggaeLink.new({:url => '/', :title => 'asdf'})
|
10
|
-
=> [:link, {:url=>"/", :title=>"asdf"},
|
10
|
+
=> [:link, {:url=>"/", :title=>"asdf"}, nil]
|
11
11
|
>> @link.update(:url => '/asdf/')
|
12
|
-
=> [:link, {:url=>"/asdf/", :title=>"asdf"},
|
12
|
+
=> [:link, {:url=>"/asdf/", :title=>"asdf"}, nil]
|
13
13
|
|
@@ -11,54 +11,54 @@ end
|
|
11
11
|
examples: announcements with private and public tags
|
12
12
|
|
13
13
|
>> @announcement1=@client1.read({},{:method => 'new'})
|
14
|
-
=> [:instance, {:schema=>[[
|
14
|
+
=> [:instance, {:schema=>[[:integer, :user_id, 3, 1], [:text, :name, 4, nil], [:text, :message, 0, nil], [:text, :_private_tags, 0, nil], [:text, :_public_tags, 0, nil]], :url=>"/announcement/", :new_rec=>true, :actions=>nil, :name=>"announcement"}, nil]
|
15
15
|
|
16
16
|
>> @client1.create(@announcement1.set_values({:name => 'user1 ann1', :message => 'user1ann1 msg', :_private_tags => 'aaa,bbb',:_public_tags => 'ppp'}), :url => @announcement1.url)
|
17
|
-
=> [:instance, {:schema=>[[
|
17
|
+
=> [:instance, {:schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 ann1"], [:text, :message, 0, "user1ann1 msg"], [:text, :_private_tags, 0, "aaa, bbb"], [:text, :_public_tags, 0, "ppp"]], :url=>"/announcement/1", :new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :name=>"announcement"}, []]
|
18
18
|
>> @client1.read
|
19
|
-
=> [[:instance, {:schema=>[[
|
19
|
+
=> [[:instance, {:schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 ann1"], [:text, :message, 0, "user1ann1 msg"], [:text, :_private_tags, 0, "aaa, bbb"], [:text, :_public_tags, 0, "ppp"]], :url=>"/announcement/1", :new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :name=>"announcement"}, []]]
|
20
20
|
|
21
21
|
>> @client2.read
|
22
|
-
=> [[:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :schema=>[[
|
22
|
+
=> [[:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 6, "user1 ann1"], [:text, :message, 2, "user1ann1 msg"], [:text, :_private_tags, 0, ""], [:text, :_public_tags, 0, "ppp"]], :name=>"announcement"}, []]]
|
23
23
|
|
24
24
|
>> @announcement2=@client2.read({},{:method => 'new'})
|
25
|
-
=> [:instance, {:url=>"/announcement/", :new_rec=>true, :actions=>nil, :schema=>[[
|
25
|
+
=> [:instance, {:url=>"/announcement/", :new_rec=>true, :actions=>nil, :schema=>[[:integer, :user_id, 3, 2], [:text, :name, 4, nil], [:text, :message, 0, nil], [:text, :_private_tags, 0, nil], [:text, :_public_tags, 0, nil]], :name=>"announcement"}, nil]
|
26
26
|
>> @client1.create(@announcement.set_values({:name => 'user1 ann1', :message => 'user1ann1 msg', :_private_tags => 'aaa,bbb',:_public_tags => 'ppp'}), :url => @announcement.url)
|
27
27
|
>> @client2.create(@announcement2.set_values({:name => 'user2 ann1', :message => 'user2ann1 msg', :_private_tags => 'xxx',:_public_tags => 'yyy,zzz'}), :url => @announcement2.url)
|
28
|
-
=> [:instance, {:url=>"/announcement/2", :new_rec=>false, :actions=>{:delete=>"/announcement/2"}, :schema=>[[
|
28
|
+
=> [:instance, {:url=>"/announcement/2", :new_rec=>false, :actions=>{:delete=>"/announcement/2"}, :schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 2], [:text, :name, 4, "user2 ann1"], [:text, :message, 0, "user2ann1 msg"], [:text, :_private_tags, 0, "xxx"], [:text, :_public_tags, 0, "yyy, zzz"]], :name=>"announcement"}, []]
|
29
29
|
|
30
30
|
>> @client1.read
|
31
|
-
=> [[:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :schema=>[[
|
31
|
+
=> [[:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 ann1"], [:text, :message, 0, "user1ann1 msg"], [:text, :_private_tags, 0, "aaa, bbb"], [:text, :_public_tags, 0, "ppp"]], :name=>"announcement"}, []], [:instance, {:url=>"/announcement/2", :new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 2], [:text, :name, 6, "user2 ann1"], [:text, :message, 2, "user2ann1 msg"], [:text, :_private_tags, 0, ""], [:text, :_public_tags, 0, "yyy, zzz"]], :name=>"announcement"}, []]]
|
32
32
|
>> @client2.read
|
33
|
-
=> [[:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :schema=>[[
|
33
|
+
=> [[:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 6, "user1 ann1"], [:text, :message, 2, "user1ann1 msg"], [:text, :_private_tags, 0, ""], [:text, :_public_tags, 0, "ppp"]], :name=>"announcement"}, []], [:instance, {:url=>"/announcement/2", :new_rec=>false, :actions=>{:delete=>"/announcement/2"}, :schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 2], [:text, :name, 4, "user2 ann1"], [:text, :message, 0, "user2ann1 msg"], [:text, :_private_tags, 0, "xxx"], [:text, :_public_tags, 0, "yyy, zzz"]], :name=>"announcement"}, []]]
|
34
34
|
|
35
35
|
>> @ann1client1=@client1.read({},:instance_id => 1)
|
36
|
-
=> [:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :schema=>[[
|
36
|
+
=> [:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 ann1"], [:text, :message, 0, "user1ann1 msg"], [:text, :_private_tags, 0, "aaa, bbb"], [:text, :_public_tags, 0, "ppp"]], :name=>"announcement"}, []]
|
37
37
|
:_public_tags, 0, "ppp"]], :name=>"announcement"}, []]
|
38
38
|
|
39
39
|
>> @ann1client2=@client2.read({},:instance_id => 1)
|
40
|
-
=> [:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :schema=>[[
|
40
|
+
=> [:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 6, "user1 ann1"], [:text, :message, 2, "user1ann1 msg"], [:text, :_private_tags, 0, ""], [:text, :_public_tags, 0, "ppp"]], :name=>"announcement"}, []]
|
41
41
|
|
42
42
|
>> @ann2client1=@client1.read({},:instance_id => 2)
|
43
|
-
=> [:instance, {:url=>"/announcement/2", :new_rec=>false, :actions=>nil, :schema=>[[
|
43
|
+
=> [:instance, {:url=>"/announcement/2", :new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 2], [:text, :name, 6, "user2 ann1"], [:text, :message, 2, "user2ann1 msg"], [:text, :_private_tags, 0, ""], [:text, :_public_tags, 0, "yyy, zzz"]], :name=>"announcement"}, []]
|
44
44
|
|
45
45
|
>> @ann2client2=@client2.read({},:instance_id => 2)
|
46
|
-
=> [:instance, {:url=>"/announcement/2", :new_rec=>false, :actions=>{:delete=>"/announcement/2"}, :schema=>[[
|
46
|
+
=> [:instance, {:url=>"/announcement/2", :new_rec=>false, :actions=>{:delete=>"/announcement/2"}, :schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 2], [:text, :name, 4, "user2 ann1"], [:text, :message, 0, "user2ann1 msg"], [:text, :_private_tags, 0, "xxx"], [:text, :_public_tags, 0, "yyy, zzz"]], :name=>"announcement"}, []]
|
47
47
|
|
48
48
|
|
49
49
|
>> @client1.update(@ann1client1.set_values(:_public_tags => 'uuu'), :url => @ann1client1.url)
|
50
|
-
=> [:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :schema=>[[
|
50
|
+
=> [:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 ann1"], [:text, :message, 0, "user1ann1 msg"], [:text, :_private_tags, 0, "aaa, bbb"], [:text, :_public_tags, 0, "uuu"]], :name=>"announcement"}, []]
|
51
51
|
|
52
52
|
>> @client2.read({},:instance_id => 1)
|
53
|
-
=> [:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :schema=>[[
|
53
|
+
=> [:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 6, "user1 ann1"], [:text, :message, 2, "user1ann1 msg"], [:text, :_private_tags, 0, ""], [:text, :_public_tags, 0, "uuu"]], :name=>"announcement"}, []]
|
54
54
|
>> @client1.update(@ann1client1.set_values(:_private_tags => 'u,v,w'), :url => @ann1client1.url)
|
55
|
-
=> [:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :schema=>[[
|
55
|
+
=> [:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 ann1"], [:text, :message, 0, "user1ann1 msg"], [:text, :_private_tags, 0, "u, v, w"], [:text, :_public_tags, 0, "uuu"]], :name=>"announcement"}, []]
|
56
56
|
>> @client2.read({},:instance_id => 1)
|
57
|
-
=> [:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :schema=>[[
|
57
|
+
=> [:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 6, "user1 ann1"], [:text, :message, 2, "user1ann1 msg"], [:text, :_private_tags, 0, ""], [:text, :_public_tags, 0, "uuu"]], :name=>"announcement"}, []]
|
58
58
|
>> @client2.update(@ann1client2.set_values(:_public_tags => 'ddd',:_private_tags => 'ee,www,rr'),:url => @ann1client2.url)
|
59
|
-
=> [:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :schema=>[[
|
59
|
+
=> [:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 6, "user1 ann1"], [:text, :message, 2, "user1ann1 msg"], [:text, :_private_tags, 0, "ee, www, rr"], [:text, :_public_tags, 0, "ddd"]], :name=>"announcement"}, []]
|
60
60
|
|
61
61
|
>> @client1.read
|
62
|
-
=> [[:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :schema=>[[
|
62
|
+
=> [[:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 ann1"], [:text, :message, 0, "user1ann1 msg"], [:text, :_private_tags, 0, "u, v, w"], [:text, :_public_tags, 0, "ddd"]], :name=>"announcement"}, []], [:instance, {:url=>"/announcement/2", :new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 2], [:text, :name, 6, "user2 ann1"], [:text, :message, 2, "user2ann1 msg"], [:text, :_private_tags, 0, ""], [:text, :_public_tags, 0, "yyy, zzz"]], :name=>"announcement"}, []]]
|
63
63
|
|
64
64
|
|
@@ -11,23 +11,23 @@ examples:
|
|
11
11
|
>> @client.auth=@user1_auth
|
12
12
|
=> ["user1", "asdfasdf"]
|
13
13
|
>> @secret=@client.read({}, :method => 'new')
|
14
|
-
=> [:instance, {:schema=>[[
|
14
|
+
=> [:instance, {:schema=>[[:integer, :user_id, 3, 1], [:text, :name, 4, nil], [:text, :message, 0, nil], [:text, :_private_tags, 0, nil]], :url=>"/secret/", :new_rec=>true, :actions=>nil, :name=>"secret"}, nil]
|
15
15
|
|
16
16
|
>> @client.create(@secret.set_values(:name => 'user1 secret1', :_private_tags => 'xxxxxx,sss'))
|
17
|
-
=> [:instance, {:schema=>[[
|
17
|
+
=> [:instance, {:schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 secret1"], [:text, :message, 0, nil], [:text, :_private_tags, 0, "xxxxxx, sss"]], :url=>"/secret/1", :new_rec=>false, :actions=>nil, :name=>"secret"}, []]
|
18
18
|
|
19
19
|
>> @secret=@client.read[0]
|
20
|
-
=> [:instance, {:schema=>[[
|
20
|
+
=> [:instance, {:schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 secret1"], [:text, :message, 0, nil], [:text, :_private_tags, 0, "xxxxxx, sss"]], :url=>"/secret/1", :new_rec=>false, :actions=>nil, :name=>"secret"}, []]
|
21
21
|
|
22
22
|
>> @client.update(@secret.set_values(:_private_tags => "#{@secret.col_value(:_private_tags)},zzz,aaa"), :url => @secret.url)
|
23
|
-
=> [:instance, {:schema=>[[
|
23
|
+
=> [:instance, {:schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 secret1"], [:text, :message, 0, nil], [:text, :_private_tags, 0, "xxxxxx, sss, zzz, aaa"]], :url=>"/secret/1", :new_rec=>false, :actions=>nil, :name=>"secret"}, []]
|
24
24
|
>> @secret=@client.read[0]
|
25
|
-
=> [:instance, {:schema=>[[
|
25
|
+
=> [:instance, {:schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 secret1"], [:text, :message, 0, nil], [:text, :_private_tags, 0, "xxxxxx, sss, zzz, aaa"]], :url=>"/secret/1", :new_rec=>false, :actions=>nil, :name=>"secret"}, []]
|
26
26
|
|
27
27
|
>> @client.update(@secret.set_values(:_private_tags => "foo"), :url => @secret.url)
|
28
|
-
=> [:instance, {:schema=>[[
|
28
|
+
=> [:instance, {:schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 secret1"], [:text, :message, 0, nil], [:text, :_private_tags, 0, "foo"]], :url=>"/secret/1", :new_rec=>false, :actions=>nil, :name=>"secret"}, []]
|
29
29
|
>> @secret=@client.read[0]
|
30
|
-
=> [:instance, {:schema=>[[
|
30
|
+
=> [:instance, {:schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 secret1"], [:text, :message, 0, nil], [:text, :_private_tags, 0, "foo"]], :url=>"/secret/1", :new_rec=>false, :actions=>nil, :name=>"secret"}, []]
|
31
31
|
|
32
32
|
>> DB[:tags].all
|
33
33
|
=> [{:tag=>"xxxxxx", :id=>1, :user_id=>1}, {:tag=>"sss", :id=>2, :user_id=>1}, {:tag=>"sss", :id=>3, :user_id=>1}, {:tag=>"zzz", :id=>4, :user_id=>1}, {:tag=>"aaa", :id=>5, :user_id=>1}, {:tag=>"foo", :id=>6, :user_id=>1}]
|
@@ -42,20 +42,20 @@ examples:
|
|
42
42
|
=> []
|
43
43
|
|
44
44
|
>> @secret=@client.read({}, :method => 'new')
|
45
|
-
=> [:instance, {:schema=>[[
|
45
|
+
=> [:instance, {:schema=>[[:integer, :user_id, 3, 2], [:text, :name, 4, nil], [:text, :message, 0, nil], [:text, :_private_tags, 0, nil]], :url=>"/secret/", :new_rec=>true, :actions=>nil, :name=>"secret"}, nil]
|
46
46
|
|
47
47
|
>> @client.create(@secret.set_values(:name => 'user2 secret', :_private_tags => 'foo,bar'))
|
48
|
-
=> [:instance, {:schema=>[[
|
48
|
+
=> [:instance, {:schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 2], [:text, :name, 4, "user2 secret"], [:text, :message, 0, nil], [:text, :_private_tags, 0, "foo, bar"]], :url=>"/secret/2", :new_rec=>false, :actions=>nil, :name=>"secret"}, []]
|
49
49
|
|
50
50
|
>> @secret=@client.read[0]
|
51
|
-
=> [:instance, {:schema=>[[
|
51
|
+
=> [:instance, {:schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 2], [:text, :name, 4, "user2 secret"], [:text, :message, 0, nil], [:text, :_private_tags, 0, "foo, bar"]], :url=>"/secret/2", :new_rec=>false, :actions=>nil, :name=>"secret"}, []]
|
52
52
|
>> @client.update(@secret.set_values(:_private_tags => "#{@secret.col_value(:_private_tags)},baz,bat"), :url => @secret.url)
|
53
|
-
=> [:instance, {:schema=>[[
|
53
|
+
=> [:instance, {:schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 2], [:text, :name, 4, "user2 secret"], [:text, :message, 0, nil], [:text, :_private_tags, 0, "foo, bar, baz, bat"]], :url=>"/secret/2", :new_rec=>false, :actions=>nil, :name=>"secret"}, []]
|
54
54
|
|
55
55
|
>> @secret=@client.read[0]
|
56
|
-
=> [:instance, {:schema=>[[
|
56
|
+
=> [:instance, {:schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 2], [:text, :name, 4, "user2 secret"], [:text, :message, 0, nil], [:text, :_private_tags, 0, "foo, bar, baz, bat"]], :url=>"/secret/2", :new_rec=>false, :actions=>nil, :name=>"secret"}, []]
|
57
57
|
>> @client.update(@secret.set_values(:_private_tags => "boo"), :url => @secret.url)
|
58
|
-
=> [:instance, {:schema=>[[
|
58
|
+
=> [:instance, {:schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 2], [:text, :name, 4, "user2 secret"], [:text, :message, 0, nil], [:text, :_private_tags, 0, "boo"]], :url=>"/secret/2", :new_rec=>false, :actions=>nil, :name=>"secret"}, []]
|
59
59
|
|
60
60
|
>> DB[:tags].all
|
61
61
|
=> [{:tag=>"xxxxxx", :id=>1, :user_id=>1}, {:tag=>"sss", :id=>2, :user_id=>1}, {:tag=>"sss", :id=>3, :user_id=>1}, {:tag=>"zzz", :id=>4, :user_id=>1}, {:tag=>"aaa", :id=>5, :user_id=>1}, {:tag=>"foo", :id=>6, :user_id=>1}, {:tag=>"foo", :id=>7, :user_id=>2}, {:tag=>"bar", :id=>8, :user_id=>2}, {:tag=>"bar", :id=>9, :user_id=>2}, {:tag=>"baz", :id=>10, :user_id=>2}, {:tag=>"bat", :id=>11, :user_id=>2}, {:tag=>"boo", :id=>12, :user_id=>2}]
|
@@ -17,31 +17,31 @@ example: user1 logged in
|
|
17
17
|
# Note: Date hack, defined in test_helper.rb is causing the strings to appear in the date_created/updated fields
|
18
18
|
|
19
19
|
>> @client.read
|
20
|
-
=> [[:instance, {:new_rec=>false, :actions=>nil, :schema=>[[
|
20
|
+
=> [[:instance, {:new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:text, :name, 0, "user1"], [:text, :email, 0, nil], [:date, :birthday, 0, nil], [:datetime, :date_created, 2, "date_created"], [:text, :description, 0, nil], [:password, :old_password, 0, nil], [:password, :password, 0, nil], [:password, :confirm_password, 0, nil]], :name=>"user", :url=>"/user/1"}, []], [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 2], [:text, :name, 2, "user2"], [:text, :email, 2, nil], [:date, :birthday, 2, nil], [:datetime, :date_created, 2, "date_created"], [:text, :description, 2, nil]], :name=>"user", :url=>"/user/2"}, []]]
|
21
21
|
|
22
22
|
>> @client.instance_id=1
|
23
23
|
=> 1
|
24
24
|
>> @user1=@client.read
|
25
|
-
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[
|
25
|
+
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:text, :name, 0, "user1"], [:text, :email, 0, nil], [:date, :birthday, 0, nil], [:datetime, :date_created, 2, "date_created"], [:text, :description, 0, nil], [:password, :old_password, 0, nil], [:password, :password, 0, nil], [:password, :confirm_password, 0, nil]], :name=>"user", :url=>"/user/1"}, []]
|
26
26
|
>> @client.update(@user1)
|
27
|
-
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[
|
27
|
+
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:text, :name, 0, "user1"], [:text, :email, 0, nil], [:date, :birthday, 0, nil], [:datetime, :date_created, 2, "date_created"], [:text, :description, 0, nil], [:password, :old_password, 0, nil], [:password, :password, 0, nil], [:password, :confirm_password, 0, nil]], :name=>"user", :url=>"/user/1"}, []]
|
28
28
|
|
29
29
|
>> @user1=@client.read
|
30
|
-
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[
|
30
|
+
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:text, :name, 0, "user1"], [:text, :email, 0, nil], [:date, :birthday, 0, nil], [:datetime, :date_created, 2, "date_created"], [:text, :description, 0, nil], [:password, :old_password, 0, nil], [:password, :password, 0, nil], [:password, :confirm_password, 0, nil]], :name=>"user", :url=>"/user/1"}, []]
|
31
31
|
>> @client.update(@user1)
|
32
|
-
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[
|
32
|
+
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:text, :name, 0, "user1"], [:text, :email, 0, nil], [:date, :birthday, 0, nil], [:datetime, :date_created, 2, "date_created"], [:text, :description, 0, nil], [:password, :old_password, 0, nil], [:password, :password, 0, nil], [:password, :confirm_password, 0, nil]], :name=>"user", :url=>"/user/1"}, []]
|
33
33
|
>> @user1.col_value(:password, 'zxcvzxcv')
|
34
34
|
=> "zxcvzxcv"
|
35
35
|
>> @client.update(@user1,{:code => 400})
|
36
36
|
=> [:error, {:error_type=>"validation", :error_details=>{:old_password=>["Old Password Incorrect"], :confirm_password=>["Passwords do not match"]}, :description=>nil}]
|
37
37
|
>> @user1.set_values(:confirm_password => 'zxcvzxcv',:old_password => 'asdfasdf')
|
38
|
-
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[
|
38
|
+
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:text, :name, 0, "user1"], [:text, :email, 0, nil], [:date, :birthday, 0, nil], [:datetime, :date_created, 2, "date_created"], [:text, :description, 0, nil], [:password, :old_password, 0, "asdfasdf"], [:password, :password, 0, "zxcvzxcv"], [:password, :confirm_password, 0, "zxcvzxcv"]], :name=>"user", :url=>"/user/1"}, []]
|
39
39
|
>> @client.update(@user1)
|
40
|
-
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[
|
40
|
+
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:text, :name, 2, "user1"], [:text, :email, 2, nil], [:date, :birthday, 2, nil], [:datetime, :date_created, 2, "date_created"], [:text, :description, 2, nil]], :name=>"user", :url=>"/user/1"}, []]
|
41
41
|
>> @client.read({},:code => 401)
|
42
42
|
=> [:error, {:error_type=>"authentication", :error_details=>nil, :description=>nil}]
|
43
43
|
>> @client.read({},:auth => ['user1', 'zxcvzxcv'])
|
44
|
-
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[
|
44
|
+
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:text, :name, 0, "user1"], [:text, :email, 0, nil], [:date, :birthday, 0, nil], [:datetime, :date_created, 2, "date_created"], [:text, :description, 0, nil], [:password, :old_password, 0, nil], [:password, :password, 0, nil], [:password, :confirm_password, 0, nil]], :name=>"user", :url=>"/user/1"}, []]
|
45
45
|
|
46
46
|
example: user1 reading/writing secrets
|
47
47
|
|
@@ -53,14 +53,14 @@ example: user1 reading/writing secrets
|
|
53
53
|
>> @client.read
|
54
54
|
=> []
|
55
55
|
>> @secret=@client.read({}, {:method => 'new'})
|
56
|
-
=> [:instance, {:new_rec=>true, :actions=>nil, :schema=>[[
|
56
|
+
=> [:instance, {:new_rec=>true, :actions=>nil, :schema=>[[:integer, :user_id, 3, 1], [:text, :name, 4, nil], [:text, :message, 0, nil]], :name=>"secret", :url=>"/secret/"}, nil]
|
57
57
|
|
58
58
|
>> @client.create(@secret, {:code => 400})
|
59
59
|
=> [:error, {:error_type=>"validation", :error_details=>{:name=>["is required"]}, :description=>nil}]
|
60
60
|
>> @client.create(@secret.set_values(:name => 'this is my secret'))
|
61
|
-
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[
|
61
|
+
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "this is my secret"], [:text, :message, 0, nil]], :name=>"secret", :url=>"/secret/1"}, []]
|
62
62
|
>> @client.read
|
63
|
-
=> [[:instance, {:new_rec=>false, :actions=>nil, :schema=>[[
|
63
|
+
=> [[:instance, {:new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "this is my secret"], [:text, :message, 0, nil]], :name=>"secret", :url=>"/secret/1"}, []]]
|
64
64
|
>> @client.read({},:auth => @user2_auth)
|
65
65
|
=> []
|
66
66
|
>> @client.read({},:auth => @user2_auth,:instance_id => 1, :code => 403)
|
@@ -74,9 +74,9 @@ example: user2 reading/writing secrets
|
|
74
74
|
>> @client.read
|
75
75
|
=> []
|
76
76
|
>> @secret=@client.read({}, {:method => 'new'})
|
77
|
-
=> [:instance, {:new_rec=>true, :actions=>nil, :schema=>[[
|
77
|
+
=> [:instance, {:new_rec=>true, :actions=>nil, :schema=>[[:integer, :user_id, 3, 2], [:text, :name, 4, nil], [:text, :message, 0, nil]], :name=>"secret", :url=>"/secret/"}, nil]
|
78
78
|
>> @client.create(@secret.set_values(:name => 'user2 my secret'))
|
79
|
-
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[
|
79
|
+
=> [:instance, {:new_rec=>false, :actions=>nil, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 2], [:text, :name, 4, "user2 my secret"], [:text, :message, 0, nil]], :name=>"secret", :url=>"/secret/1"}, []]
|
80
80
|
|
81
81
|
>> @client.read({}, :auth => @user1_auth)
|
82
82
|
=> []
|
@@ -92,29 +92,29 @@ examples: announcements
|
|
92
92
|
=> []
|
93
93
|
|
94
94
|
>> @announcement=@client.read({},{:method => 'new'})
|
95
|
-
=> [:instance, {:new_rec=>true, :actions=>nil, :schema=>[[
|
95
|
+
=> [:instance, {:new_rec=>true, :actions=>nil, :schema=>[[:integer, :user_id, 3, 1], [:text, :name, 4, nil], [:text, :message, 0, nil]], :name=>"announcement", :url=>"/announcement/"}, nil]
|
96
96
|
>> @client.create(@announcement.set_values({:name => 'user1 announcement'}))
|
97
|
-
=> [:instance, {:new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :schema=>[[
|
97
|
+
=> [:instance, {:new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 announcement"], [:text, :message, 0, nil]], :name=>"announcement", :url=>"/announcement/1"}, []]
|
98
98
|
>> @client.read
|
99
|
-
=> [[:instance, {:new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :schema=>[[
|
99
|
+
=> [[:instance, {:new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 announcement"], [:text, :message, 0, nil]], :name=>"announcement", :url=>"/announcement/1"}, []]]
|
100
100
|
>> @client.create(@announcement.set_values({:name => 'user1 announcement2'}))
|
101
|
-
=> [:instance, {:new_rec=>false, :actions=>{:delete=>"/announcement/2"}, :schema=>[[
|
101
|
+
=> [:instance, {:new_rec=>false, :actions=>{:delete=>"/announcement/2"}, :schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 announcement2"], [:text, :message, 0, nil]], :name=>"announcement", :url=>"/announcement/2"}, []]
|
102
102
|
>> @client.read
|
103
|
-
=> [[:instance, {:new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :schema=>[[
|
103
|
+
=> [[:instance, {:new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 announcement"], [:text, :message, 0, nil]], :name=>"announcement", :url=>"/announcement/1"}, []], [:instance, {:new_rec=>false, :actions=>{:delete=>"/announcement/2"}, :schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 announcement2"], [:text, :message, 0, nil]], :name=>"announcement", :url=>"/announcement/2"}, []]]
|
104
104
|
|
105
105
|
>> @client.auth=@user2_auth
|
106
106
|
=> ["user2", "asdfasdf"]
|
107
107
|
>> @client.read
|
108
|
-
=> [[:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :name=>"announcement", :schema=>[[
|
108
|
+
=> [[:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :name=>"announcement", :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 6, "user1 announcement"], [:text, :message, 2, nil]]}, []], [:instance, {:url=>"/announcement/2", :new_rec=>false, :actions=>nil, :name=>"announcement", :schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 1], [:text, :name, 6, "user1 announcement2"], [:text, :message, 2, nil]]}, []]]
|
109
109
|
|
110
110
|
>> @client.read
|
111
|
-
=> [[:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :name=>"announcement", :schema=>[[
|
111
|
+
=> [[:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :name=>"announcement", :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 6, "user1 announcement"], [:text, :message, 2, nil]]}, []], [:instance, {:url=>"/announcement/2", :new_rec=>false, :actions=>nil, :name=>"announcement", :schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 1], [:text, :name, 6, "user1 announcement2"], [:text, :message, 2, nil]]}, []]]
|
112
112
|
>> @announcement=@client.read({},{:method => 'new'})
|
113
|
-
=> [:instance, {:url=>"/announcement/", :new_rec=>true, :actions=>nil, :name=>"announcement", :schema=>[[
|
113
|
+
=> [:instance, {:url=>"/announcement/", :new_rec=>true, :actions=>nil, :name=>"announcement", :schema=>[[:integer, :user_id, 3, 2], [:text, :name, 4, nil], [:text, :message, 0, nil]]}, nil]
|
114
114
|
>> @client.create(@announcement.set_values({:name => 'user2 announcement'}))
|
115
|
-
=> [:instance, {:url=>"/announcement/3", :new_rec=>false, :actions=>{:delete=>"/announcement/3"}, :name=>"announcement", :schema=>[[
|
115
|
+
=> [:instance, {:url=>"/announcement/3", :new_rec=>false, :actions=>{:delete=>"/announcement/3"}, :name=>"announcement", :schema=>[[:integer, :id, 2, 3], [:integer, :user_id, 3, 2], [:text, :name, 4, "user2 announcement"], [:text, :message, 0, nil]]}, []]
|
116
116
|
>> @client.read
|
117
|
-
=> [[:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :name=>"announcement", :schema=>[[
|
117
|
+
=> [[:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>nil, :name=>"announcement", :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 6, "user1 announcement"], [:text, :message, 2, nil]]}, []], [:instance, {:url=>"/announcement/2", :new_rec=>false, :actions=>nil, :name=>"announcement", :schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 1], [:text, :name, 6, "user1 announcement2"], [:text, :message, 2, nil]]}, []], [:instance, {:url=>"/announcement/3", :new_rec=>false, :actions=>{:delete=>"/announcement/3"}, :name=>"announcement", :schema=>[[:integer, :id, 2, 3], [:integer, :user_id, 3, 2], [:text, :name, 4, "user2 announcement"], [:text, :message, 0, nil]]}, []]]
|
118
118
|
>> @client.read({}, :auth => @user1_auth)
|
119
|
-
=> [[:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :name=>"announcement", :schema=>[[
|
119
|
+
=> [[:instance, {:url=>"/announcement/1", :new_rec=>false, :actions=>{:delete=>"/announcement/1"}, :name=>"announcement", :schema=>[[:integer, :id, 2, 1], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 announcement"], [:text, :message, 0, nil]]}, []], [:instance, {:url=>"/announcement/2", :new_rec=>false, :actions=>{:delete=>"/announcement/2"}, :name=>"announcement", :schema=>[[:integer, :id, 2, 2], [:integer, :user_id, 3, 1], [:text, :name, 4, "user1 announcement2"], [:text, :message, 0, nil]]}, []], [:instance, {:url=>"/announcement/3", :new_rec=>false, :actions=>nil, :name=>"announcement", :schema=>[[:integer, :id, 2, 3], [:integer, :user_id, 3, 2], [:text, :name, 6, "user2 announcement"], [:text, :message, 2, nil]]}, []]]
|
120
120
|
|
@@ -3,7 +3,7 @@ example: read new user form but not user list
|
|
3
3
|
>> @client.read({},:code => 401)
|
4
4
|
=> [:error, {:error_type=>"authentication", :error_details=>nil, :description=>nil}]
|
5
5
|
>> @client.read({},:method => 'new')
|
6
|
-
=> [:instance, {:new_rec=>true, :actions=>nil, :schema=>[[
|
6
|
+
=> [:instance, {:new_rec=>true, :actions=>nil, :schema=>[[:text, :name, 0, nil], [:text, :email, 0, nil], [:date, :birthday, 0, nil], [:text, :description, 0, nil], [:password, :password, 4, nil], [:password, :confirm_password, 4, nil]], :name=>"user", :url=>"/user/"}, nil]
|
7
7
|
|
8
8
|
|
9
9
|
example: user validation
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marley
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Herb Daily
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-03-20 00:00:00 -03:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -50,7 +50,7 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - ~>
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: 0.
|
53
|
+
version: 0.16.0
|
54
54
|
version:
|
55
55
|
description: "Marley is a framework for quickly building RESTful web services and applications. Development is fast because Marley implements lots of sensible defaults, all of which can be overridden and most of which can be overridden easily. "
|
56
56
|
email: herb.daily@safe-mail.net
|