Pixelastic 45200fe8d1 Add missing tests to FileBrowser
Can now extract all data from all files
2017-11-10 16:15:29 +01:00

37 lines
981 B
Ruby

require 'nokogiri'
module Jekyll
module Algolia
# Generic language-wide utils
module Utils
# Public: Convert a hash with string keys to a hash with symbol keys
#
# hash - The input hash, with string keys
def self.keys_to_symbols(hash)
Hash[hash.map { |key, value| [key.to_sym, value] }]
end
# Public: Convert an HTML string to its content only
#
# html - String representation of the HTML node
def self.html_to_text(html)
text = Nokogiri::HTML(html).text
text.tr("\n", ' ').squeeze(' ').strip
end
# Public: Remove all keys with a nil value or an empty array from a hash
#
# hash - The input hash
def self.compact_empty(hash)
new_hash = {}
hash.each do |key, value|
next if value.nil?
next if value.respond_to?(:empty?) && value.empty?
new_hash[key] = value
end
new_hash
end
end
end
end