templates/ruby/lib/facebook_ads/ad_objects/codegen.mustache (68 lines of code) (raw):
# Copyright (c) 2017-present, Facebook, Inc. All rights reserved.
#
# You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
# copy, modify, and distribute this software in source code or binary form for use
# in connection with the web services and APIs provided by Facebook.
#
# As with any software that integrates with the Facebook platform, your use of
# this software is subject to the Facebook Platform Policy
# [http://developers.facebook.com/policy/]. This copyright notice shall be
# included in all copies or substantial portions of the software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# FB:AUTOGEN
module FacebookAds
# This class is auto-generated.
# For any issues or feature requests related to this class, please let us know
# on github and we'll fix in our codegen framework. We'll not be able to accept
# pull request for this class.
class {{name:strict_pascal_case}} < AdObject
{{#ruby_have_helpers}}
include {{name:pascal_case}}Helpers
{{/ruby_have_helpers}}
{{#api_spec_based_enum_reference}}
{{field_or_param:upper_case}} = [
{{#values}}
"{{.}}",
{{/values}}
]
{{/api_spec_based_enum_reference}}
{{#fields}}
field :{{#is_irregular_name}}_{{/is_irregular_name}}{{name:underscore}}, {{{type:ruby}}}
{{/fields}}
{{! we assume everything has a get, unless otherwise specified, this allows
generic AdOjbect to has get}}
{{^has_id}}
has_no_id
{{/has_id}}
{{! we assume everything has a id, unless otherwise specified too}}
{{^has_get}}
has_no_get
{{/has_get}}
{{^has_update}}
has_no_post
{{/has_update}}
{{^has_delete}}
has_no_delete
{{/has_delete}}
{{#edges}}
has_edge :{{edge_name}} do |edge|
{{#end_points}}
edge.{{method:lower_case}}{{#return:strict_pascal_case}} {{^return_a_list}}'{{{.}}}'{{/return_a_list}}{{#return_a_list}}list: '{{{.}}}'{{/return_a_list}}{{/return:strict_pascal_case}}{{#params.length}} do |api|
{{#params}}
api.has_param :{{name:underscore}}, {{#is_file_param}}'file'{{/is_file_param}}{{^is_file_param}}{{{type:ruby}}}{{/is_file_param}}
{{/params}}
{{#allow_file_upload}}
api.accepts_files!
{{/allow_file_upload}}
end{{/params.length}}
{{/end_points}}
end
{{/edges}}
end
end