class MiddlemanHeadless::Version

Public Class Methods

new(data, interface) click to toggle source
# File lib/middleman-headless/interface.rb, line 144
def initialize(data, interface)
  @data = data
  @interface = interface
end

Public Instance Methods

asset(key) click to toggle source
# File lib/middleman-headless/interface.rb, line 161
def asset(key)
  @interface.asset(field(key))
end
assets(key) click to toggle source
# File lib/middleman-headless/interface.rb, line 165
def assets(key)
  assets = field(key)
  return [] if assets.nil?

  assets.map do |value|
    @interface.asset(value)
  end
end
field(key) click to toggle source
# File lib/middleman-headless/interface.rb, line 149
def field(key)
  @data[:fields][key]
end
method_missing(key) click to toggle source
# File lib/middleman-headless/interface.rb, line 205
def method_missing(key)
  field(key)
end
published_at() click to toggle source
# File lib/middleman-headless/interface.rb, line 157
def published_at
  @data[:published_at]
end
reference(key, type=nil) click to toggle source
# File lib/middleman-headless/interface.rb, line 174
def reference(key, type=nil)
  type = key if type.nil?
  ref = field(key)
  return nil if ref.nil?

  Reference.new(type, ref, @interface)
end
references(key, type=nil) click to toggle source
# File lib/middleman-headless/interface.rb, line 182
def references(key, type=nil)
  type = key if type.nil?
  refs = field(key)
  return [] if refs.nil?

  refs.map do |value|
    Reference.new(type, value, @interface)
  end
end
render(key, width) click to toggle source
# File lib/middleman-headless/interface.rb, line 192
def render(key, width)
  doc = field(key)
  return '' if doc.nil?

  html = Nokogiri::HTML::DocumentFragment.parse(doc)

  html.css('img').each do |img|
    img['src'] += "?width=#{width}"
  end

  html.to_html
end
updated_at() click to toggle source
# File lib/middleman-headless/interface.rb, line 153
def updated_at
  @data[:updated_at]
end