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