minting 1.6.3 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +71 -113
  3. data/Rakefile +25 -3
  4. data/bin/bench_check +46 -0
  5. data/doc/Mint/Currency.html +1139 -0
  6. data/doc/Mint/CurrencyRegistry.html +511 -0
  7. data/doc/Mint/Money.html +3859 -0
  8. data/doc/Mint/RangeStepPatch.html +277 -0
  9. data/doc/Mint/UnknownCurrency.html +136 -0
  10. data/doc/Mint.html +911 -0
  11. data/doc/Minting.html +142 -0
  12. data/doc/_index.html +173 -0
  13. data/doc/class_list.html +54 -0
  14. data/doc/css/common.css +1 -0
  15. data/doc/css/full_list.css +206 -0
  16. data/doc/css/style.css +1089 -0
  17. data/doc/file.README.html +275 -0
  18. data/doc/file_list.html +59 -0
  19. data/doc/frames.html +22 -0
  20. data/doc/index.html +275 -0
  21. data/doc/js/app.js +801 -0
  22. data/doc/js/full_list.js +334 -0
  23. data/doc/js/jquery.js +4 -0
  24. data/doc/method_list.html +518 -0
  25. data/doc/top-level-namespace.html +151 -0
  26. data/lib/minting/{mint/currency → currency}/currency.rb +8 -0
  27. data/lib/minting/{mint/currency → currency}/currency_registry.rb +1 -1
  28. data/lib/minting/{mint/currency → currency}/world_currencies.rb +1 -1
  29. data/lib/minting/mint/aliases.rb +3 -0
  30. data/lib/minting/mint/dsl/numeric.rb +23 -0
  31. data/lib/minting/mint/dsl/range.rb +67 -0
  32. data/lib/minting/mint/dsl/string.rb +12 -0
  33. data/lib/minting/mint/{dsl.rb → dsl/top_level.rb} +3 -18
  34. data/lib/minting/mint/mint.rb +17 -3
  35. data/lib/minting/mint/{parser.rb → parser/parser.rb} +17 -29
  36. data/lib/minting/mint/parser/separators.rb +39 -0
  37. data/lib/minting/mint.rb +19 -8
  38. data/lib/minting/money/allocation/allocation.rb +25 -0
  39. data/lib/minting/money/allocation/split.rb +41 -0
  40. data/lib/minting/money/arithmetics/methods.rb +27 -0
  41. data/lib/minting/money/{arithmetics.rb → arithmetics/operators.rb} +5 -26
  42. data/lib/minting/money/clamp.rb +66 -0
  43. data/lib/minting/money/coercion.rb +18 -11
  44. data/lib/minting/money/comparable.rb +6 -0
  45. data/lib/minting/money/constructors.rb +13 -3
  46. data/lib/minting/money/format/formatting.rb +44 -0
  47. data/lib/minting/money/{formatting.rb → format/to_s.rb} +5 -42
  48. data/lib/minting/money/money.rb +0 -58
  49. data/lib/minting/version.rb +1 -1
  50. data/minting.gemspec +5 -2
  51. metadata +42 -11
  52. data/lib/minting/money/allocation.rb +0 -59
