Class: GoonModelGen::Golang::Type

Inherits:
Object
  • Object
show all
Defined in:
lib/goon_model_gen/golang/type.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Type

Returns a new instance of Type.

Parameters:

  • name (string)


10
11
12
# File 'lib/goon_model_gen/golang/type.rb', line 10

def initialize(name)
  @name = name
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/goon_model_gen/golang/type.rb', line 6

def name
  @name
end

#packageObject

Returns the value of attribute package.



7
8
9
# File 'lib/goon_model_gen/golang/type.rb', line 7

def package
  @package
end

Instance Method Details

#memoObject



30
31
32
# File 'lib/goon_model_gen/golang/type.rb', line 30

def memo
  @memo ||= {}
end

#qualified_name(pkg2alias = nil) ⇒ string

Parameters:

  • pkg2alias (Hash<String,String>) (defaults to: nil)

Returns:

  • (string)


21
22
23
24
25
26
27
28
# File 'lib/goon_model_gen/golang/type.rb', line 21

def qualified_name(pkg2alias = nil)
  if package && package.name
    pkg_name = (pkg2alias && package.path ? pkg2alias[package.path] : nil) || package.name
    "#{pkg_name}.#{name}"
  else
    name
  end
end

#resolve(pkgs) ⇒ Object

Parameters:

Raises:

  • (NotImplementedError)


15
16
17
# File 'lib/goon_model_gen/golang/type.rb', line 15

def resolve(pkgs)
  raise NotImplementedError, "#{self.type.name} doesn't implement resolve method"
end