class ActiveTriples::Solrizer::ProfileIndexingService
Public Class Methods
new(object=nil)
click to toggle source
# File lib/active_triples/solrizer/profile_indexing_service.rb, line 5 def initialize(object=nil) @object = object end
Public Instance Methods
export()
click to toggle source
# File lib/active_triples/solrizer/profile_indexing_service.rb, line 9 def export return '' if @object.nil? # @object.serializable_hash.to_json attributes(@object).to_json end
import( object_profile, object_class=nil )
click to toggle source
# File lib/active_triples/solrizer/profile_indexing_service.rb, line 15 def import( object_profile, object_class=nil ) raise ArgumentError, 'object_profile must not be nil' if object_profile == nil raise ArgumentError, 'object_class must not be nil if @object is nil' if object_class == nil && @object == nil raise ArgumentError, 'object_class must be same as class for @object' unless object_class == nil || @object == nil || object_class == @object.class # @object.deserializable_json(object_profile) attrs = JSON(object_profile) object_class ||= @object.class @object = object_class.new(attrs['id']) set_attributes(@object,attrs) @object end
Private Instance Methods
attributes(obj)
click to toggle source
# File lib/active_triples/solrizer/profile_indexing_service.rb, line 35 def attributes(obj) attrs = obj.attributes attrs.each do |k,v| next unless (v.is_a?(Array) || (Object::ActiveTriples.const_defined?("Relation") && v.is_a?(ActiveTriples::Relation))) next unless v.first.is_a? ActiveTriples::Resource attrs[k] = v.first.id end attrs end
set_attributes(obj,attrs)
click to toggle source
# File lib/active_triples/solrizer/profile_indexing_service.rb, line 45 def set_attributes(obj,attrs) attrs.each do |k,v| next if k == 'id' obj.set_value( k, v ) end end