Class: BqCoaster::Generators::JavaClass::ClassContext

Inherits:
Object
  • Object
show all
Defined in:
lib/bq_coaster/generators/java_class/class_context.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(renderer) ⇒ ClassContext

Returns a new instance of ClassContext.



12
13
14
# File 'lib/bq_coaster/generators/java_class/class_context.rb', line 12

def initialize(renderer)
  @renderer = renderer
end

Instance Attribute Details

#rendererObject (readonly)

Returns the value of attribute renderer.



10
11
12
# File 'lib/bq_coaster/generators/java_class/class_context.rb', line 10

def renderer
  @renderer
end

Instance Method Details

#class_nameObject



16
17
18
# File 'lib/bq_coaster/generators/java_class/class_context.rb', line 16

def class_name
  renderer.class_name
end

#dataflow?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/bq_coaster/generators/java_class/class_context.rb', line 24

def dataflow?
  !!renderer.dataflow
end

#definitionsObject



20
21
22
# File 'lib/bq_coaster/generators/java_class/class_context.rb', line 20

def definitions
  renderer.definitions
end

#nested?(definition) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
31
32
# File 'lib/bq_coaster/generators/java_class/class_context.rb', line 28

def nested?(definition)
  !(
    definition.nil? || BqCoaster.edge_properties.any? { |c| definition.key?(c) }
  )
end

#render_class(class_name, definitions) ⇒ Object



34
35
36
37
38
39
40
41
42
# File 'lib/bq_coaster/generators/java_class/class_context.rb', line 34

def render_class(class_name, definitions)
  ClassRenderer.new(
    class_name,
    definitions,
    dataflow: renderer.dataflow,
    static: true,
    indent: 1
  ).render
end

#static?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/bq_coaster/generators/java_class/class_context.rb', line 44

def static?
  !!renderer.static
end

#type(definition) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/bq_coaster/generators/java_class/class_context.rb', line 48

def type(definition)
  return "String" unless definition
  return definition[:_original_type] if definition[:_original_type]
  case definition[:_type]
  when "integer"
    "Long"
  when "float"
    "Double"
  when "timestamp"
    "Long"
  else
    "String"
  end
end