class Genio::Tasks

Public Instance Methods

dotnet() click to toggle source
# File lib/genio/tasks.rb, line 66
def dotnet
  if schema.is_a? Parser::Format::Wsdl
    dotnet_with_wsdl
  else
    dotnet_with_json_schema
  end
end
iodocs() click to toggle source
# File lib/genio/tasks.rb, line 76
def iodocs
  file = File.join(options[:output_path], options[:output_file])
  create_file(file, JSON.pretty_generate(schema.to_iodocs))
end
java() click to toggle source
# File lib/genio/tasks.rb, line 46
def java
  if schema.is_a? Parser::Format::Wsdl
    java_with_wsdl
  else
    java_with_json_schema
  end
end
php() click to toggle source
# File lib/genio/tasks.rb, line 55
def php
  if schema.is_a? Parser::Format::Wsdl
    php_with_wsdl
  else
    php_with_json_schema
  end
end

Private Instance Methods

dotnet_with_json_schema() click to toggle source
# File lib/genio/tasks.rb, line 182
def dotnet_with_json_schema
  folder = options[:output_path]
  schema.data_types.each do|name, data_type|
    package = capitalize_package(remove_tld_in_package(convert_ns_to_package(options[:namespace] || data_type.package || schema.endpoint)))
    render("templates/sdk.rest_dotnet.erb",
      :data_type => data_type,
      :classname => name,
      :schema => schema,
      :package => package,
      :helper => Helper::DotNet,
      :gen_deprecated_methods => options[:gen_deprecated_methods],
      :create_file => File.join(folder, "#{get_package_folder(package, true)}/#{validate_file_name(name)}.cs"))
  end
  render("templates/sdk.rest_version_dotnet.erb",
      :create_file => File.join(folder, "PayPal/Sdk/Info/SDKVersionImpl.cs"))
end
dotnet_with_wsdl() click to toggle source
# File lib/genio/tasks.rb, line 199
def dotnet_with_wsdl
  folder = options[:output_path]

  # emit datatypes
  schema.data_types.each do|name, data_type|
    package = capitalize_package(remove_tld_in_package(convert_ns_to_package(options[:namespace] || data_type.package)))
    render("templates/sdk.wsdl_dotnet.erb",
        :package => package,
        :classname => name,
        :schema => schema,
        :data_type => data_type,
        :helper => Helper::DotNet,
        :create_file => File.join(folder, "#{get_package_folder(package)}/#{validate_file_name(name)}.cs"))
  end

  # emit enumtypes
  schema.enum_types.each do|name, definition|
    package = capitalize_package(remove_tld_in_package(convert_ns_to_package(options[:namespace] || definition.package)))
    render("templates/sdk.wsdlenum_dotnet.erb",
        :package => package,
        :classname => name,
        :definition => definition,
        :helper => Helper::DotNet,
        :create_file => File.join(folder, "#{get_package_folder(package)}/#{validate_file_name(name)}.cs"))
  end

  # emit service
  schema.services.each do|name, service|
    package = capitalize_package(remove_tld_in_package(convert_ns_to_package(options[:namespace] || service.package)))
    render("templates/sdk.wsdlservice_dotnet.erb",
        :package => package,
        :classname => name,
        :schema => schema,
        :service => service,
        :helper => Helper::DotNet,
        :create_file => File.join(folder, "#{get_package_folder(package)}/#{validate_file_name(name)}.cs"))
  end
end
java_with_json_schema() click to toggle source
# File lib/genio/tasks.rb, line 83
def java_with_json_schema
  folder = options[:output_path]
  schema.data_types.each do|name, data_type|
    package = options[:namespace] || convert_ns_to_package(data_type.package || schema.endpoint);
    render("templates/sdk.rest_java.erb",
        :data_type => data_type,
        :classname => name,
        :schema => schema,
        :package => package,
        :helper => Helper::Java,
        :gen_deprecated_methods => options[:gen_deprecated_methods],
        :create_file => File.join(folder, "#{get_package_folder(package)}/#{validate_file_name(name)}.java"))
  end
  render("templates/sdk.rest_version_java.erb",
      :create_file => File.join(folder, "com/paypal/sdk/info/SDKVersionImpl.java"))
end
java_with_wsdl() click to toggle source
# File lib/genio/tasks.rb, line 100
def java_with_wsdl
  folder = options[:output_path]

  # emit datatypes
  schema.data_types.each do|name, data_type|
    package = options[:namespace] || convert_ns_to_package(data_type.package)
    render("templates/sdk.wsdl_java.erb",
        :package => package,
        :classname => name,
        :schema => schema,
        :data_type => data_type,
        :helper => Helper::Java,
        :create_file => File.join(folder, "#{get_package_folder(package)}/#{validate_file_name(name)}.java"))
  end

  # emit enumtypes
  schema.enum_types.each do|name, definition|
    package = options[:namespace] || convert_ns_to_package(definition.package)
    render("templates/sdk.wsdlenum_java.erb",
        :package => package,
        :classname => name,
        :definition => definition,
        :helper => Helper::Java,
        :create_file => File.join(folder, "#{get_package_folder(package)}/#{validate_file_name(name)}.java"))
  end

  # emit service
  schema.services.each do|name, service|
    package = options[:namespace] || convert_ns_to_package(service.package)
    render("templates/sdk.wsdlservice_java.erb",
        :package => package,
        :classname => name,
        :schema => schema,
        :service => service,
        :helper => Helper::Java,
        :create_file => File.join(folder, "#{get_package_folder(package)}/#{validate_file_name(name)}.java"))
  end
end
php_with_json_schema() click to toggle source
# File lib/genio/tasks.rb, line 139
def php_with_json_schema
  folder = options[:output_path]
  schema.data_types.each do|name, data_type|
    package = get_slashed_package_name(capitalize_package(remove_tld_in_package(convert_ns_to_package(options[:namespace] || data_type.package || schema.endpoint))))
    render("templates/sdk.rest_php.erb",
        :data_type => data_type,
        :classname => name,
        :schema => schema,
        :package => package,
        :helper => Helper::PHP,
        :gen_deprecated_methods => options[:gen_deprecated_methods],
        :create_file => File.join(folder, "#{get_package_folder(package)}/#{name}.php"))
  end
end
php_with_wsdl() click to toggle source
# File lib/genio/tasks.rb, line 154
def php_with_wsdl
  folder = options[:output_path]
  schema.data_types.each do|name, data_type|
    package = get_slashed_package_name(capitalize_package(remove_tld_in_package(convert_ns_to_package(options[:namespace] || data_type.package || schema.endpoint))))
    render("templates/sdk.wsdl_php.erb",
        :data_type => data_type,
        :classname => name,
        :schema => schema,
        :package => package,
        :helper => Helper::PHP,
        :gen_deprecated_methods => options[:gen_deprecated_methods],
        :create_file => File.join(folder, "#{get_package_folder(package)}/#{name}.php"))
end

# emit service
schema.services.each do|name, service|
    package = get_slashed_package_name(capitalize_package(remove_tld_in_package(convert_ns_to_package(options[:namespace] || service.package || schema.endpoint))))
    render("templates/sdk.wsdlservice_php.erb",
        :package => package,
        :classname => name,
        :schema => schema,
        :service => service,
        :helper => Helper::PHP,
        :gen_deprecated_methods => options[:gen_deprecated_methods],
        :create_file => File.join(folder, "#{get_package_folder(package)}/#{name}.php"))
  end
end
schema() click to toggle source

load the schema by choosing an appropriate parser

# File lib/genio/tasks.rb, line 239
def schema
  @schema ||= get_parser(options)
end