ncbo / goo

Graph Oriented Objects (GOO) for Ruby. A RDF/SPARQL based ORM.
http://ncbo.github.io/goo/
Other
15 stars 6 forks source link

Calling valid? can result in an exception #46

Closed palexander closed 11 years ago

palexander commented 11 years ago

In some conditions calling the valid? method results in an exception. It looks like when there are two attributes with :unqiue => true and only one has been set. For example:

os = LinkedData::Models::OntologySubmission.new
os.submissionId = 1
os.valid?
=> ArgumentError: Field acronym has no value. Value is needed to generate resource id
palexander commented 11 years ago

Here's a more complete stack trace

ArgumentError: Field acronym has no value. Value is needed to generate resource id
    /Users/palexand/Development/goo/lib/goo/naming/resource_ids.rb:32:in `block in getResourceId'
    /Users/palexand/Development/goo/lib/goo/naming/resource_ids.rb:30:in `each'
    /Users/palexand/Development/goo/lib/goo/naming/resource_ids.rb:30:in `getResourceId'
    /Users/palexand/Development/goo/lib/goo/naming/resource_ids.rb:12:in `getResourceId'
    /Users/palexand/Development/goo/lib/goo/base/internals.rb:53:in `id'
    /Users/palexand/Development/goo/lib/goo/base/resource.rb:149:in `resource_id'
    /Users/palexand/Development/goo/lib/goo/base/resource.rb:155:in `exist?'
    /Users/palexand/Development/goo/lib/goo/validators/validators.rb:75:in `validate_each'
    /Users/palexand/Development/goo/lib/goo/base/resource.rb:395:in `block (2 levels) in valid?'
    /Users/palexand/Development/goo/lib/goo/base/resource.rb:387:in `each'
    /Users/palexand/Development/goo/lib/goo/base/resource.rb:387:in `block in valid?'
    /Users/palexand/Development/goo/lib/goo/base/resource.rb:385:in `each'
    /Users/palexand/Development/goo/lib/goo/base/resource.rb:385:in `valid?'
    /Users/palexand/Development/ontologies_linked_data/lib/ontologies_linked_data/models/ontology_submission.rb:46:in `valid?'