@@ -0,0 +1,518 @@
1
+ <!DOCTYPE html>
2
+ <html >
3
+ <head>
4
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
5
+ <meta charset="utf-8">
6
+
7
+ <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen">
8
+
9
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen">
10
+
11
+
12
+
13
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
16
+
17
+
18
+ <title>Method List</title>
19
+ <base id="base_target" target="_parent">
20
+ </head>
21
+ <body>
22
+ <div id="content">
23
+ <div class="fixed_header">
24
+ <h1 id="full_list_header">Method List</h1>
25
+ <div id="full_list_nav">
26
+
27
+ <span><a target="_self" href="class_list.html">
28
+ Classes
29
+ </a></span>
30
+
31
+ <span><a target="_self" href="method_list.html">
32
+ Methods
33
+ </a></span>
34
+
35
+ <span><a target="_self" href="file_list.html">
36
+ Files
37
+ </a></span>
38
+
39
+ </div>
40
+
41
+ <div id="search">
42
+ <label for="search-class">Search:</label>
43
+ <input id="search-class" type="text">
44
+ </div>
45
+ </div>
46
+
47
+ <ul id="full_list" class="method">
48
+
49
+
50
+ <li class="odd ">
51
+ <div class="item">
52
+ <span class='object_link'><a href="Mint/Money.html#*-instance_method" title="Mint::Money#* (method)">#*</a></span>
53
+ <small>Mint::Money</small>
54
+ </div>
55
+ </li>
56
+
57
+
58
+ <li class="even ">
59
+ <div class="item">
60
+ <span class='object_link'><a href="Mint/Money.html#**-instance_method" title="Mint::Money#** (method)">#**</a></span>
61
+ <small>Mint::Money</small>
62
+ </div>
63
+ </li>
64
+
65
+
66
+ <li class="odd ">
67
+ <div class="item">
68
+ <span class='object_link'><a href="Mint/Money.html#%2B-instance_method" title="Mint::Money#+ (method)">#+</a></span>
69
+ <small>Mint::Money</small>
70
+ </div>
71
+ </li>
72
+
73
+
74
+ <li class="even ">
75
+ <div class="item">
76
+ <span class='object_link'><a href="Mint/Money.html#--instance_method" title="Mint::Money#- (method)">#-</a></span>
77
+ <small>Mint::Money</small>
78
+ </div>
79
+ </li>
80
+
81
+
82
+ <li class="odd ">
83
+ <div class="item">
84
+ <span class='object_link'><a href="Mint/Money.html#-@-instance_method" title="Mint::Money#-@ (method)">#-@</a></span>
85
+ <small>Mint::Money</small>
86
+ </div>
87
+ </li>
88
+
89
+
90
+ <li class="even ">
91
+ <div class="item">
92
+ <span class='object_link'><a href="Mint/Money.html#%2F-instance_method" title="Mint::Money#/ (method)">#/</a></span>
93
+ <small>Mint::Money</small>
94
+ </div>
95
+ </li>
96
+
97
+
98
+ <li class="odd ">
99
+ <div class="item">
100
+ <span class='object_link'><a href="Mint/Money.html#<=>-instance_method" title="Mint::Money#&lt;=&gt; (method)">#&lt;=&gt;</a></span>
101
+ <small>Mint::Money</small>
102
+ </div>
103
+ </li>
104
+
105
+
106
+ <li class="even ">
107
+ <div class="item">
108
+ <span class='object_link'><a href="Mint/Money.html#==-instance_method" title="Mint::Money#== (method)">#==</a></span>
109
+ <small>Mint::Money</small>
110
+ </div>
111
+ </li>
112
+
113
+
114
+ <li class="odd ">
115
+ <div class="item">
116
+ <span class='object_link'><a href="Mint/Money.html#abs-instance_method" title="Mint::Money#abs (method)">#abs</a></span>
117
+ <small>Mint::Money</small>
118
+ </div>
119
+ </li>
120
+
121
+
122
+ <li class="even ">
123
+ <div class="item">
124
+ <span class='object_link'><a href="Mint/Money.html#allocate-instance_method" title="Mint::Money#allocate (method)">#allocate</a></span>
125
+ <small>Mint::Money</small>
126
+ </div>
127
+ </li>
128
+
129
+
130
+ <li class="odd ">
131
+ <div class="item">
132
+ <span class='object_link'><a href="Mint/Money.html#amount-instance_method" title="Mint::Money#amount (method)">#amount</a></span>
133
+ <small>Mint::Money</small>
134
+ </div>
135
+ </li>
136
+
137
+
138
+ <li class="even ">
139
+ <div class="item">
140
+ <span class='object_link'><a href="Mint/Money.html#clamp-instance_method" title="Mint::Money#clamp (method)">#clamp</a></span>
141
+ <small>Mint::Money</small>
142
+ </div>
143
+ </li>
144
+
145
+
146
+ <li class="odd ">
147
+ <div class="item">
148
+ <span class='object_link'><a href="Mint/Currency.html#code-instance_method" title="Mint::Currency#code (method)">#code</a></span>
149
+ <small>Mint::Currency</small>
150
+ </div>
151
+ </li>
152
+
153
+
154
+ <li class="even ">
155
+ <div class="item">
156
+ <span class='object_link'><a href="Mint/Money.html#coerce-instance_method" title="Mint::Money#coerce (method)">#coerce</a></span>
157
+ <small>Mint::Money</small>
158
+ </div>
159
+ </li>
160
+
161
+
162
+ <li class="odd ">
163
+ <div class="item">
164
+ <span class='object_link'><a href="Mint/Currency.html#country-instance_method" title="Mint::Currency#country (method)">#country</a></span>
165
+ <small>Mint::Currency</small>
166
+ </div>
167
+ </li>
168
+
169
+
170
+ <li class="even ">
171
+ <div class="item">
172
+ <span class='object_link'><a href="Mint/Money.html#create-class_method" title="Mint::Money.create (method)">create</a></span>
173
+ <small>Mint::Money</small>
174
+ </div>
175
+ </li>
176
+
177
+
178
+ <li class="odd ">
179
+ <div class="item">
180
+ <span class='object_link'><a href="Mint/CurrencyRegistry.html#currencies-instance_method" title="Mint::CurrencyRegistry#currencies (method)">#currencies</a></span>
181
+ <small>Mint::CurrencyRegistry</small>
182
+ </div>
183
+ </li>
184
+
185
+
186
+ <li class="even ">
187
+ <div class="item">
188
+ <span class='object_link'><a href="Mint.html#currency-class_method" title="Mint.currency (method)">currency</a></span>
189
+ <small>Mint</small>
190
+ </div>
191
+ </li>
192
+
193
+
194
+ <li class="odd ">
195
+ <div class="item">
196
+ <span class='object_link'><a href="Mint/Money.html#currency-instance_method" title="Mint::Money#currency (method)">#currency</a></span>
197
+ <small>Mint::Money</small>
198
+ </div>
199
+ </li>
200
+
201
+
202
+ <li class="even ">
203
+ <div class="item">
204
+ <span class='object_link'><a href="Mint/Money.html#currency_code-instance_method" title="Mint::Money#currency_code (method)">#currency_code</a></span>
205
+ <small>Mint::Money</small>
206
+ </div>
207
+ </li>
208
+
209
+
210
+ <li class="odd ">
211
+ <div class="item">
212
+ <span class='object_link'><a href="Mint/CurrencyRegistry.html#currency_symbols-instance_method" title="Mint::CurrencyRegistry#currency_symbols (method)">#currency_symbols</a></span>
213
+ <small>Mint::CurrencyRegistry</small>
214
+ </div>
215
+ </li>
216
+
217
+
218
+ <li class="even ">
219
+ <div class="item">
220
+ <span class='object_link'><a href="Mint/Money.html#eql%3F-instance_method" title="Mint::Money#eql? (method)">#eql?</a></span>
221
+ <small>Mint::Money</small>
222
+ </div>
223
+ </li>
224
+
225
+
226
+ <li class="odd ">
227
+ <div class="item">
228
+ <span class='object_link'><a href="Mint/Money.html#fractional-instance_method" title="Mint::Money#fractional (method)">#fractional</a></span>
229
+ <small>Mint::Money</small>
230
+ </div>
231
+ </li>
232
+
233
+
234
+ <li class="even ">
235
+ <div class="item">
236
+ <span class='object_link'><a href="Mint/Currency.html#fractional_multiplier-instance_method" title="Mint::Currency#fractional_multiplier (method)">#fractional_multiplier</a></span>
237
+ <small>Mint::Currency</small>
238
+ </div>
239
+ </li>
240
+
241
+
242
+ <li class="odd ">
243
+ <div class="item">
244
+ <span class='object_link'><a href="Mint/Money.html#from_fractional-class_method" title="Mint::Money.from_fractional (method)">from_fractional</a></span>
245
+ <small>Mint::Money</small>
246
+ </div>
247
+ </li>
248
+
249
+
250
+ <li class="even ">
251
+ <div class="item">
252
+ <span class='object_link'><a href="Mint/Money.html#hash-instance_method" title="Mint::Money#hash (method)">#hash</a></span>
253
+ <small>Mint::Money</small>
254
+ </div>
255
+ </li>
256
+
257
+
258
+ <li class="odd ">
259
+ <div class="item">
260
+ <span class='object_link'><a href="Mint/Currency.html#initialize-instance_method" title="Mint::Currency#initialize (method)">#initialize</a></span>
261
+ <small>Mint::Currency</small>
262
+ </div>
263
+ </li>
264
+
265
+
266
+ <li class="even ">
267
+ <div class="item">
268
+ <span class='object_link'><a href="Mint/Currency.html#inspect-instance_method" title="Mint::Currency#inspect (method)">#inspect</a></span>
269
+ <small>Mint::Currency</small>
270
+ </div>
271
+ </li>
272
+
273
+
274
+ <li class="odd ">
275
+ <div class="item">
276
+ <span class='object_link'><a href="Mint/Money.html#inspect-instance_method" title="Mint::Money#inspect (method)">#inspect</a></span>
277
+ <small>Mint::Money</small>
278
+ </div>
279
+ </li>
280
+
281
+
282
+ <li class="even ">
283
+ <div class="item">
284
+ <span class='object_link'><a href="Mint/Currency.html#minimum_amount-instance_method" title="Mint::Currency#minimum_amount (method)">#minimum_amount</a></span>
285
+ <small>Mint::Currency</small>
286
+ </div>
287
+ </li>
288
+
289
+
290
+ <li class="odd ">
291
+ <div class="item">
292
+ <span class='object_link'><a href="Mint/Money.html#mint-instance_method" title="Mint::Money#mint (method)">#mint</a></span>
293
+ <small>Mint::Money</small>
294
+ </div>
295
+ </li>
296
+
297
+
298
+ <li class="even ">
299
+ <div class="item">
300
+ <span class='object_link'><a href="Mint.html#money-class_method" title="Mint.money (method)">money</a></span>
301
+ <small>Mint</small>
302
+ </div>
303
+ </li>
304
+
305
+
306
+ <li class="odd ">
307
+ <div class="item">
308
+ <span class='object_link'><a href="Mint/Currency.html#name-instance_method" title="Mint::Currency#name (method)">#name</a></span>
309
+ <small>Mint::Currency</small>
310
+ </div>
311
+ </li>
312
+
313
+
314
+ <li class="even ">
315
+ <div class="item">
316
+ <span class='object_link'><a href="Mint/Money.html#negative%3F-instance_method" title="Mint::Money#negative? (method)">#negative?</a></span>
317
+ <small>Mint::Money</small>
318
+ </div>
319
+ </li>
320
+
321
+
322
+ <li class="odd ">
323
+ <div class="item">
324
+ <span class='object_link'><a href="Mint/Money.html#nonzero%3F-instance_method" title="Mint::Money#nonzero? (method)">#nonzero?</a></span>
325
+ <small>Mint::Money</small>
326
+ </div>
327
+ </li>
328
+
329
+
330
+ <li class="even ">
331
+ <div class="item">
332
+ <span class='object_link'><a href="Mint/Currency.html#normalize_amount-instance_method" title="Mint::Currency#normalize_amount (method)">#normalize_amount</a></span>
333
+ <small>Mint::Currency</small>
334
+ </div>
335
+ </li>
336
+
337
+
338
+ <li class="odd ">
339
+ <div class="item">
340
+ <span class='object_link'><a href="Mint.html#parse-instance_method" title="Mint#parse (method)">#parse</a></span>
341
+ <small>Mint</small>
342
+ </div>
343
+ </li>
344
+
345
+
346
+ <li class="even ">
347
+ <div class="item">
348
+ <span class='object_link'><a href="Mint/Money.html#positive%3F-instance_method" title="Mint::Money#positive? (method)">#positive?</a></span>
349
+ <small>Mint::Money</small>
350
+ </div>
351
+ </li>
352
+
353
+
354
+ <li class="odd ">
355
+ <div class="item">
356
+ <span class='object_link'><a href="Mint/Currency.html#priority-instance_method" title="Mint::Currency#priority (method)">#priority</a></span>
357
+ <small>Mint::Currency</small>
358
+ </div>
359
+ </li>
360
+
361
+
362
+ <li class="even ">
363
+ <div class="item">
364
+ <span class='object_link'><a href="Mint/CurrencyRegistry.html#register-instance_method" title="Mint::CurrencyRegistry#register (method)">#register</a></span>
365
+ <small>Mint::CurrencyRegistry</small>
366
+ </div>
367
+ </li>
368
+
369
+
370
+ <li class="odd ">
371
+ <div class="item">
372
+ <span class='object_link'><a href="Mint.html#register_currency-class_method" title="Mint.register_currency (method)">register_currency</a></span>
373
+ <small>Mint</small>
374
+ </div>
375
+ </li>
376
+
377
+
378
+ <li class="even ">
379
+ <div class="item">
380
+ <span class='object_link'><a href="Mint/Money.html#same_currency%3F-instance_method" title="Mint::Money#same_currency? (method)">#same_currency?</a></span>
381
+ <small>Mint::Money</small>
382
+ </div>
383
+ </li>
384
+
385
+
386
+ <li class="odd ">
387
+ <div class="item">
388
+ <span class='object_link'><a href="Mint/Money.html#split-instance_method" title="Mint::Money#split (method)">#split</a></span>
389
+ <small>Mint::Money</small>
390
+ </div>
391
+ </li>
392
+
393
+
394
+ <li class="even ">
395
+ <div class="item">
396
+ <span class='object_link'><a href="Mint/RangeStepPatch.html#step-instance_method" title="Mint::RangeStepPatch#step (method)">#step</a></span>
397
+ <small>Mint::RangeStepPatch</small>
398
+ </div>
399
+ </li>
400
+
401
+
402
+ <li class="odd ">
403
+ <div class="item">
404
+ <span class='object_link'><a href="Mint/Currency.html#subunit-instance_method" title="Mint::Currency#subunit (method)">#subunit</a></span>
405
+ <small>Mint::Currency</small>
406
+ </div>
407
+ </li>
408
+
409
+
410
+ <li class="even ">
411
+ <div class="item">
412
+ <span class='object_link'><a href="Mint/Money.html#succ-instance_method" title="Mint::Money#succ (method)">#succ</a></span>
413
+ <small>Mint::Money</small>
414
+ </div>
415
+ </li>
416
+
417
+
418
+ <li class="odd ">
419
+ <div class="item">
420
+ <span class='object_link'><a href="Mint/Currency.html#symbol-instance_method" title="Mint::Currency#symbol (method)">#symbol</a></span>
421
+ <small>Mint::Currency</small>
422
+ </div>
423
+ </li>
424
+
425
+
426
+ <li class="even ">
427
+ <div class="item">
428
+ <span class='object_link'><a href="Mint/Money.html#to_d-instance_method" title="Mint::Money#to_d (method)">#to_d</a></span>
429
+ <small>Mint::Money</small>
430
+ </div>
431
+ </li>
432
+
433
+
434
+ <li class="odd ">
435
+ <div class="item">
436
+ <span class='object_link'><a href="Mint/Money.html#to_f-instance_method" title="Mint::Money#to_f (method)">#to_f</a></span>
437
+ <small>Mint::Money</small>
438
+ </div>
439
+ </li>
440
+
441
+
442
+ <li class="even ">
443
+ <div class="item">
444
+ <span class='object_link'><a href="Mint/Money.html#to_hash-instance_method" title="Mint::Money#to_hash (method)">#to_hash</a></span>
445
+ <small>Mint::Money</small>
446
+ </div>
447
+ </li>
448
+
449
+
450
+ <li class="odd ">
451
+ <div class="item">
452
+ <span class='object_link'><a href="Mint/Money.html#to_html-instance_method" title="Mint::Money#to_html (method)">#to_html</a></span>
453
+ <small>Mint::Money</small>
454
+ </div>
455
+ </li>
456
+
457
+
458
+ <li class="even ">
459
+ <div class="item">
460
+ <span class='object_link'><a href="Mint/Money.html#to_i-instance_method" title="Mint::Money#to_i (method)">#to_i</a></span>
461
+ <small>Mint::Money</small>
462
+ </div>
463
+ </li>
464
+
465
+
466
+ <li class="odd ">
467
+ <div class="item">
468
+ <span class='object_link'><a href="Mint/Money.html#to_json-instance_method" title="Mint::Money#to_json (method)">#to_json</a></span>
469
+ <small>Mint::Money</small>
470
+ </div>
471
+ </li>
472
+
473
+
474
+ <li class="even ">
475
+ <div class="item">
476
+ <span class='object_link'><a href="Mint/Money.html#to_r-instance_method" title="Mint::Money#to_r (method)">#to_r</a></span>
477
+ <small>Mint::Money</small>
478
+ </div>
479
+ </li>
480
+
481
+
482
+ <li class="odd ">
483
+ <div class="item">
484
+ <span class='object_link'><a href="Mint/Money.html#to_s-instance_method" title="Mint::Money#to_s (method)">#to_s</a></span>
485
+ <small>Mint::Money</small>
486
+ </div>
487
+ </li>
488
+
489
+
490
+ <li class="even ">
491
+ <div class="item">
492
+ <span class='object_link'><a href="Mint.html#use_top_level_constants!-class_method" title="Mint.use_top_level_constants! (method)">use_top_level_constants!</a></span>
493
+ <small>Mint</small>
494
+ </div>
495
+ </li>
496
+
497
+
498
+ <li class="odd ">
499
+ <div class="item">
500
+ <span class='object_link'><a href="Mint.html#world_currencies-class_method" title="Mint.world_currencies (method)">world_currencies</a></span>
501
+ <small>Mint</small>
502
+ </div>
503
+ </li>
504
+
505
+
506
+ <li class="even ">
507
+ <div class="item">
508
+ <span class='object_link'><a href="Mint/Money.html#zero%3F-instance_method" title="Mint::Money#zero? (method)">#zero?</a></span>
509
+ <small>Mint::Money</small>
510
+ </div>
511
+ </li>
512
+
513
+
514
+
515
+ </ul>
516
+ </div>
517
+ </body>
518
+ </html>
@@ -0,0 +1,151 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Top Level Namespace
8
+
9
+ &mdash; Documentation by YARD 0.9.44
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css">
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css">
16
+
17
+ <script type="text/javascript">
18
+ pathId = "";
19
+ relpath = '';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div id="main_progress" aria-hidden="true"></div>
31
+
32
+ <div class="nav_wrap">
33
+ <iframe id="nav" src="class_list.html?1"></iframe>
34
+ <div id="resizer"></div>
35
+ </div>
36
+
37
+ <div id="main" tabindex="-1">
38
+ <div id="header">
39
+ <div id="menu">
40
+
41
+ <a href="_index.html">Index</a> &raquo;
42
+
43
+
44
+ <span class="title">Top Level Namespace</span>
45
+
46
+ </div>
47
+
48
+ <div id="search">
49
+
50
+ <a class="full_list_link" id="class_list_link"
51
+ href="class_list.html">
52
+
53
+ <svg width="24" height="24">
54
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
55
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
56
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
57
+ </svg>
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <div id="content"><h1>Top Level Namespace
65
+
66
+
67
+
68
+ </h1>
69
+ <div class="box_info">
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+ </div>
82
+
83
+ <h2>Defined Under Namespace</h2>
84
+ <p class="children">
85
+
86
+
87
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="Mint.html" title="Mint (module)">Mint</a></span>, <span class='object_link'><a href="Minting.html" title="Minting (module)">Minting</a></span>
88
+
89
+
90
+
91
+
92
+ </p>
93
+
94
+
95
+ <h2>
96
+ Constant Summary
97
+ <small><a href="#" class="constants_summary_toggle">collapse</a></small>
98
+ </h2>
99
+
100
+ <dl class="constants">
101
+
102
+ <dt id="Money-constant" class="">Money =
103
+ <div class="docstring">
104
+ <div class="discussion">
105
+ <p>Alias for <span class='object_link'><a href="Mint/Money.html" title="Mint::Money (class)">Mint::Money</a></span> — enables <code>Money.new(...)</code> shorthand.</p>
106
+
107
+ </div>
108
+ </div>
109
+ <div class="tags">
110
+
111
+
112
+ </div>
113
+ </dt>
114
+ <dd><pre class="code"><span class='const'><span class='object_link'><a href="Mint.html" title="Mint (module)">Mint</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Mint/Money.html" title="Mint::Money (class)">Money</a></span></span></pre></dd>
115
+
116
+ <dt id="Currency-constant" class="">Currency =
117
+ <div class="docstring">
118
+ <div class="discussion">
119
+ <p>Alias for <span class='object_link'><a href="Mint/Currency.html" title="Mint::Currency (class)">Mint::Currency</a></span> — enables <code>Currency.new(...)</code> shorthand.</p>
120
+
121
+ </div>
122
+ </div>
123
+ <div class="tags">
124
+
125
+
126
+ </div>
127
+ </dt>
128
+ <dd><pre class="code"><span class='const'><span class='object_link'><a href="Mint.html" title="Mint (module)">Mint</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Mint/Currency.html" title="Mint::Currency (class)">Currency</a></span></span></pre></dd>
129
+
130
+ </dl>
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+ </div>
142
+
143
+ <div id="footer">
144
+ Generated on Sun Jun 14 21:57:00 2026 by
145
+ <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
146
+ 0.9.44 (ruby-4.0.5).
147
+ </div>
148
+
149
+ </div>
150
+ </body>
151
+ </html>
@@ -16,6 +16,12 @@ module Mint
16
16
  # @attr_reader minimum_amount [Rational] Smallest representable amount (1/fractional_multiplier)
17
17
  Currency = Data.define(:code, :subunit, :symbol, :priority, :country, :name,
18
18
  :fractional_multiplier) do
19
+ # @param code [String] ISO 4217 currency code
20
+ # @param symbol [String] Display symbol
21
+ # @param subunit [Integer] Number of decimal places (default 0)
22
+ # @param priority [Integer] Parser precedence for symbol detection (default 0)
23
+ # @param country [String, nil] Associated country code (default nil)
24
+ # @param name [String, nil] Currency name (default nil)
19
25
  def initialize(code:, symbol:, subunit: 0, priority: 0, country: nil, name: nil)
20
26
  subunit = subunit.to_i
21
27
  priority = priority.to_i
@@ -24,8 +30,10 @@ module Mint
24
30
  fractional_multiplier:)
25
31
  end
26
32
 
33
+ # @return [String] debug representation
27
34
  def inspect = "<Currency:(#{code} #{symbol} #{subunit} #{name})>"
28
35
 
36
+ # @return [Rational] smallest representable amount (1/fractional_multiplier)
29
37
  def minimum_amount = Rational(1, fractional_multiplier)
30
38
 
31
39
  # Normalizes numeric amounts for this currency