Class: Soybean::Generators::ModelGenerator
- Inherits:
-
Object
- Object
- Soybean::Generators::ModelGenerator
- Includes:
- BaseGenerator
- Defined in:
- lib/soybean/generators/model_generator.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#wsdl ⇒ Object
readonly
Returns the value of attribute wsdl.
Instance Method Summary collapse
- #class_name ⇒ Object
- #dir ⇒ Object
- #generate ⇒ Object
-
#initialize(wsdl) ⇒ ModelGenerator
constructor
A new instance of ModelGenerator.
- #interface_name ⇒ Object
Methods included from BaseGenerator
Constructor Details
#initialize(wsdl) ⇒ ModelGenerator
Returns a new instance of ModelGenerator.
8 9 10 11 |
# 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 |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
6 7 8 |
# File 'lib/soybean/generators/model_generator.rb', line 6 def name @name end |
#wsdl ⇒ Object (readonly)
Returns the value of attribute wsdl.
6 7 8 |
# File 'lib/soybean/generators/model_generator.rb', line 6 def wsdl @wsdl end |
Instance Method Details
#class_name ⇒ Object
26 27 28 |
# File 'lib/soybean/generators/model_generator.rb', line 26 def class_name @name.camelize end |
#dir ⇒ Object
13 14 15 |
# File 'lib/soybean/generators/model_generator.rb', line 13 def dir '' end |
#generate ⇒ Object
17 18 19 20 21 22 23 24 |
# 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 ⇒ Object
30 31 32 |
# File 'lib/soybean/generators/model_generator.rb', line 30 def interface_name "Interfaces::" + @name.camelize.gsub(/Service$/, 'Interface') end |