|
4 | 4 |
|
5 | 5 | ## our own code
|
6 | 6 | require_relative 'abidoc/version' # note: let version always go first
|
| 7 | +require_relative 'abidoc/model' |
| 8 | +require_relative 'abidoc/generate' |
7 | 9 |
|
8 | 10 |
|
9 | 11 |
|
10 |
| -module ABI |
11 |
| - class Contract |
12 |
| - |
13 |
| - |
14 |
| -def generate_doc( title: 'Contract ABI', |
15 |
| - natspec: nil ) |
16 |
| - buf = '' |
17 |
| - buf << "# #{title}\n\n" |
18 |
| - |
19 |
| - if natspec && natspec.head.size > 0 |
20 |
| - natspec.head.each do |line| |
21 |
| - buf << (line.empty? ? "\n" : "#{line}\n") |
22 |
| - end |
23 |
| - end |
24 |
| - buf << "\n\n" |
25 |
| - |
26 |
| - |
27 |
| - |
28 |
| - if @ctor |
29 |
| - buf << "\n" |
30 |
| - buf << "**Constructor**\n\n" |
31 |
| - buf << "- #{@ctor.doc}\n" |
32 |
| - ## buf << " - sig #{@ctor.sig} => 0x#{sig(@ctor.sig).hexdigest}\n" |
33 |
| - end |
34 |
| - |
35 |
| - if payable_functions.size > 0 |
36 |
| - buf << "\n" |
37 |
| - buf << "**#{payable_functions.size} Payable Function(s)**\n\n" |
38 |
| - payable_functions.each do |func| |
39 |
| - buf << "- #{func.doc} _payable_\n" |
40 |
| - ## buf << " - sig #{func.sig} => 0x#{sig(func.sig).hexdigest}\n" |
41 |
| - end |
42 |
| - end |
43 |
| - |
44 |
| - if transact_functions.size > 0 |
45 |
| - buf << "\n" |
46 |
| - buf << "**#{transact_functions.size} Transact Functions(s)**\n\n" |
47 |
| - transact_functions.each do |func| |
48 |
| - buf << "- #{func.doc}\n" |
49 |
| - ## buf << " - sig #{func.sig} => 0x#{sig(func.sig).hexdigest}\n" |
50 |
| - end |
51 |
| - end |
52 |
| - |
53 |
| - |
54 |
| - if query_functions.size > 0 |
55 |
| - buf << "\n" |
56 |
| - buf << "**#{query_functions.size} Query Functions(s)**\n\n" |
57 |
| - query_functions.each do |func| |
58 |
| - if natspec && (natspec.storage[ func.name] || natspec.functions[ func.name ]) |
59 |
| - sect = natspec.storage[ func.name ] || natspec.functions[ func.name ] |
60 |
| - buf << "- #{sect[0]}" |
61 |
| - sect[1].each do |line| |
62 |
| - buf << (line.empty? ? " <br>" : " <br> #{line}") |
63 |
| - end |
64 |
| - buf << "\n" |
65 |
| - else |
66 |
| - buf << "- #{func.doc} _readonly_\n" |
67 |
| - ## buf << " - sig #{func.sig} => 0x#{sig(func.sig).hexdigest}\n" |
68 |
| - end |
69 |
| - end |
70 |
| - end |
71 |
| - |
72 |
| - if helper_functions.size > 0 |
73 |
| - buf << "\n" |
74 |
| - buf << "**#{helper_functions.size} Helper Functions(s)**\n\n" |
75 |
| - helper_functions.each do |func| |
76 |
| - buf << "- #{func.doc}\n" |
77 |
| - ## buf << " - sig #{func.sig} => 0x#{sig(func.sig).hexdigest}\n" |
78 |
| - end |
79 |
| - end |
80 |
| - |
81 |
| - buf |
82 |
| -end |
83 |
| - |
84 |
| -end ## class Contract |
85 |
| -end ## module ABI |
0 commit comments