Class: AdobeConnect::ParamFormatter
- Inherits:
-
Object
- Object
- AdobeConnect::ParamFormatter
- Defined in:
- lib/adobe_connect/param_formatter.rb
Overview
Public: Responsible for translating params hashes into query strings
Instance Attribute Summary collapse
-
#params ⇒ Object
readonly
Returns the value of attribute params.
Instance Method Summary collapse
-
#format ⇒ Object
Public: Translate a hash of params into a query string.
- #format_datetime(dt) ⇒ Object private
-
#initialize(params) ⇒ ParamFormatter
constructor
Public: Create a new AdobeConnect::ParamFormatter.
Constructor Details
#initialize(params) ⇒ ParamFormatter
Public: Create a new AdobeConnect::ParamFormatter.
params - A hash of params to format.
10 11 12 |
# File 'lib/adobe_connect/param_formatter.rb', line 10 def initialize(params) @params = params end |
Instance Attribute Details
#params ⇒ Object (readonly)
Returns the value of attribute params.
5 6 7 |
# File 'lib/adobe_connect/param_formatter.rb', line 5 def params @params end |
Instance Method Details
#format ⇒ Object
Public: Translate a hash of params into a query string. Dasherize any underscored values, and escape URL unfriendly values.
Returns a query string.
18 19 20 21 22 23 24 |
# 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 |
#format_datetime(dt) ⇒ Object (private)
27 28 29 |
# File 'lib/adobe_connect/param_formatter.rb', line 27 def format_datetime(dt) dt.utc.strftime('%Y-%m-%dT%H:%M:%SZ') end |