Class: Eth::Contract::Initializer

Inherits:
Object
  • Object
show all
Defined in:
lib/eth/contract/initializer.rb

Overview

Provide classes for contract initializer.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file) ⇒ Initializer

Constructor of the Eth::Contract::Initializer class.

Parameters:

  • file (String)

    file path to solidity code.



27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/eth/contract/initializer.rb', line 27

def initialize(file)
  sol_output = Eth::Solidity.new.compile(file)
  contracts = sol_output.keys

  @contracts = []
  contracts.each do |contract|
    abi = sol_output[contract]["abi"]
    name = contract
    code = sol_output[contract]["bin"]
    @contracts << Contract.new(name, code, abi)
  end
end

Instance Attribute Details

#contractsObject

Returns the value of attribute contracts.



22
23
24
# File 'lib/eth/contract/initializer.rb', line 22

def contracts
  @contracts
end

#fileObject

Returns the value of attribute file.



22
23
24
# File 'lib/eth/contract/initializer.rb', line 22

def file
  @file
end

Instance Method Details

#build_allObject

Builds and returns all contracts.



41
42
43
44
45
# File 'lib/eth/contract/initializer.rb', line 41

def build_all
  @contracts.each do |contract|
    contract.build
  end
end