class Sendgrid::Web::Parameters

Public Instance Methods

[]=(key, value) click to toggle source
Calls superclass method
# File lib/sendgrid/web/parameters.rb, line 3
def []=(key, value)
  super(key, _cleanse_value(value))
end
merge(hash = {}) click to toggle source
Calls superclass method
# File lib/sendgrid/web/parameters.rb, line 11
def merge(hash = {})
  super(_cleanse(hash))
end
merge!(hash = {}) click to toggle source
Calls superclass method
# File lib/sendgrid/web/parameters.rb, line 7
def merge!(hash = {})
  super(_cleanse(hash))
end
replace(hash = {}) click to toggle source
Calls superclass method
# File lib/sendgrid/web/parameters.rb, line 15
def replace(hash = {})
  super(_cleanse(hash))
end
store(key, value) click to toggle source
Calls superclass method
# File lib/sendgrid/web/parameters.rb, line 19
def store(key, value)
  super(key, _cleanse_value(value))
end
update(hash = {}) click to toggle source
Calls superclass method
# File lib/sendgrid/web/parameters.rb, line 23
def update(hash = {})
  super(_cleanse(hash))
end

Private Instance Methods

_cleanse(hash) click to toggle source
# File lib/sendgrid/web/parameters.rb, line 29
def _cleanse(hash)
  cleansed = Sendgrid::Web::Parameters.new
  hash.each do |k, v|
    cleansed[k] = _cleanse_value(v) unless v.nil?
  end
  cleansed
end
_cleanse_value(value) click to toggle source
# File lib/sendgrid/web/parameters.rb, line 37
def _cleanse_value(value)
  if value.is_a?(Hash) || value.is_a?(Sendgrid::Web::Parameters)
    value = _cleanse(value)
  elsif value.is_a?(Array)
    value = value.collect { |v| _cleanse_value(v) }
  elsif value.respond_to?(:strftime)
    value = value.strftime('%Y-%m-%d')
  else
    value = value.to_s
  end
  value
end