class Mongoid::Oslc::Resources
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/mongoid/oslc/resources.rb, line 4 def initialize super{|h, k| h[k] = {fields: {}}} end
Public Instance Methods
class_for(rdf_type)
click to toggle source
# File lib/mongoid/oslc/resources.rb, line 8 def class_for(rdf_type) self.select{|klass,properties| properties[:describe] == rdf_type}.keys.first end
domain(rdf_type)
click to toggle source
# File lib/mongoid/oslc/resources.rb, line 12 def domain(rdf_type) self[class_for(rdf_type)][:domain] end
field_name(oslc_name)
click to toggle source
# File lib/mongoid/oslc/resources.rb, line 20 def field_name(oslc_name) if custom_field?(oslc_name) oslc_name.split(":")[1].to_sym else mapping[oslc_name][:name] end end
is_field_array?(oslc_name)
click to toggle source
# File lib/mongoid/oslc/resources.rb, line 28 def is_field_array?(oslc_name) if custom_field?(oslc_name) false else occurs = self.mapping[oslc_name][:occurs] occurs == ::Oslc::ZERO_OR_MANY || occurs == ::Oslc::ONE_OR_MANY end end
mapping()
click to toggle source
# File lib/mongoid/oslc/resources.rb, line 16 def mapping self.inject({}){|hash, klass| hash.merge(klass[1][:fields]) } end
Private Instance Methods
custom_field?(oslc_name)
click to toggle source
# File lib/mongoid/oslc/resources.rb, line 39 def custom_field?(oslc_name) Mongoid::Oslc.config.default_namespaces.include? oslc_name.split(":")[0].to_sym end