Class: Daifuku::StrdefGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/daifuku/strdef_generator.rb

Overview

This class is used to generate .strdef file from .md files. .strdef file is used to define the structure of the log. https://techlife.cookpad.com/entry/2019/10/18/090000 Since the .strdef generation for Redshift Spectrum is for Cookpad's internal reasons, we initially decided it would be more natural not to include it in the core of daifuku, but we added it as a reference implementation.

Defined Under Namespace

Classes: LogColumn, LogTable, StreamColumn, StreamDefinition

Instance Method Summary collapse

Constructor Details

#initialize(definition_path) ⇒ StrdefGenerator

Returns a new instance of StrdefGenerator.

Parameters:

  • definition_path

    A directory path it contains log definitions



119
120
121
# File 'lib/daifuku/strdef_generator.rb', line 119

def initialize(definition_path)
  @definition_path = definition_path
end

Instance Method Details

#diff(current_strdef) ⇒ Object

Generate strdef diff with existing strdef

Parameters:

  • String

    current_strdef strdef to diff with

Returns:

  • String diff



133
134
135
136
# File 'lib/daifuku/strdef_generator.rb', line 133

def diff(current_strdef)
  table = load_table_definition(@definition_path)
  generate_strdef_diff(current_strdef, table)
end

#generateObject

Generate whole strdef from current log definitions

Returns:

  • String



125
126
127
128
# File 'lib/daifuku/strdef_generator.rb', line 125

def generate
  table = load_table_definition(@definition_path)
  generate_strdef(table)
end