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

Class Method Details

.is_fridge_object?(obj) ⇒ Boolean

check if an object is fridge-like

Returns:

  • (Boolean)


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