class Uploadcare::Rails::Operations

Public Class Methods

new(operations = nil) click to toggle source
# File lib/uploadcare/rails/operations.rb, line 4
def initialize(operations = nil)
  @operations = operations
end

Public Instance Methods

format(options) click to toggle source
# File lib/uploadcare/rails/operations.rb, line 22
def format(options)
  return unless %w(png jpeg).include?(options.to_s)
  "format/#{ options }"
end
inline(options) click to toggle source
# File lib/uploadcare/rails/operations.rb, line 52
def inline(options)
  options
end
preview(options) click to toggle source
# File lib/uploadcare/rails/operations.rb, line 38
def preview(options)
  if option = options[/^\d+x\d+$/]
    "preview/#{ option }"
  end
end
progressive(options) click to toggle source
# File lib/uploadcare/rails/operations.rb, line 27
def progressive(options)
  return unless %w(yes no).include?(options.to_s)
  "progressive/#{ options }"
end
quality(options) click to toggle source
# File lib/uploadcare/rails/operations.rb, line 32
def quality(options)
  available_options = %w(normal better best lighter lightest)
  return unless available_options.include?(options.to_s)
  "quality/#{ options }"
end
resize(options) click to toggle source
# File lib/uploadcare/rails/operations.rb, line 44
def resize(options)
  if option = options[/^(\d+x\d+)$|^(\d+x)$|^(x\d+)$/]
    "resize/#{ option }"
  end
end
Also aliased as: size
size(options)
Alias for: resize
to_s() click to toggle source
# File lib/uploadcare/rails/operations.rb, line 8
def to_s
  return '' unless @operations

  result = @operations.map do |operation, options|
    next unless respond_to?(operation)
    send(operation, options)
  end

  ['-/', result.join('/-/'), '/'].
    join.
    gsub(%r{\/+}, '/').
    to_s
end