lib/solrizer/extractor.rb in solrizer-3.2.0 vs lib/solrizer/extractor.rb in solrizer-3.3.0
- old
+ new
@@ -7,37 +7,38 @@
# with methods specific to that implementation (ie. extract_tag, extract_rels_ext, xml_to_solr, html_to_solr).
# By convention, the solrizer implementations will mix their own Extractors' behaviors into this class when you load them into an application.
#
class Extractor
- # Insert +field_value+ for +field_name+ into +solr_doc+
- # Handles inserting new values into a Hash while ensuring that you don't destroy or overwrite any existing values in the hash.
- # Ensures that field values are always appended to arrays within the values hash.
- # Also ensures that values are run through format_node_value
- # @param [Hash] solr_doc
- # @param [String] field_name
- # @param [String] field_value
- def self.insert_solr_field_value(solr_doc, field_name, field_value)
- formatted_value = self.format_node_value(field_value)
- if solr_doc[field_name]
- solr_doc[field_name] = Array(solr_doc[field_name]) << formatted_value
- else
- solr_doc[field_name] = formatted_value
+ class << self
+ # Insert +field_value+ for +field_name+ into +solr_doc+
+ # Handles inserting new values into a Hash while ensuring that you don't destroy or overwrite any existing values in the hash.
+ # Ensures that field values are always appended to arrays within the values hash.
+ # Also ensures that values are run through format_node_value
+ # @param [Hash] solr_doc
+ # @param [String] field_name
+ # @param [String] field_value
+ def insert_solr_field_value(solr_doc, field_name, field_value)
+ formatted_value = format_node_value(field_value)
+ if solr_doc[field_name]
+ solr_doc[field_name] = Array(solr_doc[field_name]) << formatted_value
+ else
+ solr_doc[field_name] = formatted_value
+ end
+ return solr_doc
end
- return solr_doc
- end
-
- # Strips the majority of whitespace from the values array and then joins them with a single blank delimitter
- # Returns an empty string if values argument is nil
- #
- # @param [Array] values Array of strings representing the values to be formatted
- # @return [String]
- def self.format_node_value values
- if values.nil?
- return ""
- else
- values = [values] unless values.respond_to? :map
- return values.map{|val| val.gsub(/\s+/,' ').strip}.join(" ")
+
+ # Strips the majority of whitespace from the values array and then joins them with a single blank delimitter
+ # Returns an empty string if values argument is nil
+ #
+ # @param [Array] values Array of strings representing the values to be formatted
+ # @return [String]
+ def format_node_value values
+ if values.nil?
+ ""
+ else
+ Array(values).map{|val| val.gsub(/\s+/,' ').strip}.join(" ")
+ end
end
end
# Instance Methods