class FacebookAds::FieldTypes::List

Public Class Methods

new(sub_type) click to toggle source
# File lib/facebook_ads/field_types/list.rb, line 24
def initialize(sub_type)
  @sub_type = self.class.for(sub_type)
end

Public Instance Methods

deserialize(value, session = nil) click to toggle source
# File lib/facebook_ads/field_types/list.rb, line 28
def deserialize(value, session = nil)
  case value
    when String
      JSON.parse(value).map { |v|
        @sub_type.deserialize(v, session)
      }
    when Array
      value.map { |v|
        @sub_type.deserialize(v, session)
      }
    when Hash
      # Special handle for images
      if value.length == 1 && value.keys.first == 'images'
        value = value['images']
      end

      value.map { |_,v|
        @sub_type.deserialize(v, session)
      }
    else
      [value]
  end
end
serialize(value) click to toggle source
# File lib/facebook_ads/field_types/list.rb, line 52
def serialize(value)
  JSON.generate(value)
end