google-ads-common 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
    
        data/ChangeLog
    CHANGED
    
    
| @@ -138,7 +138,8 @@ module AdsCommon | |
| 138 138 | 
             
                    if credentials[:oauth2_keyfile] &&
         | 
| 139 139 | 
             
                        !File.file?(credentials[:oauth2_keyfile])
         | 
| 140 140 | 
             
                      raise AdsCommon::Errors::AuthError,
         | 
| 141 | 
            -
                          "Key file '%s' does not exist or not a file."
         | 
| 141 | 
            +
                          "Key file '%s' does not exist or not a file." %
         | 
| 142 | 
            +
                          credentials[:oauth2_keyfile]
         | 
| 142 143 | 
             
                    end
         | 
| 143 144 | 
             
                  end
         | 
| 144 145 |  | 
| @@ -170,6 +171,7 @@ module AdsCommon | |
| 170 171 | 
             
                    oauth_options = OAUTH2_CONFIG.merge({
         | 
| 171 172 | 
             
                        :issuer => credentials[:oauth2_issuer],
         | 
| 172 173 | 
             
                        :signing_key => credentials[:oauth2_key],
         | 
| 174 | 
            +
                        :person => credentials[:oauth2_prn],
         | 
| 173 175 | 
             
                        :scope => @scope,
         | 
| 174 176 | 
             
                    })
         | 
| 175 177 | 
             
                    return Signet::OAuth2::Client.new(oauth_options)
         | 
| @@ -128,7 +128,7 @@ module AdsCommon | |
| 128 128 | 
             
                        # This could be used to include documentation from wsdl.
         | 
| 129 129 | 
             
                        #:doc => get_element_doc(operation, 'wsdl')
         | 
| 130 130 | 
             
                    }
         | 
| 131 | 
            -
                    original_name = (name | 
| 131 | 
            +
                    original_name = get_original_name_if_needed(name)
         | 
| 132 132 | 
             
                    method[:original_name] = original_name unless original_name.nil?
         | 
| 133 133 | 
             
                    return method
         | 
| 134 134 | 
             
                  end
         | 
| @@ -207,7 +207,11 @@ module AdsCommon | |
| 207 207 | 
             
                  def get_element_fields(element)
         | 
| 208 208 | 
             
                    fields = []
         | 
| 209 209 | 
             
                    REXML::XPath.each(element, 'descendant::element') do |item|
         | 
| 210 | 
            -
                       | 
| 210 | 
            +
                      name = get_element_name(item)
         | 
| 211 | 
            +
                      original_name = get_original_name_if_needed(name)
         | 
| 212 | 
            +
                      field = {
         | 
| 213 | 
            +
                          :name => name.snakecase.to_sym,
         | 
| 214 | 
            +
                          :original_name => original_name,
         | 
| 211 215 | 
             
                          :type => item.attribute('type').to_s.gsub(/^.+:/, ''),
         | 
| 212 216 | 
             
                          :min_occurs => attribute_to_int(item.attribute('minOccurs')),
         | 
| 213 217 | 
             
                          :max_occurs => attribute_to_int(item.attribute('maxOccurs'))}
         | 
| @@ -216,6 +220,13 @@ module AdsCommon | |
| 216 220 | 
             
                    return fields
         | 
| 217 221 | 
             
                  end
         | 
| 218 222 |  | 
| 223 | 
            +
                  # Returns original name if it can not be back-converted and required for
         | 
| 224 | 
            +
                  # XML serialization.
         | 
| 225 | 
            +
                  def get_original_name_if_needed(name)
         | 
| 226 | 
            +
                    return (name.nil? || (name.snakecase.lower_camelcase == name)) ?
         | 
| 227 | 
            +
                        nil : name
         | 
| 228 | 
            +
                  end
         | 
| 229 | 
            +
             | 
| 219 230 | 
             
                  # Simple converter for int values.
         | 
| 220 231 | 
             
                  def attribute_to_int(attribute)
         | 
| 221 232 | 
             
                    return nil if attribute.nil?
         | 
| @@ -63,6 +63,11 @@ module AdsCommon | |
| 63 63 | 
             
                    item = args_hash[key]
         | 
| 64 64 | 
             
                    check_required_argument_present(item, field)
         | 
| 65 65 | 
             
                    if item
         | 
| 66 | 
            +
                      original_name = field[:original_name]
         | 
| 67 | 
            +
                      if original_name
         | 
| 68 | 
            +
                        key = handle_name_override(args_hash, key, original_name)
         | 
| 69 | 
            +
                      end
         | 
| 70 | 
            +
             | 
| 66 71 | 
             
                      item_type = get_full_type_signature(field[:type])
         | 
| 67 72 | 
             
                      item_ns = field[:ns] || type_ns
         | 
| 68 73 | 
             
                      key = handle_namespace_override(args_hash, key, item_ns) if item_ns
         | 
| @@ -108,6 +113,13 @@ module AdsCommon | |
| 108 113 | 
             
                  end
         | 
| 109 114 | 
             
                end
         | 
| 110 115 |  | 
| 116 | 
            +
                # Overrides non-standard name conversion.
         | 
| 117 | 
            +
                def handle_name_override(args, key, original_name)
         | 
| 118 | 
            +
                  rename_hash_key(args, key, original_name)
         | 
| 119 | 
            +
                  replace_array_item(args[:order!], key, original_name)
         | 
| 120 | 
            +
                  return original_name
         | 
| 121 | 
            +
                end
         | 
| 122 | 
            +
             | 
| 111 123 | 
             
                # Overrides non-default namespace if requested.
         | 
| 112 124 | 
             
                def handle_namespace_override(args, key, ns)
         | 
| 113 125 | 
             
                  add_extra_namespace(ns)
         | 
| @@ -125,7 +137,8 @@ module AdsCommon | |
| 125 137 | 
             
                    when Hash
         | 
| 126 138 | 
             
                      validate_hash_arg(arg, parent, key, arg_type)
         | 
| 127 139 | 
             
                    when Time
         | 
| 128 | 
            -
                      validate_time_arg(arg, parent, key)
         | 
| 140 | 
            +
                      arg = validate_time_arg(arg, parent, key)
         | 
| 141 | 
            +
                      validate_hash_arg(arg, parent, key, arg_type)
         | 
| 129 142 | 
             
                    else
         | 
| 130 143 | 
             
                      arg
         | 
| 131 144 | 
             
                  end
         | 
    
        data/lib/ads_common/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: google-ads-common
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.9. | 
| 4 | 
            +
              version: 0.9.1
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -10,7 +10,7 @@ authors: | |
| 10 10 | 
             
            autorequire: 
         | 
| 11 11 | 
             
            bindir: bin
         | 
| 12 12 | 
             
            cert_chain: []
         | 
| 13 | 
            -
            date: 2013-01 | 
| 13 | 
            +
            date: 2013-02-01 00:00:00.000000000 Z
         | 
| 14 14 | 
             
            dependencies:
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 16 16 | 
             
              name: savon
         |