Module: Jekyll
- Defined in:
- lib/jekyll-fridge.rb,
lib/jekyll-fridge/version.rb
Defined Under Namespace
Modules: Fridge, FridgeFilters Classes: Client, ContentDrop, Model
Class Method Summary collapse
-
.is_fridge_object?(obj) ⇒ Boolean
check if an object is fridge-like.
-
.stringify_keys_deep(h) ⇒ Object
Recursively convert hash keys to strings.
Class Method Details
.is_fridge_object?(obj) ⇒ Boolean
check if an object is fridge-like
29 30 31 |
# File 'lib/jekyll-fridge.rb', line 29 def self.is_fridge_object?(obj) obj.respond_to?("key?") && (obj.key?(:id) && obj.key?(:document_definition_id)) end |
.stringify_keys_deep(h) ⇒ Object
Recursively convert hash keys to strings
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/jekyll-fridge.rb', line 7 def self.stringify_keys_deep(h) case h when Hash Hash[ h.map do |k, v| [ k.respond_to?(:to_s) ? k.to_s : k, self.stringify_keys_deep(v) ] end ] when Sawyer::Resource if self.is_fridge_object?(h) Model.new(FridgeApi::Model.new(h.to_h)) else self.stringify_keys_deep(h.to_h) end when Enumerable h.map { |v| self.stringify_keys_deep(v) } else h end end |