class MiddlemanHeadless::Asset

Public Class Methods

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

Public Instance Methods

content_type() click to toggle source
# File lib/middleman-headless/interface.rb, line 224
def content_type
  @data[:content_type]
end
extension() click to toggle source
# File lib/middleman-headless/interface.rb, line 228
def extension
  MIME::Types[content_type].first.preferred_extension
end
key() click to toggle source
# File lib/middleman-headless/interface.rb, line 216
def key
  @data[:key]
end
name() click to toggle source
# File lib/middleman-headless/interface.rb, line 220
def name
  @data[:name]
end
url(options={}) click to toggle source
# File lib/middleman-headless/interface.rb, line 232
def url(options={})
  opts = options.length > 0 ? "?#{options.to_query}" : ''
  addr = "#{@interface.options.address}/content/file/#{key}#{opts}"

  if @interface.options[:download_assets] && @interface.build
    data = { addr: addr, ext: extension, name: name.parameterize }
    "hldl://#{Base64.urlsafe_encode64(JSON.generate(data))}/"
  else
    addr
  end
end