Enforce associations (and may be coercion/validation) definitions
Reported by Yurii Rashkovskii | May 18th, 2008 @ 04:37 PM | in 0.0.3
There seems to be a problem with associations at least (on second console load):
User = Meta.new do
has_many :items
end
# ==> User
Item = Meta.new
# ==> Item
User.document
User.document
StrokeDB::InvalidViewError: #map method is not defined for a view !
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/views/view.rb:251:in `map'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/views/view.rb:236:in `map_with_encoding'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/views/view.rb:221:in `update_head'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/views/view.rb:195:in `update'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/views/store_ext.rb:26:in `update_views!'
from /opt/local/lib/ruby/1.8/set.rb:189:in `each'
from /opt/local/lib/ruby/1.8/set.rb:189:in `each_key'
from /opt/local/lib/ruby/1.8/set.rb:189:in `each'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/views/store_ext.rb:25:in `update_views!'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/views/store_ext.rb:46:in `update_views!'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/store.rb:41:in `save!'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/document.rb:429:in `save!'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/document.rb:448:in `update_slots!'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/document/meta.rb:133:in `named'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/document/dsl/associations.rb:105:in `has_many'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/document/meta.rb:267:in `call'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/document/meta.rb:267:in `make_document'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/document/meta.rb:267:in `each'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/document/meta.rb:267:in `make_document'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/document/meta.rb:251:in `document'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/document/meta.rb:249:in `map'
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/document/meta.rb:249:in `document'
from (irb):5
1
# ==> 1
u = find "080f0484-32f8-4dd4-b087-c3c053fdc9f2"
# ==> #<User name: "Yurii", uuid: "080f0484-32f8-4dd4-b087-c3c053fdc9f2", version: 0000...>
u.items
StrokeDB::SlotNotFoundError: StrokeDB::SlotNotFoundError
from /Users/yrashk/Development/idbns/strokedb/lib/strokedb/document.rb:593:in `method_missing'
from (irb):9
Comments and changes to this ticket
-
Yurii Rashkovskii May 22nd, 2008 @ 06:53 PM
Uhmm...
StrokeDB 0.0.2.1 (help! for more info) clear! # ==> "Database has been wiped out." User = Meta.new { has_many :items } # ==> User Item = Meta.new # ==> Item User.document # ==> #<Meta has_many_items: #<View conditions: nil, expected_meta: "Item", expected_nsurl: "", extend_with: nil, key_size: nil, nsurl: "http://strokedb.com/", reference_slotname: "user", reverse: false, sort_by: nil, strategy: "heads", through: [], uuid: "e628595d-326c-5dff-a578-575662606d67", value_size: 16, version: 0000...>, name: "User", nsurl: "", uuid: "85631643-fe29-596a-9670-8765d39463bf", version: 0000...> u = User.create :a => 1 NoMethodError: undefined method `create' for User:Module from (irb):5 u = User.create! :a => 1 # ==> #<User a: 1, uuid: "af1ddd12-6d74-4966-804c-a8c03d8c588d", version: 0000...> i = Item.create! :user => u # ==> #<Item user: #<User a: 1, uuid: "af1ddd12-6d74-4966-804c-a8c03d8c588d", version: 0000...>, uuid: "3784fe21-e019-4df9-ada6-03e244f96cec", version: 0000...> u.items # ==> [#<Item user: #<User a: 1, uuid: "af1ddd12-6d74-4966-804c-a8c03d8c588d", version: 0000...>, uuid: "3784fe21-e019-4df9-ada6-03e244f96cec", version: 0000...>] quit imac:strokedb(new-views) $ sc StrokeDB 0.0.2.1 (help! for more info) User = Meta.new { has_many :items } # ==> User Item = Meta.new # ==> Item User.document NoMethodError: undefined method `head_version' for nil:NilClass -
Yurii Rashkovskii May 22nd, 2008 @ 08:16 PM
- → State changed from new to resolved
we had major serialization problems in storage... preliminary fix has been developed (though we still need to refactor serialization)
Please Login or create a free account to add a new comment.
You can update this ticket by sending an email to from your email client. (help)
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
StrokeDB is an embeddable distributed document database written in Ruby
