class Cloudinary::PreloadedFile

Constants

PRELOADED_CLOUDINARY_PATH

Attributes

filename[R]
format[R]
public_id[R]
resource_type[R]
signature[R]
type[R]
version[R]

Public Class Methods

new(file_info) click to toggle source
# File lib/cloudinary/preloaded_file.rb, line 5
def initialize(file_info)
  @resource_type, @type, @version, @filename, @signature = file_info.scan(PRELOADED_CLOUDINARY_PATH).first    
  @public_id, @format = Cloudinary::PreloadedFile.split_format(@filename)      
end
split_format(identifier) click to toggle source
# File lib/cloudinary/preloaded_file.rb, line 24
def self.split_format(identifier)
  last_dot = identifier.rindex(".")
  return [identifier, nil] if last_dot.nil?
  public_id = identifier[0, last_dot]
  format = identifier[last_dot+1..-1]
  return [public_id, format]    
end

Public Instance Methods

identifier() click to toggle source
# File lib/cloudinary/preloaded_file.rb, line 16
def identifier
  "v#{version}/#{filename}"
end
to_s() click to toggle source
# File lib/cloudinary/preloaded_file.rb, line 20
def to_s
  "#{resource_type}/#{type}/v#{version}/#{filename}##{signature}"
end
valid?() click to toggle source
# File lib/cloudinary/preloaded_file.rb, line 10
def valid?
  public_id = @resource_type == "raw" ? self.filename : self.public_id
  expected_signature = Cloudinary::Utils.api_sign_request({:public_id=>public_id, :version=>version}, Cloudinary.config.api_secret)
  @signature == expected_signature
end