Class: Kumi::Dev::Golden::Representation

Inherits:
Object
  • Object
show all
Defined in:
lib/kumi/dev/golden/representation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, extension:, generator: nil) ⇒ Representation

Returns a new instance of Representation.



9
10
11
12
13
# File 'lib/kumi/dev/golden/representation.rb', line 9

def initialize(name, extension:, generator: nil)
  @name = name
  @extension = extension
  @generator_method = generator || "generate_#{name}"
end

Instance Attribute Details

#extensionObject (readonly)

Returns the value of attribute extension.



7
8
9
# File 'lib/kumi/dev/golden/representation.rb', line 7

def extension
  @extension
end

#generator_methodObject (readonly)

Returns the value of attribute generator_method.



7
8
9
# File 'lib/kumi/dev/golden/representation.rb', line 7

def generator_method
  @generator_method
end

#nameObject (readonly)

Returns the value of attribute name.



7
8
9
# File 'lib/kumi/dev/golden/representation.rb', line 7

def name
  @name
end

Instance Method Details

#filenameObject



15
16
17
# File 'lib/kumi/dev/golden/representation.rb', line 15

def filename
  "#{name}.#{extension}"
end

#generate(schema_path) ⇒ Object



19
20
21
22
23
# File 'lib/kumi/dev/golden/representation.rb', line 19

def generate(schema_path)
  raise "Unknown generator method: #{generator_method}" unless PrettyPrinter.respond_to?(generator_method)

  PrettyPrinter.send(generator_method, schema_path)
end