j-law-ruby 0.0.3

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 (87) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +109 -0
  4. data/Rakefile +87 -0
  5. data/ext/j_law_ruby/extconf.rb +34 -0
  6. data/lib/j_law_ruby/build_support.rb +129 -0
  7. data/lib/j_law_ruby/c_ffi.rb +662 -0
  8. data/lib/j_law_ruby.rb +532 -0
  9. data/rake_support/vendor_rust.rb +51 -0
  10. data/test/test_c_ffi_adapter.rb +46 -0
  11. data/test/test_consumption_tax.rb +66 -0
  12. data/test/test_gemspec.rb +82 -0
  13. data/test/test_income_tax.rb +77 -0
  14. data/test/test_income_tax_deductions.rb +82 -0
  15. data/test/test_real_estate.rb +98 -0
  16. data/test/test_stamp_tax.rb +68 -0
  17. data/test/test_withholding_tax.rb +65 -0
  18. data/vendor/rust/Cargo.lock +235 -0
  19. data/vendor/rust/Cargo.toml +12 -0
  20. data/vendor/rust/crates/j-law-c-ffi/Cargo.toml +20 -0
  21. data/vendor/rust/crates/j-law-c-ffi/j_law_c_ffi.h +493 -0
  22. data/vendor/rust/crates/j-law-c-ffi/src/lib.rs +1553 -0
  23. data/vendor/rust/crates/j-law-core/Cargo.toml +18 -0
  24. data/vendor/rust/crates/j-law-core/src/domains/consumption_tax/calculator.rs +216 -0
  25. data/vendor/rust/crates/j-law-core/src/domains/consumption_tax/context.rs +29 -0
  26. data/vendor/rust/crates/j-law-core/src/domains/consumption_tax/mod.rs +9 -0
  27. data/vendor/rust/crates/j-law-core/src/domains/consumption_tax/params.rs +24 -0
  28. data/vendor/rust/crates/j-law-core/src/domains/consumption_tax/policy.rs +34 -0
  29. data/vendor/rust/crates/j-law-core/src/domains/income_tax/assessment.rs +76 -0
  30. data/vendor/rust/crates/j-law-core/src/domains/income_tax/calculator.rs +222 -0
  31. data/vendor/rust/crates/j-law-core/src/domains/income_tax/context.rs +79 -0
  32. data/vendor/rust/crates/j-law-core/src/domains/income_tax/deduction/calculator.rs +167 -0
  33. data/vendor/rust/crates/j-law-core/src/domains/income_tax/deduction/context.rs +172 -0
  34. data/vendor/rust/crates/j-law-core/src/domains/income_tax/deduction/expense.rs +465 -0
  35. data/vendor/rust/crates/j-law-core/src/domains/income_tax/deduction/mod.rs +20 -0
  36. data/vendor/rust/crates/j-law-core/src/domains/income_tax/deduction/params.rs +205 -0
  37. data/vendor/rust/crates/j-law-core/src/domains/income_tax/deduction/personal.rs +324 -0
  38. data/vendor/rust/crates/j-law-core/src/domains/income_tax/deduction/types.rs +61 -0
  39. data/vendor/rust/crates/j-law-core/src/domains/income_tax/mod.rs +24 -0
  40. data/vendor/rust/crates/j-law-core/src/domains/income_tax/params.rs +109 -0
  41. data/vendor/rust/crates/j-law-core/src/domains/income_tax/policy.rs +103 -0
  42. data/vendor/rust/crates/j-law-core/src/domains/mod.rs +5 -0
  43. data/vendor/rust/crates/j-law-core/src/domains/real_estate/calculator.rs +197 -0
  44. data/vendor/rust/crates/j-law-core/src/domains/real_estate/context.rs +48 -0
  45. data/vendor/rust/crates/j-law-core/src/domains/real_estate/mod.rs +9 -0
  46. data/vendor/rust/crates/j-law-core/src/domains/real_estate/params.rs +43 -0
  47. data/vendor/rust/crates/j-law-core/src/domains/real_estate/policy.rs +40 -0
  48. data/vendor/rust/crates/j-law-core/src/domains/stamp_tax/calculator.rs +321 -0
  49. data/vendor/rust/crates/j-law-core/src/domains/stamp_tax/context.rs +408 -0
  50. data/vendor/rust/crates/j-law-core/src/domains/stamp_tax/mod.rs +12 -0
  51. data/vendor/rust/crates/j-law-core/src/domains/stamp_tax/params.rs +190 -0
  52. data/vendor/rust/crates/j-law-core/src/domains/stamp_tax/policy.rs +105 -0
  53. data/vendor/rust/crates/j-law-core/src/domains/withholding_tax/calculator.rs +247 -0
  54. data/vendor/rust/crates/j-law-core/src/domains/withholding_tax/context.rs +167 -0
  55. data/vendor/rust/crates/j-law-core/src/domains/withholding_tax/mod.rs +9 -0
  56. data/vendor/rust/crates/j-law-core/src/domains/withholding_tax/params.rs +80 -0
  57. data/vendor/rust/crates/j-law-core/src/domains/withholding_tax/policy.rs +49 -0
  58. data/vendor/rust/crates/j-law-core/src/error.rs +171 -0
  59. data/vendor/rust/crates/j-law-core/src/lib.rs +9 -0
  60. data/vendor/rust/crates/j-law-core/src/types/amount.rs +232 -0
  61. data/vendor/rust/crates/j-law-core/src/types/citation.rs +82 -0
  62. data/vendor/rust/crates/j-law-core/src/types/date.rs +280 -0
  63. data/vendor/rust/crates/j-law-core/src/types/mod.rs +11 -0
  64. data/vendor/rust/crates/j-law-core/src/types/rate.rs +219 -0
  65. data/vendor/rust/crates/j-law-core/src/types/rounding.rs +81 -0
  66. data/vendor/rust/crates/j-law-registry/Cargo.toml +15 -0
  67. data/vendor/rust/crates/j-law-registry/data/consumption_tax/consumption_tax.json +70 -0
  68. data/vendor/rust/crates/j-law-registry/data/income_tax/deductions.json +327 -0
  69. data/vendor/rust/crates/j-law-registry/data/income_tax/income_tax.json +352 -0
  70. data/vendor/rust/crates/j-law-registry/data/real_estate/brokerage_fee.json +125 -0
  71. data/vendor/rust/crates/j-law-registry/data/stamp_tax/stamp_tax.json +674 -0
  72. data/vendor/rust/crates/j-law-registry/data/withholding_tax/withholding_tax.json +70 -0
  73. data/vendor/rust/crates/j-law-registry/src/consumption_tax_loader.rs +325 -0
  74. data/vendor/rust/crates/j-law-registry/src/consumption_tax_schema.rs +49 -0
  75. data/vendor/rust/crates/j-law-registry/src/income_tax_deduction_loader.rs +636 -0
  76. data/vendor/rust/crates/j-law-registry/src/income_tax_deduction_schema.rs +111 -0
  77. data/vendor/rust/crates/j-law-registry/src/income_tax_loader.rs +445 -0
  78. data/vendor/rust/crates/j-law-registry/src/income_tax_schema.rs +44 -0
  79. data/vendor/rust/crates/j-law-registry/src/lib.rs +20 -0
  80. data/vendor/rust/crates/j-law-registry/src/loader.rs +221 -0
  81. data/vendor/rust/crates/j-law-registry/src/schema.rs +73 -0
  82. data/vendor/rust/crates/j-law-registry/src/stamp_tax_loader.rs +374 -0
  83. data/vendor/rust/crates/j-law-registry/src/stamp_tax_schema.rs +72 -0
  84. data/vendor/rust/crates/j-law-registry/src/validator.rs +204 -0
  85. data/vendor/rust/crates/j-law-registry/src/withholding_tax_loader.rs +310 -0
  86. data/vendor/rust/crates/j-law-registry/src/withholding_tax_schema.rs +61 -0
  87. metadata +148 -0
