module Dugway::Filters::UrlFilters

Public Instance Methods

constrain(url = nil, width = '-', height = '-') click to toggle source
# File lib/dugway/liquid/filters/url_filters.rb, line 11
def constrain(url = nil, width = '-', height = '-')
  return unless url
  uri = URI.parse(url)
  query = Rack::Utils.parse_nested_query uri.query
  query.update('w' => width, 'h' => height)
  query.delete_if { |k,v| v.nil? || v == '-' }
  uri.query = query.to_query
  uri.to_s
end
product_image_url(image = nil, size = nil) click to toggle source
# File lib/dugway/liquid/filters/url_filters.rb, line 21
def product_image_url(image = nil, size = nil)
  url = image ? image['url'] : 'http://images.bigcartel.com/missing.png'
  size = legacy_size_for(size)
  constrain url, size, size
end
theme_css_url(theme) click to toggle source
# File lib/dugway/liquid/filters/url_filters.rb, line 37
def theme_css_url(theme)
  '/theme.css'
end
theme_font_url(filename) click to toggle source
# File lib/dugway/liquid/filters/url_filters.rb, line 45
def theme_font_url(filename)
  "/fonts/#{ filename }"
end
theme_image_url(filename) click to toggle source
# File lib/dugway/liquid/filters/url_filters.rb, line 41
def theme_image_url(filename)
  "/images/#{ filename }"
end
theme_js_url(name) click to toggle source
# File lib/dugway/liquid/filters/url_filters.rb, line 27
def theme_js_url(name)
  if name.is_a?(Drops::ThemeDrop)
    '/theme.js'
  elsif name == 'api'
    'http://cache0.bigcartel.com/api/5/api.usd.js'
  else
    name
  end
end

Private Instance Methods

legacy_size_for(size) click to toggle source
# File lib/dugway/liquid/filters/url_filters.rb, line 61
def legacy_size_for(size)
  case size
  when 'large'  then 300
  when 'medium' then 175
  when 'thumb'  then 75
  else 1000
  end
end