Module: Jekyll::Fridge
- Defined in:
- lib/jekyll-fridge.rb,
lib/jekyll-fridge/version.rb
Defined Under Namespace
Classes: Client, ContentDrop, Model
Constant Summary collapse
- VERSION =
"1.0.1".freeze
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
56 57 58 |
# File 'lib/jekyll-fridge.rb', line 56 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
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/jekyll-fridge.rb', line 34 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 |