@@ -0,0 +1,125 @@
1
+ {
2
+ "domain": "real_estate",
3
+ "description": "宅地建物取引業法第46条に基づく媒介報酬の上限額計算パラメータ",
4
+ "history": [
5
+ {
6
+ "effective_from": "1970-12-01",
7
+ "effective_until": "2017-12-31",
8
+ "status": "superseded",
9
+ "citation": {
10
+ "law_id": "reitaku-46",
11
+ "law_name": "宅地建物取引業法",
12
+ "article": 46,
13
+ "paragraph": 1,
14
+ "item": null,
15
+ "notice_date": "1970-10-23",
16
+ "ministry": "建設省"
17
+ },
18
+ "params": {
19
+ "tiers": [
20
+ {
21
+ "label": "tier1",
22
+ "price_from": 0,
23
+ "price_to_inclusive": 2000000,
24
+ "rate": { "numer": 5, "denom": 100 }
25
+ },
26
+ {
27
+ "label": "tier2",
28
+ "price_from": 2000001,
29
+ "price_to_inclusive": 4000000,
30
+ "rate": { "numer": 4, "denom": 100 }
31
+ },
32
+ {
33
+ "label": "tier3",
34
+ "price_from": 4000001,
35
+ "price_to_inclusive": null,
36
+ "rate": { "numer": 3, "denom": 100 }
37
+ }
38
+ ],
39
+ "low_cost_special": null
40
+ }
41
+ },
42
+ {
43
+ "effective_from": "2018-01-01",
44
+ "effective_until": "2024-06-30",
45
+ "status": "superseded",
46
+ "citation": {
47
+ "law_id": "reitaku-46",
48
+ "law_name": "宅地建物取引業法",
49
+ "article": 46,
50
+ "paragraph": 1,
51
+ "item": null,
52
+ "notice_date": "2017-12-08",
53
+ "ministry": "国土交通省"
54
+ },
55
+ "params": {
56
+ "tiers": [
57
+ {
58
+ "label": "tier1",
59
+ "price_from": 0,
60
+ "price_to_inclusive": 2000000,
61
+ "rate": { "numer": 5, "denom": 100 }
62
+ },
63
+ {
64
+ "label": "tier2",
65
+ "price_from": 2000001,
66
+ "price_to_inclusive": 4000000,
67
+ "rate": { "numer": 4, "denom": 100 }
68
+ },
69
+ {
70
+ "label": "tier3",
71
+ "price_from": 4000001,
72
+ "price_to_inclusive": null,
73
+ "rate": { "numer": 3, "denom": 100 }
74
+ }
75
+ ],
76
+ "low_cost_special": {
77
+ "price_ceiling_inclusive": 4000000,
78
+ "fee_ceiling_exclusive_tax": 180000,
79
+ "seller_only": true
80
+ }
81
+ }
82
+ },
83
+ {
84
+ "effective_from": "2024-07-01",
85
+ "effective_until": null,
86
+ "status": "active",
87
+ "citation": {
88
+ "law_id": "reitaku-46",
89
+ "law_name": "宅地建物取引業法",
90
+ "article": 46,
91
+ "paragraph": 1,
92
+ "item": null,
93
+ "notice_date": "2024-02-09",
94
+ "ministry": "国土交通省"
95
+ },
96
+ "params": {
97
+ "tiers": [
98
+ {
99
+ "label": "tier1",
100
+ "price_from": 0,
101
+ "price_to_inclusive": 2000000,
102
+ "rate": { "numer": 5, "denom": 100 }
103
+ },
104
+ {
105
+ "label": "tier2",
106
+ "price_from": 2000001,
107
+ "price_to_inclusive": 4000000,
108
+ "rate": { "numer": 4, "denom": 100 }
109
+ },
110
+ {
111
+ "label": "tier3",
112
+ "price_from": 4000001,
113
+ "price_to_inclusive": null,
114
+ "rate": { "numer": 3, "denom": 100 }
115
+ }
116
+ ],
117
+ "low_cost_special": {
118
+ "price_ceiling_inclusive": 8000000,
119
+ "fee_ceiling_exclusive_tax": 330000,
120
+ "seller_only": false
121
+ }
122
+ }
123
+ }
124
+ ]
125
+ }