class GSA::RecordsConverter
Public Class Methods
convert(args)
click to toggle source
# File lib/gsa/records_converter.rb, line 6 def self.convert(args) records = args[:records] searchable = args[:searchable] datasource_name = args[:datasource_name] datasource_uri = args[:datasource_uri] datasource_uid = args[:datasource_uid] action = args[:delete?] ? GSA::DELETE_ACTION : GSA::ADD_ACTION # if there is only one record, convert to the expected array. records = [records] if records.is_a? Hash layout(records, searchable, datasource_name, datasource_uri, datasource_uid, action) end
Private Class Methods
layout(records, searchable, datasource_name, datasource_uri, datasource_uid, action)
click to toggle source
# File lib/gsa/records_converter.rb, line 24 def self.layout(records, searchable, datasource_name, datasource_uri, datasource_uid, action) xml( block(:gsafeed, block(:header, block(:datasource, datasource_name) << block(:feedtype, GSA::FEED_TYPE) ) << block(:group, record_blocks(records, searchable, datasource_uri, datasource_uid), {:action => action} ) ) ) end
record_block(record, searchable, datasource_uri, datasource_uid)
click to toggle source
# File lib/gsa/records_converter.rb, line 43 def self.record_block(record, searchable, datasource_uri, datasource_uid) block(:record, block(:metadata, record_metadata(record)) << block(:content, record_searchable(record, searchable)), {:url => "#{datasource_uri}/#{record[datasource_uid]}", :mimetype => GSA::MIME_TYPE} # ABSTRACT URL STRING VALUE (id) ) end
record_blocks(records, searchable, datasource_uri, datasource_uid)
click to toggle source
# File lib/gsa/records_converter.rb, line 39 def self.record_blocks(records, searchable, datasource_uri, datasource_uid) inject_s(records) {|record| record_block(record, searchable, datasource_uri, datasource_uid)} end
record_metadata(record)
click to toggle source
# File lib/gsa/records_converter.rb, line 55 def self.record_metadata(record) inject_s(record) {|key, value| tag(:meta, {:name => key.to_s, :content => value.to_s})} end
record_searchable(record, searchable)
click to toggle source
# File lib/gsa/records_converter.rb, line 51 def self.record_searchable(record, searchable) inject_s(searchable) {|search| " #{record[search.to_s]}"} end