Module: Google::Ads::GoogleAds::Factories

Defined in:
lib/google/ads/google_ads/factories.rb,
lib/google/ads/google_ads/factories/v21/enums.rb,
lib/google/ads/google_ads/factories/v22/enums.rb,
lib/google/ads/google_ads/factories/v23/enums.rb,
lib/google/ads/google_ads/factories/v24/enums.rb,
lib/google/ads/google_ads/factories/v25/enums.rb,
lib/google/ads/google_ads/factories/v21/services.rb,
lib/google/ads/google_ads/factories/v22/services.rb,
lib/google/ads/google_ads/factories/v23/services.rb,
lib/google/ads/google_ads/factories/v24/services.rb,
lib/google/ads/google_ads/factories/v25/services.rb,
lib/google/ads/google_ads/factories/v21/resources.rb,
lib/google/ads/google_ads/factories/v22/resources.rb,
lib/google/ads/google_ads/factories/v23/resources.rb,
lib/google/ads/google_ads/factories/v24/resources.rb,
lib/google/ads/google_ads/factories/v25/resources.rb,
lib/google/ads/google_ads/factories/v21/operations.rb,
lib/google/ads/google_ads/factories/v22/operations.rb,
lib/google/ads/google_ads/factories/v23/operations.rb,
lib/google/ads/google_ads/factories/v24/operations.rb,
lib/google/ads/google_ads/factories/v25/operations.rb

Defined Under Namespace

Modules: V21, V22, V23, V24, V25 Classes: Factory

Constant Summary collapse

FACTORY_V21 =
Factory.new(
  V21::Resources,
  V21::Services,
  V21::Enums,
  V21::Operations
).freeze
FACTORY_V22 =
Factory.new(
  V22::Resources,
  V22::Services,
  V22::Enums,
  V22::Operations
).freeze
FACTORY_V23 =
Factory.new(
  V23::Resources,
  V23::Services,
  V23::Enums,
  V23::Operations
).freeze
FACTORY_V24 =
Factory.new(
  V24::Resources,
  V24::Services,
  V24::Enums,
  V24::Operations
).freeze
FACTORY_V25 =
Factory.new(
  V25::Resources,
  V25::Services,
  V25::Enums,
  V25::Operations
).freeze
VERSIONS =
[

  :V21,

  :V22,

  :V23,

  :V24,

  :V25

]
HIGHEST_VERSION =
:V25

Class Method Summary collapse

Class Method Details

.at_version(version) ⇒ Object



113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'lib/google/ads/google_ads/factories.rb', line 113

def self.at_version(version)
  case version

  when :V21
    FACTORY_V21

  when :V22
    FACTORY_V22

  when :V23
    FACTORY_V23

  when :V24
    FACTORY_V24

  when :V25
    FACTORY_V25

  else
    raise ArgumentError.new("Got unkown version: #{version}")
  end
end

.version_alternate_for(type) ⇒ Object



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/google/ads/google_ads/factories.rb', line 85

def self.version_alternate_for(type)
  unless [:resources, :services, :enums, :operations].include?(type)
    raise ArgumentError.new(
      "Dont have version alternate for #{type}, valid values are :resources, :services, :enums, :operations,  got #{type}"
    )
  end

  VersionAlternate.new(
    FACTORY_V25.public_send(type),
    {

      V21: FACTORY_V21.public_send(type),

      V22: FACTORY_V22.public_send(type),

      V23: FACTORY_V23.public_send(type),

      V24: FACTORY_V24.public_send(type),

      V25: FACTORY_V25.public_send(type)

    }
  )
end

.versionsObject



110
111
# File 'lib/google/ads/google_ads/factories.rb', line 110

def self.versions
end