class AdwordsApi::ReportQueryBuilder
Public Class Methods
new(api) { |self| ... }
click to toggle source
Calls superclass method
AdwordsApi::QueryBuilder::new
# File lib/adwords_api/query_utils/report_query_builder.rb, line 25 def initialize(api) super(api) @select = nil @from = nil @during_range = nil @during_start = nil @during_end = nil yield self if block_given? end
Public Instance Methods
build()
click to toggle source
# File lib/adwords_api/query_utils/report_query_builder.rb, line 56 def build() raise ArgumentError, 'Must specify SELECT clause for valid AWQL' if @select.nil? raise ArgumentError, 'Must specify FROM clause for valid AWQL' if @from.nil? if !@during_range.nil? && (!@during_start.nil? || !@during_end.nil?) raise ArgumentError, 'Cannot specify both date range and start/end dates.' end result = sprintf('SELECT %s', @select.join(', ')) result += sprintf(' FROM %s', @from) result += build_where() if !@during_range.nil? result += sprintf(' DURING %s', @during_range) elsif !@during_start.nil? || !@during_end.nil? if @during_start.nil? raise ArgumentError, 'Cannot specify end date without start date.' elsif @during_end.nil? raise ArgumentError, 'Cannot specify start date without end date.' end result += sprintf(' DURING %s,%s', @during_start, @during_end) end @api.utils_reporter.report_query_builder_used() return ReportQuery.new(result) end
configure() { |self| ... }
click to toggle source
# File lib/adwords_api/query_utils/report_query_builder.rb, line 35 def configure() yield self end
during(start_date, end_date)
click to toggle source
# File lib/adwords_api/query_utils/report_query_builder.rb, line 51 def during(start_date, end_date) @during_start = start_date @during_end = end_date end
during_date_range(date_range)
click to toggle source
# File lib/adwords_api/query_utils/report_query_builder.rb, line 47 def during_date_range(date_range) @during_range = date_range end
from(report_name)
click to toggle source
# File lib/adwords_api/query_utils/report_query_builder.rb, line 43 def from(report_name) @from = report_name end
select(*fields)
click to toggle source
# File lib/adwords_api/query_utils/report_query_builder.rb, line 39 def select(*fields) @select = fields end