Class: HaveAPI::GoClient::InputOutput

Inherits:
Object
  • Object
show all
Includes:
Utils
Defined in:
lib/haveapi/go_client/input_output.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Utils

#camelize

Constructor Details

#initialize(action, role, direction, desc, prefix: nil) ⇒ InputOutput

Returns a new instance of InputOutput.



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/haveapi/go_client/input_output.rb', line 31

def initialize(action, role, direction, desc, prefix: nil)
  @action = action
  @role = role
  @direction = direction
  @layout = desc[:layout]
  @namespace = desc[:namespace]
  @parameters = desc[:parameters].map do |k, v|
    Parameter.new(role, direction, self, k.to_s, v)
  end.compact.sort!
  @go_type = action.go_type + (prefix || '') + direction.to_s.capitalize
  @go_namespace = camelize(desc[:namespace])
end

Instance Attribute Details

#actionAction (readonly)

Returns:



8
9
10
# File 'lib/haveapi/go_client/input_output.rb', line 8

def action
  @action
end

#directionSymbol (readonly)

Returns:

  • (Symbol)


14
15
16
# File 'lib/haveapi/go_client/input_output.rb', line 14

def direction
  @direction
end

#go_namespaceString (readonly)

Returns:

  • (String)


29
30
31
# File 'lib/haveapi/go_client/input_output.rb', line 29

def go_namespace
  @go_namespace
end

#go_typeString (readonly)

Returns:

  • (String)


26
27
28
# File 'lib/haveapi/go_client/input_output.rb', line 26

def go_type
  @go_type
end

#layoutString (readonly)

Returns:

  • (String)


17
18
19
# File 'lib/haveapi/go_client/input_output.rb', line 17

def layout
  @layout
end

#namespaceString (readonly)

Returns:

  • (String)


20
21
22
# File 'lib/haveapi/go_client/input_output.rb', line 20

def namespace
  @namespace
end

#parametersArray<Parameter> (readonly)

Returns:



23
24
25
# File 'lib/haveapi/go_client/input_output.rb', line 23

def parameters
  @parameters
end

#roleSymbol (readonly)

Returns:

  • (Symbol)


11
12
13
# File 'lib/haveapi/go_client/input_output.rb', line 11

def role
  @role
end

Instance Method Details

#resolve_associationsObject



44
45
46
# File 'lib/haveapi/go_client/input_output.rb', line 44

def resolve_associations
  parameters.each(&:resolve)
end