class S3Style::Url

Attributes

forced_extension[R]
s3_url[R]

Public Class Methods

new(s3_url, forced_extension = nil) click to toggle source
# File lib/s3_style/url.rb, line 5
def initialize(s3_url, forced_extension = nil)
  @s3_url = s3_url
  @forced_extension = forced_extension
end

Public Instance Methods

style(name) click to toggle source
# File lib/s3_style/url.rb, line 10
def style(name)
  name = name.to_s

  if name.blank? || name == 'none'
    s3_url
  else
    inject_style(name)
  end
end

Private Instance Methods

force_extension(uri, extname) click to toggle source
# File lib/s3_style/url.rb, line 34
def force_extension(uri, extname)
  if forced_extension
    uri.path.sub!(/#{extname}\z/, forced_extension)
  end
end
inject_style(name) click to toggle source
# File lib/s3_style/url.rb, line 26
def inject_style(name)
  uri = parsed_uri
  extname = File.extname(uri.path)
  uri.path.sub!(/#{extname}\z/, "_#{name}#{extname}")
  force_extension(uri, extname)
  uri.to_s
end
parsed_uri() click to toggle source
# File lib/s3_style/url.rb, line 22
def parsed_uri
  URI.parse(s3_url)
end