class AdManagerApi::AdManagerDate
Public Class Methods
new(api, *args)
click to toggle source
Create a new AdManagerDate
, a utility class that allows for interoperability between the Ad Manager API's Date objects and ruby's Date class.
Args:
- args: - ([year, [month, [day]]]), integer values, uses Date defaults - (date), a native ruby Date object - (ad_manager_date), an Ad Manager Date hash representation
Returns:
- ad_manager_date: an instance of AdManagerDate
# File lib/ad_manager_api/ad_manager_api_datetime.rb, line 38 def initialize(api, *args) @api = api @api.utils_reporter.ad_manager_date_used() case args.first when Hash hash = args.first date_args = [hash[:year], hash[:month], hash[:day]] when Date date = args.first date_args = [date.year, date.month, date.day] else date_args = args end @date = Date.new(*date_args) end
today(api, *args)
click to toggle source
Creates an AdManagerDate
object denoting the present day.
# File lib/ad_manager_api/ad_manager_api_datetime.rb, line 56 def self.today(api, *args) self.new(api, Date.today(*args)) end
Public Instance Methods
method_missing(name, *args, &block)
click to toggle source
When an unrecognized method is applied to AdManagerDate
, pass it through to the internal ruby Date.
# File lib/ad_manager_api/ad_manager_api_datetime.rb, line 62 def method_missing(name, *args, &block) result = @date.send(name, *args, &block) return self.class.new(@api, result) if result.is_a? Date return result end
to_date()
click to toggle source
Convert AdManagerDate
into a native ruby Date object.
# File lib/ad_manager_api/ad_manager_api_datetime.rb, line 78 def to_date() return Date.new(@date.year, @date.month, @date.day) end
to_h()
click to toggle source
Convert AdManagerDate
into a hash representation which can be consumed by the Ad Manager API. E.g., a hash that can be passed as PQL Date variables.
Returns:
- ad_manager_datetime: an Ad Manager Date hash representation
# File lib/ad_manager_api/ad_manager_api_datetime.rb, line 73 def to_h() return {:year => @date.year, :month => @date.month, :day => @date.day} end