Class: DTRToRust::Generator

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

Overview

Generates Rust code from a DTR contract

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(content) ⇒ Generator

Returns a new instance of Generator.



8
9
10
# File 'lib/generator.rb', line 8

def initialize(content)
  @dtr_contract = ::DTRCore::Contract.from_dtr_raw(content)
end

Class Method Details

.generate_from_file(file_path) ⇒ Object



23
24
25
# File 'lib/generator.rb', line 23

def self.generate_from_file(file_path)
  new(File.read(file_path)).generate
end

.generate_from_string(dtr_string) ⇒ Object



27
28
29
# File 'lib/generator.rb', line 27

def self.generate_from_string(dtr_string)
  new(dtr_string).generate
end

Instance Method Details

#generateObject



12
13
14
15
16
17
18
19
20
21
# File 'lib/generator.rb', line 12

def generate
  @content = ''

  generate_contract_header
  generate_contract_name
  generate_state
  generate_functions

  @content
end