class Soybean::Generators::ModelGenerator

Attributes

name[R]
wsdl[R]

Public Class Methods

new(wsdl) click to toggle source
# File lib/soybean/generators/model_generator.rb, line 8
def initialize(wsdl)
  @wsdl = wsdl
  @name = (wsdl.name.name.underscore.gsub(/service$/, '') rescue 'base') + 'service'
end

Public Instance Methods

class_name() click to toggle source
# File lib/soybean/generators/model_generator.rb, line 26
def class_name
  @name.camelize
end
dir() click to toggle source
# File lib/soybean/generators/model_generator.rb, line 13
def dir
  ''
end
generate() click to toggle source
# File lib/soybean/generators/model_generator.rb, line 17
def generate
  @wsdl.importedschema.map do |uri, schema|
    "require 'mappings/#{URI.parse(schema.targetnamespace).path[1..-2].underscore}'\n"
  end.join +
  "class #{class_name} < #{interface_name}" +
      "include #{URI.parse(@wsdl.importedschema.values.last.targetnamespace).path[1..-2].camelize}"
  "end"
end
interface_name() click to toggle source
# File lib/soybean/generators/model_generator.rb, line 30
def interface_name
  "Interfaces::" + @name.camelize.gsub(/Service$/, 'Interface')
end