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
metadata ADDED
@@ -0,0 +1,148 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: j-law-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ platform: ruby
6
+ authors:
7
+ - j-law-core contributors
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2026-03-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ffi
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ description: |
28
+ 日本法令計算の PoC を Ruby から利用するためのバインディングです。
29
+ 実装は alpha 段階であり、計算結果の正確性・完全性・最新性を保証するものではありません。
30
+ email: []
31
+ executables: []
32
+ extensions:
33
+ - ext/j_law_ruby/extconf.rb
34
+ extra_rdoc_files: []
35
+ files:
36
+ - Gemfile
37
+ - README.md
38
+ - Rakefile
39
+ - ext/j_law_ruby/extconf.rb
40
+ - lib/j_law_ruby.rb
41
+ - lib/j_law_ruby/build_support.rb
42
+ - lib/j_law_ruby/c_ffi.rb
43
+ - rake_support/vendor_rust.rb
44
+ - test/test_c_ffi_adapter.rb
45
+ - test/test_consumption_tax.rb
46
+ - test/test_gemspec.rb
47
+ - test/test_income_tax.rb
48
+ - test/test_income_tax_deductions.rb
49
+ - test/test_real_estate.rb
50
+ - test/test_stamp_tax.rb
51
+ - test/test_withholding_tax.rb
52
+ - vendor/rust/Cargo.lock
53
+ - vendor/rust/Cargo.toml
54
+ - vendor/rust/crates/j-law-c-ffi/Cargo.toml
55
+ - vendor/rust/crates/j-law-c-ffi/j_law_c_ffi.h
56
+ - vendor/rust/crates/j-law-c-ffi/src/lib.rs
57
+ - vendor/rust/crates/j-law-core/Cargo.toml
58
+ - vendor/rust/crates/j-law-core/src/domains/consumption_tax/calculator.rs
59
+ - vendor/rust/crates/j-law-core/src/domains/consumption_tax/context.rs
60
+ - vendor/rust/crates/j-law-core/src/domains/consumption_tax/mod.rs
61
+ - vendor/rust/crates/j-law-core/src/domains/consumption_tax/params.rs
62
+ - vendor/rust/crates/j-law-core/src/domains/consumption_tax/policy.rs
63
+ - vendor/rust/crates/j-law-core/src/domains/income_tax/assessment.rs
64
+ - vendor/rust/crates/j-law-core/src/domains/income_tax/calculator.rs
65
+ - vendor/rust/crates/j-law-core/src/domains/income_tax/context.rs
66
+ - vendor/rust/crates/j-law-core/src/domains/income_tax/deduction/calculator.rs
67
+ - vendor/rust/crates/j-law-core/src/domains/income_tax/deduction/context.rs
68
+ - vendor/rust/crates/j-law-core/src/domains/income_tax/deduction/expense.rs
69
+ - vendor/rust/crates/j-law-core/src/domains/income_tax/deduction/mod.rs
70
+ - vendor/rust/crates/j-law-core/src/domains/income_tax/deduction/params.rs
71
+ - vendor/rust/crates/j-law-core/src/domains/income_tax/deduction/personal.rs
72
+ - vendor/rust/crates/j-law-core/src/domains/income_tax/deduction/types.rs
73
+ - vendor/rust/crates/j-law-core/src/domains/income_tax/mod.rs
74
+ - vendor/rust/crates/j-law-core/src/domains/income_tax/params.rs
75
+ - vendor/rust/crates/j-law-core/src/domains/income_tax/policy.rs
76
+ - vendor/rust/crates/j-law-core/src/domains/mod.rs
77
+ - vendor/rust/crates/j-law-core/src/domains/real_estate/calculator.rs
78
+ - vendor/rust/crates/j-law-core/src/domains/real_estate/context.rs
79
+ - vendor/rust/crates/j-law-core/src/domains/real_estate/mod.rs
80
+ - vendor/rust/crates/j-law-core/src/domains/real_estate/params.rs
81
+ - vendor/rust/crates/j-law-core/src/domains/real_estate/policy.rs
82
+ - vendor/rust/crates/j-law-core/src/domains/stamp_tax/calculator.rs
83
+ - vendor/rust/crates/j-law-core/src/domains/stamp_tax/context.rs
84
+ - vendor/rust/crates/j-law-core/src/domains/stamp_tax/mod.rs
85
+ - vendor/rust/crates/j-law-core/src/domains/stamp_tax/params.rs
86
+ - vendor/rust/crates/j-law-core/src/domains/stamp_tax/policy.rs
87
+ - vendor/rust/crates/j-law-core/src/domains/withholding_tax/calculator.rs
88
+ - vendor/rust/crates/j-law-core/src/domains/withholding_tax/context.rs
89
+ - vendor/rust/crates/j-law-core/src/domains/withholding_tax/mod.rs
90
+ - vendor/rust/crates/j-law-core/src/domains/withholding_tax/params.rs
91
+ - vendor/rust/crates/j-law-core/src/domains/withholding_tax/policy.rs
92
+ - vendor/rust/crates/j-law-core/src/error.rs
93
+ - vendor/rust/crates/j-law-core/src/lib.rs
94
+ - vendor/rust/crates/j-law-core/src/types/amount.rs
95
+ - vendor/rust/crates/j-law-core/src/types/citation.rs
96
+ - vendor/rust/crates/j-law-core/src/types/date.rs
97
+ - vendor/rust/crates/j-law-core/src/types/mod.rs
98
+ - vendor/rust/crates/j-law-core/src/types/rate.rs
99
+ - vendor/rust/crates/j-law-core/src/types/rounding.rs
100
+ - vendor/rust/crates/j-law-registry/Cargo.toml
101
+ - vendor/rust/crates/j-law-registry/data/consumption_tax/consumption_tax.json
102
+ - vendor/rust/crates/j-law-registry/data/income_tax/deductions.json
103
+ - vendor/rust/crates/j-law-registry/data/income_tax/income_tax.json
104
+ - vendor/rust/crates/j-law-registry/data/real_estate/brokerage_fee.json
105
+ - vendor/rust/crates/j-law-registry/data/stamp_tax/stamp_tax.json
106
+ - vendor/rust/crates/j-law-registry/data/withholding_tax/withholding_tax.json
107
+ - vendor/rust/crates/j-law-registry/src/consumption_tax_loader.rs
108
+ - vendor/rust/crates/j-law-registry/src/consumption_tax_schema.rs
109
+ - vendor/rust/crates/j-law-registry/src/income_tax_deduction_loader.rs
110
+ - vendor/rust/crates/j-law-registry/src/income_tax_deduction_schema.rs
111
+ - vendor/rust/crates/j-law-registry/src/income_tax_loader.rs
112
+ - vendor/rust/crates/j-law-registry/src/income_tax_schema.rs
113
+ - vendor/rust/crates/j-law-registry/src/lib.rs
114
+ - vendor/rust/crates/j-law-registry/src/loader.rs
115
+ - vendor/rust/crates/j-law-registry/src/schema.rs
116
+ - vendor/rust/crates/j-law-registry/src/stamp_tax_loader.rs
117
+ - vendor/rust/crates/j-law-registry/src/stamp_tax_schema.rs
118
+ - vendor/rust/crates/j-law-registry/src/validator.rs
119
+ - vendor/rust/crates/j-law-registry/src/withholding_tax_loader.rs
120
+ - vendor/rust/crates/j-law-registry/src/withholding_tax_schema.rs
121
+ homepage: https://github.com/kmoyashi/j-law-core
122
+ licenses:
123
+ - MIT
124
+ metadata:
125
+ homepage_uri: https://github.com/kmoyashi/j-law-core
126
+ source_code_uri: https://github.com/kmoyashi/j-law-core/tree/main/crates/j-law-ruby
127
+ changelog_uri: https://github.com/kmoyashi/j-law-core/releases
128
+ bug_tracker_uri: https://github.com/kmoyashi/j-law-core/issues
129
+ post_install_message:
130
+ rdoc_options: []
131
+ require_paths:
132
+ - lib
133
+ required_ruby_version: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '3.1'
138
+ required_rubygems_version: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ requirements: []
144
+ rubygems_version: 3.3.27
145
+ signing_key:
146
+ specification_version: 4
147
+ summary: 日本法令計算のPoCをRubyから利用するためのアルファ版バインディング
148
+ test_files: []