class S3Direct::StringInterpolator

Constants

DELIM

Attributes

context[R]
pattern[R]

Public Class Methods

new(context, pattern) click to toggle source
# File lib/s3direct/string_interpolator.rb, line 7
def initialize(context, pattern)
  @pattern = pattern
  @context = context
end

Public Instance Methods

compile_parts() click to toggle source
# File lib/s3direct/string_interpolator.rb, line 16
def compile_parts
  pattern.split(DELIM).collect do |part|
    if part[0] == ':'
      meth = part[1, part.length - 1]
      result = context.public_send meth
      if result.blank?
        raise ":#{meth} for path '#{pattern}' was blank in #{context.inspect}"
      end
      result.to_s.underscore
    else
      part
    end
  end
end
to_s() click to toggle source
# File lib/s3direct/string_interpolator.rb, line 12
def to_s
  compile_parts.join(DELIM)
end