rubyfca 0.2.10 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +24 -3
- data/Gemfile +4 -0
- data/LICENSE +674 -20
- data/README.md +129 -0
- data/Rakefile +8 -51
- data/bin/rubyfca +61 -57
- data/lib/{ruby_graphviz.rb → rubyfca/ruby_graphviz.rb} +22 -22
- data/lib/rubyfca/version.rb +5 -0
- data/lib/rubyfca.rb +152 -139
- data/rubyfca.gemspec +20 -55
- data/samples/fca-source-result.png +0 -0
- data/samples/numbers-result-compact.png +0 -0
- data/samples/numbers-result.png +0 -0
- data/samples/numbers-source.png +0 -0
- data/samples/sample_01.svg +202 -0
- data/samples/sample_02.svg +178 -0
- data/samples/sample_03.svg +244 -0
- data/samples/xlsx-sample.png +0 -0
- data/test/rubyfca_test.rb +55 -4
- data/test/test_data_.csv +7 -0
- data/test/test_expected/test_result_01.svg +202 -0
- data/test/test_expected/test_result_02.svg +178 -0
- data/test/test_expected/test_result_03.svg +481 -0
- data/test/test_expected/test_result_04.svg +314 -0
- data/test/test_input/test_data.csv +7 -0
- data/test/{test_data.cxt → test_input/test_data.cxt} +5 -5
- data/test/test_input/test_data.xlsx +0 -0
- data/test/test_input/test_data_numbers.xlsx +0 -0
- data/test_data_numbers.svg +272 -0
- data/test_data_numbers_a.svg +272 -0
- metadata +107 -58
- data/README.rdoc +0 -45
- data/VERSION +0 -1
- data/lib/trollop.rb +0 -739
- data/test/test_helper.rb +0 -10
@@ -0,0 +1,272 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
3
|
+
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
4
|
+
<!-- Generated by graphviz version 8.0.5 (20230430.1635)
|
5
|
+
-->
|
6
|
+
<!-- Title: clattice Pages: 1 -->
|
7
|
+
<svg width="450pt" height="354pt"
|
8
|
+
viewBox="0.00 0.00 450.25 354.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
9
|
+
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 350)">
|
10
|
+
<title>clattice</title>
|
11
|
+
<polygon fill="white" stroke="none" points="-4,4 -4,-350 446.25,-350 446.25,4 -4,4"/>
|
12
|
+
<!-- c0 -->
|
13
|
+
<g id="node1" class="node">
|
14
|
+
<title>c0</title>
|
15
|
+
<polygon fill="white" stroke="none" points="241.38,-22.5 241.38,-45 266.13,-45 266.13,-22.5 241.38,-22.5"/>
|
16
|
+
<polygon fill="none" stroke="black" points="241.38,-22.5 241.38,-45 266.13,-45 266.13,-22.5 241.38,-22.5"/>
|
17
|
+
<text text-anchor="start" x="244.38" y="-28.7" font-family="Times,serif" font-size="14.00">     </text>
|
18
|
+
<polygon fill="white" stroke="none" points="241.38,0 241.38,-22.5 266.13,-22.5 266.13,0 241.38,0"/>
|
19
|
+
<polygon fill="none" stroke="black" points="241.38,0 241.38,-22.5 266.13,-22.5 266.13,0 241.38,0"/>
|
20
|
+
<text text-anchor="start" x="244.38" y="-6.2" font-family="Times,serif" font-size="14.00">     </text>
|
21
|
+
</g>
|
22
|
+
<!-- c1 -->
|
23
|
+
<g id="node2" class="node">
|
24
|
+
<title>c1</title>
|
25
|
+
<polygon fill="white" stroke="none" points="108.38,-89.5 108.38,-112 133.13,-112 133.13,-89.5 108.38,-89.5"/>
|
26
|
+
<polygon fill="none" stroke="black" points="108.38,-89.5 108.38,-112 133.13,-112 133.13,-89.5 108.38,-89.5"/>
|
27
|
+
<text text-anchor="start" x="111.38" y="-95.7" font-family="Times,serif" font-size="14.00">     </text>
|
28
|
+
<polygon fill="#ebebeb" stroke="none" points="108.38,-67 108.38,-89.5 133.13,-89.5 133.13,-67 108.38,-67"/>
|
29
|
+
<polygon fill="none" stroke="black" points="108.38,-67 108.38,-89.5 133.13,-89.5 133.13,-67 108.38,-67"/>
|
30
|
+
<text text-anchor="start" x="111.38" y="-73.2" font-family="Times,serif" font-size="14.00">9</text>
|
31
|
+
</g>
|
32
|
+
<!-- c1--c0 -->
|
33
|
+
<g id="edge1" class="edge">
|
34
|
+
<title>c1--c0</title>
|
35
|
+
<path fill="none" stroke="#999999" d="M133.02,-83.32C158.36,-70.55 216.19,-41.42 241.51,-28.67"/>
|
36
|
+
</g>
|
37
|
+
<!-- c2 -->
|
38
|
+
<g id="node3" class="node">
|
39
|
+
<title>c2</title>
|
40
|
+
<polygon fill="white" stroke="none" points="191.38,-89.5 191.38,-112 216.13,-112 216.13,-89.5 191.38,-89.5"/>
|
41
|
+
<polygon fill="none" stroke="black" points="191.38,-89.5 191.38,-112 216.13,-112 216.13,-89.5 191.38,-89.5"/>
|
42
|
+
<text text-anchor="start" x="194.38" y="-95.7" font-family="Times,serif" font-size="14.00">     </text>
|
43
|
+
<polygon fill="#ebebeb" stroke="none" points="191.38,-67 191.38,-89.5 216.13,-89.5 216.13,-67 191.38,-67"/>
|
44
|
+
<polygon fill="none" stroke="black" points="191.38,-67 191.38,-89.5 216.13,-89.5 216.13,-67 191.38,-67"/>
|
45
|
+
<text text-anchor="start" x="194.38" y="-73.2" font-family="Times,serif" font-size="14.00">4</text>
|
46
|
+
</g>
|
47
|
+
<!-- c2--c0 -->
|
48
|
+
<g id="edge2" class="edge">
|
49
|
+
<title>c2--c0</title>
|
50
|
+
<path fill="none" stroke="#999999" d="M216.11,-72.94C223.86,-62.55 233.81,-49.22 241.53,-38.87"/>
|
51
|
+
</g>
|
52
|
+
<!-- c3 -->
|
53
|
+
<g id="node4" class="node">
|
54
|
+
<title>c3</title>
|
55
|
+
<polygon fill="white" stroke="none" points="125.38,-173 125.38,-195.5 150.13,-195.5 150.13,-173 125.38,-173"/>
|
56
|
+
<polygon fill="none" stroke="black" points="125.38,-173 125.38,-195.5 150.13,-195.5 150.13,-173 125.38,-173"/>
|
57
|
+
<text text-anchor="start" x="128.38" y="-179.2" font-family="Times,serif" font-size="14.00">     </text>
|
58
|
+
<polygon fill="white" stroke="none" points="125.38,-150.5 125.38,-173 150.13,-173 150.13,-150.5 125.38,-150.5"/>
|
59
|
+
<polygon fill="none" stroke="black" points="125.38,-150.5 125.38,-173 150.13,-173 150.13,-150.5 125.38,-150.5"/>
|
60
|
+
<text text-anchor="start" x="128.38" y="-156.7" font-family="Times,serif" font-size="14.00">     </text>
|
61
|
+
</g>
|
62
|
+
<!-- c3--c1 -->
|
63
|
+
<g id="edge3" class="edge">
|
64
|
+
<title>c3--c1</title>
|
65
|
+
<path fill="none" stroke="#999999" d="M133.19,-150.62C130.76,-138.64 127.76,-123.93 125.32,-111.94"/>
|
66
|
+
</g>
|
67
|
+
<!-- c3--c2 -->
|
68
|
+
<g id="edge4" class="edge">
|
69
|
+
<title>c3--c2</title>
|
70
|
+
<path fill="none" stroke="#999999" d="M149.86,-157.68C161.69,-142.71 179.61,-120.04 191.5,-105"/>
|
71
|
+
</g>
|
72
|
+
<!-- c4 -->
|
73
|
+
<g id="node5" class="node">
|
74
|
+
<title>c4</title>
|
75
|
+
<polygon fill="white" stroke="none" points="208.38,-189.5 208.38,-212 233.13,-212 233.13,-189.5 208.38,-189.5"/>
|
76
|
+
<polygon fill="none" stroke="black" points="208.38,-189.5 208.38,-212 233.13,-212 233.13,-189.5 208.38,-189.5"/>
|
77
|
+
<text text-anchor="start" x="211.38" y="-195.7" font-family="Times,serif" font-size="14.00">     </text>
|
78
|
+
<polygon fill="#ebebeb" stroke="none" points="208.38,-134 208.38,-189.5 233.13,-189.5 233.13,-134 208.38,-134"/>
|
79
|
+
<polygon fill="none" stroke="black" points="208.38,-134 208.38,-189.5 233.13,-189.5 233.13,-134 208.38,-134"/>
|
80
|
+
<text text-anchor="start" x="211.38" y="-173.2" font-family="Times,serif" font-size="14.00">6</text>
|
81
|
+
<text text-anchor="start" x="211.38" y="-156.7" font-family="Times,serif" font-size="14.00">8</text>
|
82
|
+
<text text-anchor="start" x="211.38" y="-140.2" font-family="Times,serif" font-size="14.00">10</text>
|
83
|
+
</g>
|
84
|
+
<!-- c4--c2 -->
|
85
|
+
<g id="edge5" class="edge">
|
86
|
+
<title>c4--c2</title>
|
87
|
+
<path fill="none" stroke="#999999" d="M212.85,-134.18C211.29,-126.52 209.7,-118.72 208.3,-111.83"/>
|
88
|
+
</g>
|
89
|
+
<!-- c5 -->
|
90
|
+
<g id="node6" class="node">
|
91
|
+
<title>c5</title>
|
92
|
+
<polygon fill="#dedede" stroke="none" points="188.13,-256.5 188.13,-279 253.38,-279 253.38,-256.5 188.13,-256.5"/>
|
93
|
+
<polygon fill="none" stroke="black" points="188.13,-256.5 188.13,-279 253.38,-279 253.38,-256.5 188.13,-256.5"/>
|
94
|
+
<text text-anchor="start" x="191.13" y="-262.7" font-family="Times,serif" font-size="14.00">Composite</text>
|
95
|
+
<polygon fill="white" stroke="none" points="188.13,-234 188.13,-256.5 253.38,-256.5 253.38,-234 188.13,-234"/>
|
96
|
+
<polygon fill="none" stroke="black" points="188.13,-234 188.13,-256.5 253.38,-256.5 253.38,-234 188.13,-234"/>
|
97
|
+
<text text-anchor="start" x="191.13" y="-240.2" font-family="Times,serif" font-size="14.00">     </text>
|
98
|
+
</g>
|
99
|
+
<!-- c5--c3 -->
|
100
|
+
<g id="edge6" class="edge">
|
101
|
+
<title>c5--c3</title>
|
102
|
+
<path fill="none" stroke="#999999" d="M198.51,-234.12C182.95,-218.47 162.75,-198.15 150.02,-185.34"/>
|
103
|
+
</g>
|
104
|
+
<!-- c5--c4 -->
|
105
|
+
<g id="edge7" class="edge">
|
106
|
+
<title>c5--c4</title>
|
107
|
+
<path fill="none" stroke="#999999" d="M220.75,-234.12C220.75,-227.26 220.75,-219.51 220.75,-211.88"/>
|
108
|
+
</g>
|
109
|
+
<!-- c6 -->
|
110
|
+
<g id="node7" class="node">
|
111
|
+
<title>c6</title>
|
112
|
+
<polygon fill="white" stroke="none" points="291.38,-189.5 291.38,-212 316.13,-212 316.13,-189.5 291.38,-189.5"/>
|
113
|
+
<polygon fill="none" stroke="black" points="291.38,-189.5 291.38,-212 316.13,-212 316.13,-189.5 291.38,-189.5"/>
|
114
|
+
<text text-anchor="start" x="294.38" y="-195.7" font-family="Times,serif" font-size="14.00">     </text>
|
115
|
+
<polygon fill="#ebebeb" stroke="none" points="291.38,-134 291.38,-189.5 316.13,-189.5 316.13,-134 291.38,-134"/>
|
116
|
+
<polygon fill="none" stroke="black" points="291.38,-134 291.38,-189.5 316.13,-189.5 316.13,-134 291.38,-134"/>
|
117
|
+
<text text-anchor="start" x="294.38" y="-173.2" font-family="Times,serif" font-size="14.00">3</text>
|
118
|
+
<text text-anchor="start" x="294.38" y="-156.7" font-family="Times,serif" font-size="14.00">5</text>
|
119
|
+
<text text-anchor="start" x="294.38" y="-140.2" font-family="Times,serif" font-size="14.00">7</text>
|
120
|
+
</g>
|
121
|
+
<!-- c6--c0 -->
|
122
|
+
<g id="edge8" class="edge">
|
123
|
+
<title>c6--c0</title>
|
124
|
+
<path fill="none" stroke="#999999" d="M291.39,-135.8C281.91,-107.25 269.13,-68.78 261.16,-44.82"/>
|
125
|
+
</g>
|
126
|
+
<!-- c7 -->
|
127
|
+
<g id="node8" class="node">
|
128
|
+
<title>c7</title>
|
129
|
+
<polygon fill="white" stroke="none" points="409.38,-173 409.38,-195.5 434.13,-195.5 434.13,-173 409.38,-173"/>
|
130
|
+
<polygon fill="none" stroke="black" points="409.38,-173 409.38,-195.5 434.13,-195.5 434.13,-173 409.38,-173"/>
|
131
|
+
<text text-anchor="start" x="412.38" y="-179.2" font-family="Times,serif" font-size="14.00">     </text>
|
132
|
+
<polygon fill="#ebebeb" stroke="none" points="409.38,-150.5 409.38,-173 434.13,-173 434.13,-150.5 409.38,-150.5"/>
|
133
|
+
<polygon fill="none" stroke="black" points="409.38,-150.5 409.38,-173 434.13,-173 434.13,-150.5 409.38,-150.5"/>
|
134
|
+
<text text-anchor="start" x="412.38" y="-156.7" font-family="Times,serif" font-size="14.00">2</text>
|
135
|
+
</g>
|
136
|
+
<!-- c7--c0 -->
|
137
|
+
<g id="edge9" class="edge">
|
138
|
+
<title>c7--c0</title>
|
139
|
+
<path fill="none" stroke="#999999" d="M409.4,-161.93C378.33,-134.1 297.21,-61.43 266.12,-33.58"/>
|
140
|
+
</g>
|
141
|
+
<!-- c8 -->
|
142
|
+
<g id="node9" class="node">
|
143
|
+
<title>c8</title>
|
144
|
+
<polygon fill="#dedede" stroke="none" points="311.88,-256.5 311.88,-279 345.63,-279 345.63,-256.5 311.88,-256.5"/>
|
145
|
+
<polygon fill="none" stroke="black" points="311.88,-256.5 311.88,-279 345.63,-279 345.63,-256.5 311.88,-256.5"/>
|
146
|
+
<text text-anchor="start" x="314.88" y="-262.7" font-family="Times,serif" font-size="14.00">Even</text>
|
147
|
+
<polygon fill="white" stroke="none" points="311.88,-234 311.88,-256.5 345.63,-256.5 345.63,-234 311.88,-234"/>
|
148
|
+
<polygon fill="none" stroke="black" points="311.88,-234 311.88,-256.5 345.63,-256.5 345.63,-234 311.88,-234"/>
|
149
|
+
<text text-anchor="start" x="314.88" y="-240.2" font-family="Times,serif" font-size="14.00">     </text>
|
150
|
+
</g>
|
151
|
+
<!-- c8--c4 -->
|
152
|
+
<g id="edge10" class="edge">
|
153
|
+
<title>c8--c4</title>
|
154
|
+
<path fill="none" stroke="#999999" d="M312.35,-243.82C290.51,-226.94 252.4,-197.47 232.94,-182.43"/>
|
155
|
+
</g>
|
156
|
+
<!-- c8--c7 -->
|
157
|
+
<g id="edge11" class="edge">
|
158
|
+
<title>c8--c7</title>
|
159
|
+
<path fill="none" stroke="#999999" d="M345.38,-241.57C363.77,-225.06 392.97,-198.84 409.42,-184.07"/>
|
160
|
+
</g>
|
161
|
+
<!-- c9 -->
|
162
|
+
<g id="node10" class="node">
|
163
|
+
<title>c9</title>
|
164
|
+
<polygon fill="#dedede" stroke="none" points="403.25,-256.5 403.25,-279 442.25,-279 442.25,-256.5 403.25,-256.5"/>
|
165
|
+
<polygon fill="none" stroke="black" points="403.25,-256.5 403.25,-279 442.25,-279 442.25,-256.5 403.25,-256.5"/>
|
166
|
+
<text text-anchor="start" x="406.25" y="-262.7" font-family="Times,serif" font-size="14.00">Prime</text>
|
167
|
+
<polygon fill="white" stroke="none" points="403.25,-234 403.25,-256.5 442.25,-256.5 442.25,-234 403.25,-234"/>
|
168
|
+
<polygon fill="none" stroke="black" points="403.25,-234 403.25,-256.5 442.25,-256.5 442.25,-234 403.25,-234"/>
|
169
|
+
<text text-anchor="start" x="406.25" y="-240.2" font-family="Times,serif" font-size="14.00">     </text>
|
170
|
+
</g>
|
171
|
+
<!-- c9--c6 -->
|
172
|
+
<g id="edge12" class="edge">
|
173
|
+
<title>c9--c6</title>
|
174
|
+
<path fill="none" stroke="#999999" d="M403.37,-242.9C378.6,-225.52 336.49,-195.97 315.86,-181.5"/>
|
175
|
+
</g>
|
176
|
+
<!-- c9--c7 -->
|
177
|
+
<g id="edge13" class="edge">
|
178
|
+
<title>c9--c7</title>
|
179
|
+
<path fill="none" stroke="#999999" d="M422.48,-234.12C422.34,-222.14 422.16,-207.43 422.02,-195.44"/>
|
180
|
+
</g>
|
181
|
+
<!-- c10 -->
|
182
|
+
<g id="node11" class="node">
|
183
|
+
<title>c10</title>
|
184
|
+
<polygon fill="white" stroke="none" points="42.38,-173 42.38,-195.5 67.13,-195.5 67.13,-173 42.38,-173"/>
|
185
|
+
<polygon fill="none" stroke="black" points="42.38,-173 42.38,-195.5 67.13,-195.5 67.13,-173 42.38,-173"/>
|
186
|
+
<text text-anchor="start" x="45.38" y="-179.2" font-family="Times,serif" font-size="14.00">     </text>
|
187
|
+
<polygon fill="#ebebeb" stroke="none" points="42.38,-150.5 42.38,-173 67.13,-173 67.13,-150.5 42.38,-150.5"/>
|
188
|
+
<polygon fill="none" stroke="black" points="42.38,-150.5 42.38,-173 67.13,-173 67.13,-150.5 42.38,-150.5"/>
|
189
|
+
<text text-anchor="start" x="45.38" y="-156.7" font-family="Times,serif" font-size="14.00">1</text>
|
190
|
+
</g>
|
191
|
+
<!-- c10--c1 -->
|
192
|
+
<g id="edge14" class="edge">
|
193
|
+
<title>c10--c1</title>
|
194
|
+
<path fill="none" stroke="#999999" d="M66.86,-157.68C78.69,-142.71 96.61,-120.04 108.5,-105"/>
|
195
|
+
</g>
|
196
|
+
<!-- c11 -->
|
197
|
+
<g id="node12" class="node">
|
198
|
+
<title>c11</title>
|
199
|
+
<polygon fill="#dedede" stroke="none" points="0,-256.5 0,-279 43.5,-279 43.5,-256.5 0,-256.5"/>
|
200
|
+
<polygon fill="none" stroke="black" points="0,-256.5 0,-279 43.5,-279 43.5,-256.5 0,-256.5"/>
|
201
|
+
<text text-anchor="start" x="3" y="-262.7" font-family="Times,serif" font-size="14.00">Square</text>
|
202
|
+
<polygon fill="white" stroke="none" points="0,-234 0,-256.5 43.5,-256.5 43.5,-234 0,-234"/>
|
203
|
+
<polygon fill="none" stroke="black" points="0,-234 0,-256.5 43.5,-256.5 43.5,-234 0,-234"/>
|
204
|
+
<text text-anchor="start" x="3" y="-240.2" font-family="Times,serif" font-size="14.00">     </text>
|
205
|
+
</g>
|
206
|
+
<!-- c11--c3 -->
|
207
|
+
<g id="edge15" class="edge">
|
208
|
+
<title>c11--c3</title>
|
209
|
+
<path fill="none" stroke="#999999" d="M43.3,-240.99C67.54,-223.54 106.07,-195.8 125.58,-181.76"/>
|
210
|
+
</g>
|
211
|
+
<!-- c11--c10 -->
|
212
|
+
<g id="edge16" class="edge">
|
213
|
+
<title>c11--c10</title>
|
214
|
+
<path fill="none" stroke="#999999" d="M30.59,-234.12C35.33,-222.14 41.14,-207.43 45.88,-195.44"/>
|
215
|
+
</g>
|
216
|
+
<!-- c12 -->
|
217
|
+
<g id="node13" class="node">
|
218
|
+
<title>c12</title>
|
219
|
+
<polygon fill="#dedede" stroke="none" points="101.13,-256.5 101.13,-279 130.38,-279 130.38,-256.5 101.13,-256.5"/>
|
220
|
+
<polygon fill="none" stroke="black" points="101.13,-256.5 101.13,-279 130.38,-279 130.38,-256.5 101.13,-256.5"/>
|
221
|
+
<text text-anchor="start" x="104.13" y="-262.7" font-family="Times,serif" font-size="14.00">Odd</text>
|
222
|
+
<polygon fill="white" stroke="none" points="101.13,-234 101.13,-256.5 130.38,-256.5 130.38,-234 101.13,-234"/>
|
223
|
+
<polygon fill="none" stroke="black" points="101.13,-234 101.13,-256.5 130.38,-256.5 130.38,-234 101.13,-234"/>
|
224
|
+
<text text-anchor="start" x="104.13" y="-240.2" font-family="Times,serif" font-size="14.00">     </text>
|
225
|
+
</g>
|
226
|
+
<!-- c12--c6 -->
|
227
|
+
<g id="edge17" class="edge">
|
228
|
+
<title>c12--c6</title>
|
229
|
+
<path fill="none" stroke="#999999" d="M130.19,-250.09C165.96,-234.2 258.18,-193.24 291.51,-178.44"/>
|
230
|
+
</g>
|
231
|
+
<!-- c12--c10 -->
|
232
|
+
<g id="edge18" class="edge">
|
233
|
+
<title>c12--c10</title>
|
234
|
+
<path fill="none" stroke="#999999" d="M101.29,-236.71C90.87,-222.44 76.94,-203.37 67.04,-189.83"/>
|
235
|
+
</g>
|
236
|
+
<!-- c13 -->
|
237
|
+
<g id="node14" class="node">
|
238
|
+
<title>c13</title>
|
239
|
+
<polygon fill="white" stroke="none" points="208.38,-323.5 208.38,-346 233.13,-346 233.13,-323.5 208.38,-323.5"/>
|
240
|
+
<polygon fill="none" stroke="black" points="208.38,-323.5 208.38,-346 233.13,-346 233.13,-323.5 208.38,-323.5"/>
|
241
|
+
<text text-anchor="start" x="211.38" y="-329.7" font-family="Times,serif" font-size="14.00">     </text>
|
242
|
+
<polygon fill="white" stroke="none" points="208.38,-301 208.38,-323.5 233.13,-323.5 233.13,-301 208.38,-301"/>
|
243
|
+
<polygon fill="none" stroke="black" points="208.38,-301 208.38,-323.5 233.13,-323.5 233.13,-301 208.38,-301"/>
|
244
|
+
<text text-anchor="start" x="211.38" y="-307.2" font-family="Times,serif" font-size="14.00">     </text>
|
245
|
+
</g>
|
246
|
+
<!-- c13--c5 -->
|
247
|
+
<g id="edge19" class="edge">
|
248
|
+
<title>c13--c5</title>
|
249
|
+
<path fill="none" stroke="#999999" d="M220.75,-301.19C220.75,-294.03 220.75,-286.11 220.75,-278.94"/>
|
250
|
+
</g>
|
251
|
+
<!-- c13--c8 -->
|
252
|
+
<g id="edge20" class="edge">
|
253
|
+
<title>c13--c8</title>
|
254
|
+
<path fill="none" stroke="#999999" d="M232.72,-316.07C252.05,-304.08 290.19,-280.42 312.14,-266.8"/>
|
255
|
+
</g>
|
256
|
+
<!-- c13--c9 -->
|
257
|
+
<g id="edge21" class="edge">
|
258
|
+
<title>c13--c9</title>
|
259
|
+
<path fill="none" stroke="#999999" d="M233.08,-319.41C267.09,-308.13 362.39,-276.52 403.49,-262.89"/>
|
260
|
+
</g>
|
261
|
+
<!-- c13--c11 -->
|
262
|
+
<g id="edge22" class="edge">
|
263
|
+
<title>c13--c11</title>
|
264
|
+
<path fill="none" stroke="#999999" d="M208.6,-319.41C175.78,-308.36 84.97,-277.79 43.24,-263.73"/>
|
265
|
+
</g>
|
266
|
+
<!-- c13--c12 -->
|
267
|
+
<g id="edge23" class="edge">
|
268
|
+
<title>c13--c12</title>
|
269
|
+
<path fill="none" stroke="#999999" d="M208.71,-315.81C189.31,-303.44 151.24,-279.14 130.34,-265.81"/>
|
270
|
+
</g>
|
271
|
+
</g>
|
272
|
+
</svg>
|
metadata
CHANGED
@@ -1,79 +1,128 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubyfca
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Yoichiro Hasebe
|
8
|
-
|
8
|
+
- Kow Kuroda
|
9
|
+
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
date: 2023-06-18 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: optimist
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '0'
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: roo
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: minitest
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
17
49
|
type: :development
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
20
|
-
requirements:
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
21
53
|
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version:
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
executables:
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
description: Command line Formal Concept Analysis (FCA) tool written in Ruby
|
57
|
+
email:
|
58
|
+
- yohasebe@gmail.com
|
59
|
+
executables:
|
28
60
|
- rubyfca
|
29
61
|
extensions: []
|
30
|
-
|
31
|
-
|
32
|
-
-
|
33
|
-
-
|
34
|
-
|
35
|
-
- .document
|
36
|
-
- .gitignore
|
62
|
+
extra_rdoc_files: []
|
63
|
+
files:
|
64
|
+
- ".document"
|
65
|
+
- ".gitignore"
|
66
|
+
- Gemfile
|
37
67
|
- LICENSE
|
38
|
-
- README.
|
68
|
+
- README.md
|
39
69
|
- Rakefile
|
40
|
-
- VERSION
|
41
70
|
- bin/rubyfca
|
42
|
-
- lib/ruby_graphviz.rb
|
43
71
|
- lib/rubyfca.rb
|
44
|
-
- lib/
|
72
|
+
- lib/rubyfca/ruby_graphviz.rb
|
73
|
+
- lib/rubyfca/version.rb
|
45
74
|
- rubyfca.gemspec
|
75
|
+
- samples/fca-source-result.png
|
76
|
+
- samples/numbers-result-compact.png
|
77
|
+
- samples/numbers-result.png
|
78
|
+
- samples/numbers-source.png
|
79
|
+
- samples/sample_01.svg
|
80
|
+
- samples/sample_02.svg
|
81
|
+
- samples/sample_03.svg
|
82
|
+
- samples/xlsx-sample.png
|
46
83
|
- test/rubyfca_test.rb
|
47
|
-
- test/
|
48
|
-
- test/
|
49
|
-
|
84
|
+
- test/test_data_.csv
|
85
|
+
- test/test_expected/test_result_01.svg
|
86
|
+
- test/test_expected/test_result_02.svg
|
87
|
+
- test/test_expected/test_result_03.svg
|
88
|
+
- test/test_expected/test_result_04.svg
|
89
|
+
- test/test_input/test_data.csv
|
90
|
+
- test/test_input/test_data.cxt
|
91
|
+
- test/test_input/test_data.xlsx
|
92
|
+
- test/test_input/test_data_numbers.xlsx
|
93
|
+
- test_data_numbers.svg
|
94
|
+
- test_data_numbers_a.svg
|
50
95
|
homepage: http://github.com/yohasebe/rubyfca
|
51
|
-
licenses:
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
require_paths:
|
96
|
+
licenses:
|
97
|
+
- GPL-3.0
|
98
|
+
metadata: {}
|
99
|
+
post_install_message:
|
100
|
+
rdoc_options: []
|
101
|
+
require_paths:
|
57
102
|
- lib
|
58
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
59
|
-
requirements:
|
103
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
104
|
+
requirements:
|
60
105
|
- - ">="
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version:
|
63
|
-
|
64
|
-
|
65
|
-
requirements:
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: 2.6.10
|
108
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
66
110
|
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version:
|
69
|
-
version:
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
70
113
|
requirements: []
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
summary: Command line Formal Concept Ananlysis (FCA) tool written in Ruby
|
77
|
-
test_files:
|
114
|
+
rubygems_version: 3.4.13
|
115
|
+
signing_key:
|
116
|
+
specification_version: 4
|
117
|
+
summary: Command line FCA tool written in Ruby
|
118
|
+
test_files:
|
78
119
|
- test/rubyfca_test.rb
|
79
|
-
- test/
|
120
|
+
- test/test_data_.csv
|
121
|
+
- test/test_expected/test_result_01.svg
|
122
|
+
- test/test_expected/test_result_02.svg
|
123
|
+
- test/test_expected/test_result_03.svg
|
124
|
+
- test/test_expected/test_result_04.svg
|
125
|
+
- test/test_input/test_data.csv
|
126
|
+
- test/test_input/test_data.cxt
|
127
|
+
- test/test_input/test_data.xlsx
|
128
|
+
- test/test_input/test_data_numbers.xlsx
|
data/README.rdoc
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
= RubyFCA
|
2
|
-
|
3
|
-
Command line tool for Formal Concept Analysis (FCA) written in Ruby.
|
4
|
-
|
5
|
-
== Features
|
6
|
-
|
7
|
-
* Convert a Conexp's CXT file and generate a Graphviz DOT file, or a PNG/JPG/EPS image file.
|
8
|
-
* Adopt the Ganter algorithm (through its Perl implementation of Fcastone by Uta Priss).
|
9
|
-
|
10
|
-
== Installation
|
11
|
-
|
12
|
-
Install the gem:
|
13
|
-
|
14
|
-
$sudo gem install rubyfca --source http://gemcutter.org
|
15
|
-
|
16
|
-
== How to Use
|
17
|
-
|
18
|
-
rubyfca [options] <source file> <output file>
|
19
|
-
|
20
|
-
where:
|
21
|
-
<source file>
|
22
|
-
"foo.cxt", "foo.csv"
|
23
|
-
<output file>
|
24
|
-
"bar.dot", "bar.png", "bar.jpg", or "bar.eps"
|
25
|
-
[options]:
|
26
|
-
--box, -b: Use box shaped concept nodes
|
27
|
-
--full, -f: Do not contract concept labels
|
28
|
-
--legend, -l: Print the legend of concept nodes (disabled when using circle node shape) (default: true)
|
29
|
-
--coloring, -c: Color concept nodes (default: true)
|
30
|
-
--straight, -s: Straighten edges (available when output format is either png, jpg, or eps)
|
31
|
-
--help, -h: Show this message
|
32
|
-
|
33
|
-
|
34
|
-
== ToDo
|
35
|
-
|
36
|
-
* Multiple input formats (such as CSV)
|
37
|
-
* Database connection capability
|
38
|
-
|
39
|
-
== Links
|
40
|
-
|
41
|
-
under construction
|
42
|
-
|
43
|
-
== Copyright
|
44
|
-
|
45
|
-
Copyright (c) 2009 Yoichiro Hasebe and Kow Kuroda. See LICENSE for details.
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.2.10
|