class Targetmy::Config::Site::Teaser
Constants
- REQUIRED_ADS_KEYS
- REQUIRED_KEYS
- SUPPORTED_ADS_KEYS
- SUPPORTED_KEYS
Attributes
ads[R]
campaign_name[R]
type[R]
Public Class Methods
new(config)
click to toggle source
# File lib/targetmy/config/site/teaser.rb, line 12 def initialize(config) parse config end
Public Instance Methods
parse(config)
click to toggle source
# File lib/targetmy/config/site/teaser.rb, line 16 def parse(config) config_required_items = REQUIRED_KEYS & config.keys raise Targetmy::MissingRequiredKeys if config_required_items.length != REQUIRED_KEYS.length SUPPORTED_KEYS.each do |key| next unless config.has_key?(key) case key when :ads @ads = [] parse_ads config[key] else instance_variable_set("@#{key}", config[key]) end end end
parse_ads(ads)
click to toggle source
# File lib/targetmy/config/site/teaser.rb, line 33 def parse_ads(ads) ads = ads.is_a?(Hash) ? [ads] : ads ads.each do |ad| ad_obj = OpenStruct.new ad_required_items = REQUIRED_ADS_KEYS & ad.keys raise Targetmy::MissingRequiredKeys if ad_required_items.length != REQUIRED_ADS_KEYS.length SUPPORTED_ADS_KEYS.each do |key| next unless ad.has_key?(key) ad_obj["#{key}"] = ad[key] end @ads << ad_obj end end