class FacebookAds::ParamSet

Public Class Methods

new() click to toggle source
# File lib/facebook_ads/param_set.rb, line 21
def initialize
  @params = {}
  @accepts_files = false
end

Public Instance Methods

accepts_files!() click to toggle source
# File lib/facebook_ads/param_set.rb, line 30
def accepts_files!
  @accepts_files = true
end
accepts_files?() click to toggle source
# File lib/facebook_ads/param_set.rb, line 34
def accepts_files?
  @accepts_files
end
deserialize(data) click to toggle source

TODO

# File lib/facebook_ads/param_set.rb, line 66
def deserialize(data)
  from_params(data)
end
empty?() click to toggle source
# File lib/facebook_ads/param_set.rb, line 70
def empty?
  @params.empty?
end
from_params(data) click to toggle source
# File lib/facebook_ads/param_set.rb, line 56
def from_params(data)
  Hash[data.map do |key,val|
    key = key.to_sym
    field_type = @params[key]

    [key, (field_type ? field_type.deserialize(val) : val)]
  end]
end
has_param(name, type) click to toggle source
# File lib/facebook_ads/param_set.rb, line 26
def has_param(name, type)
  @params[name.to_sym] = FieldTypes.for(type)
end
to_params(data) click to toggle source
# File lib/facebook_ads/param_set.rb, line 38
def to_params(data)
  Hash[data.map do |key,val|
    key = key.to_sym
    field_type = @params[key]

    if (!field_type && accepts_files? && FieldTypes::UploadFile.acceptable?(val))
      field_type = FieldTypes::UploadFile.new
    end

    if (!field_type && val.is_a?(Array)) # dynamic ads
      val = JSON.generate(val)
    end

    [key, (field_type ? field_type.serialize(val) : val)]
    # TODO CollectionProxy=
  end]
end