class AdobeConnect::ParamFormatter

Public: Responsible for translating params hashes into query strings

Attributes

params[R]

Public Class Methods

new(params) click to toggle source

Public: Create a new AdobeConnect::ParamFormatter.

params - A hash of params to format.

# File lib/adobe_connect/param_formatter.rb, line 10
def initialize(params)
  @params = params
end

Public Instance Methods

format() click to toggle source

Public: Translate a hash of params into a query string. Dasherize any underscored values, and escape URL unfriendly values.

Returns a query string.

# File lib/adobe_connect/param_formatter.rb, line 18
def format
  params.sort_by { |k, v| k.to_s }.inject(['']) do |array, param|
    param[1] = format_datetime(param[1]) if param[1].respond_to?(:strftime)
    key, value = param.map { |p| ERB::Util.url_encode(p) }
    array << "#{key.dasherize}=#{value}"
  end.join('&')
end

Private Instance Methods

format_datetime(dt) click to toggle source
# File lib/adobe_connect/param_formatter.rb, line 27
def format_datetime(dt)
  dt.utc.strftime('%Y-%m-%dT%H:%M:%SZ')
end