class Middleman::ImageUploaderTag::Extension

Public Class Methods

app() click to toggle source
# File lib/middleman/image-uploader-tag/extension.rb, line 71
def self.app
  @@app
end
create_images_dir!() click to toggle source
# File lib/middleman/image-uploader-tag/extension.rb, line 79
def self.create_images_dir!
  img_dir = File.join(app.root, 'source', app.images_dir, remote_images_dir)

  Dir.mkdir(img_dir) unless Dir.exist?(img_dir)
end
get_remote_path(image_name, secure = false) click to toggle source
# File lib/middleman/image-uploader-tag/extension.rb, line 52
def self.get_remote_path(image_name, secure = false)
  image_path = image_location(image_name)
  raise NotFound unless File.exist?(image_path)

  if app.config.environment == :build
    if provider.instance_of? ::Middleman::ImageUploaderTag::CloudinaryCDN
      provider.get_remote_link image_path, secure
    else
      provider.get_remote_link image_path
    end
  else
    File.join('/', app.images_dir, remote_images_dir, image_name)
  end
end
image_location(image_path) click to toggle source
# File lib/middleman/image-uploader-tag/extension.rb, line 39
def self.image_location(image_path)
  File.join(app.root, 'source', app.images_dir, remote_images_dir, image_path)
end
new(app, options_hash = {}, &block) click to toggle source
Calls superclass method
# File lib/middleman/image-uploader-tag/extension.rb, line 15
def initialize(app, options_hash = {}, &block)
  super

  # Require libraries only when activated
  # require 'necessary/library'

  @@provider_options = options
  @@app = app

  self.class.create_images_dir!
end
provider() click to toggle source
# File lib/middleman/image-uploader-tag/extension.rb, line 43
def self.provider
  # need cache here i believe
  # handle cases for snake_case_name
  # handle unknown provider
  Object.const_get(
    "::Middleman::ImageUploaderTag::#{provider_options.provider.to_s.capitalize}CDN"
  ).new(provider_options.provider_config)
end
provider_options() click to toggle source
# File lib/middleman/image-uploader-tag/extension.rb, line 67
def self.provider_options
  @@provider_options
end
remote_images_dir() click to toggle source
# File lib/middleman/image-uploader-tag/extension.rb, line 75
def self.remote_images_dir
  @@remote_images_dir ||= provider_options.remote_images_dir || 'remote_images'
end

Public Instance Methods

remote_image_tag(image_name, secure = false, params = {}) click to toggle source
# File lib/middleman/image-uploader-tag/extension.rb, line 28
def remote_image_tag(image_name, secure = false, params = {})
  image_tag remote_image_tag_link(image_name, secure), params
end