luca-jp 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4040cfe74aa1a54345ead8ecae4ef23bfb7afcb45add127ae244c955caddf4b7
4
- data.tar.gz: d11e300d1a69fef846ffebdf58179f4c85206329b8f950baa2332e39416416e5
3
+ metadata.gz: a806b0b50cedaaee6bcf04c226f02fc857a4c7a651a6a06f7a22abd0e4e161cc
4
+ data.tar.gz: 9a8188a2595fc6e487b81d073a150995221f9add68768ce2c133267ec084a9b7
5
5
  SHA512:
6
- metadata.gz: 724fe70197721883fe486b603ef6e9239a6da2c813165d5322a45ee927bead70d7fe54085fc4ab3d7ecf63886b72f01acc261e2a9be1eb6a10009cb474b17d1e
7
- data.tar.gz: 46bc67bcbf9bc7935d31fa10a31da6692138705933c0b90d57b415344278b53b942a24abc92eeaeeb8ed1753a79470b15133bbbf32a07c55c57a33ec5aac8d64
6
+ metadata.gz: 994c9afe22a85581401f8f78853b149bfef194cba11b2c61f24bc43fb26e9dcb6698f79f8919a0aae301e4982d324c9068c4a21b83a756775e92f2d3d61b7326
7
+ data.tar.gz: 9e001abecc4c7fd0831b2a82eb112156db3e4b8ea9666f9c42fbaf556c9b527caad948c63f17712d99bb44e2b5bd10b2d34b34a96d327dc637cd445435993dc8
data/exe/luca-jp CHANGED
@@ -27,6 +27,11 @@ class LucaCmd
27
27
  puts Luca::Jp::Chihouzei.range(*args).kani
28
28
  end
29
29
  end
30
+
31
+ def self.urikake(args, params)
32
+ date = "#{args[0]}-#{args[1]}-1"
33
+ Luca::Jp::Urikake.new(date).report(params[:total])
34
+ end
30
35
  end
31
36
 
32
37
  cmd = ARGV.shift
@@ -54,4 +59,11 @@ when /chihou?zei/
54
59
  args = opt.parse!(ARGV)
55
60
  LucaCmd.chihouzei(args, params)
56
61
  end
62
+ when /urikake/
63
+ OptionParser.new do |opt|
64
+ opt.banner = 'Usage: luca-jp urikake [options] yyyy mm'
65
+ opt.on('--total VAL', '売掛金総額') { |v| params[:total] = v&.to_i }
66
+ args = opt.parse!(ARGV)
67
+ LucaCmd.urikake(args, params)
68
+ end
57
69
  end
data/lib/luca/jp.rb CHANGED
@@ -12,6 +12,7 @@ module Luca
12
12
  autoload :Common, 'luca/jp/common'
13
13
  autoload :ItPart, 'luca/jp/it_part'
14
14
  autoload :Sonshitsu, 'luca/jp/sonshitsu'
15
+ autoload :Urikake, 'luca/jp/urikake'
15
16
  autoload :Util, 'luca/jp/util'
16
17
  end
17
18
 
data/lib/luca/jp/aoiro.rb CHANGED
@@ -255,6 +255,59 @@ module Luca
255
255
  readable(LucaBook::State.gross(@start_date.year, @start_date.month, @end_date.year, @end_date.month, code: 'C1I')[:debit]['C1I']) || 0
256
256
  end
257
257
 
258
+ def 別表二株主リスト
259
+ return '' if beppyo2_config('owners').nil?
260
+
261
+ tags = beppyo2_config('owners')[1..-1]&.map.with_index(2) do |owner, i|
262
+ %Q(<VAE00170>
263
+ <VAE00180>
264
+ <VAE00190>#{i}</VAE00190>
265
+ <VAE00200>#{i}</VAE00200>
266
+ </VAE00180>
267
+ <VAE00210>
268
+ #{render_attr('VAE00220', owner['address'])}
269
+ #{render_attr('VAE00230', owner['name'])}
270
+ #{render_attr('VAE00235', owner['relation'] || 'その他')}
271
+ </VAE00210>
272
+ <VAE00250>
273
+ <VAE00290>
274
+ #{render_attr('VAE00300', owner['shares'])}
275
+ <VAE00310>
276
+ #{render_attr('VAE00330', owner['votes'])}
277
+ </VAE00310>
278
+ </VAE00290>
279
+ </VAE00250>
280
+ </VAE00170>)
281
+ end
282
+ tags.compact.join("\n")
283
+ end
284
+
285
+ def 別表二上位株数
286
+ return nil if beppyo2_config('owners').nil?
287
+
288
+ beppyo2_config('owners')[0..2].map{ |owner| owner['shares']&.to_i || 0 }.sum
289
+ end
290
+
291
+ def 別表二上位株割合
292
+ return nil if beppyo2_config('total_shares').nil?
293
+ return nil if beppyo2_config('owners').nil?
294
+
295
+ (別表二上位株数 * 100.0 / beppyo2_config('total_shares')).round(1).to_s
296
+ end
297
+
298
+ def 別表二上位議決権数
299
+ return nil if beppyo2_config('owners').nil?
300
+
301
+ beppyo2_config('owners')[0..2].map{ |owner| owner['votes']&.to_i || 0 }.sum
302
+ end
303
+
304
+ def 別表二上位議決権割合
305
+ return nil if beppyo2_config('total_votes').nil?
306
+ return nil if beppyo2_config('owners').nil?
307
+
308
+ (別表二上位議決権数 * 100.0 / beppyo2_config('total_votes')).round(1).to_s
309
+ end
310
+
258
311
  def 別表四還付法人税等金額
259
312
  refund_tax()
260
313
  end
@@ -26,6 +26,7 @@ module Luca
26
26
  @software = 'LucaJp'
27
27
  @jimusho_code = eltax_config('jimusho_code')
28
28
  @jimusho_name = eltax_config('jimusho_name')
29
+ @app_version = eltax_config('app_version')
29
30
 
30
31
  @税額 = 税額計算
31
32
  @均等割 = @税額.dig(:kenmin, :kintou)
@@ -105,6 +106,7 @@ module Luca
105
106
  end
106
107
 
107
108
  def 第六号
109
+ @資本金準備金 = eltax_config('shihon') || it_part_config('shihon_kin')
108
110
  render_erb(search_template('el-no6.xml.erb'))
109
111
  end
110
112
 
@@ -128,8 +130,7 @@ module Luca
128
130
  private
129
131
 
130
132
  def 法人税割課税標準
131
- national_tax = Luca::Jp::Aoiro.range(@start_date.year, @start_date.month, @end_date.year, @end_date.month).kani(export: true)
132
- (national_tax[:kokuzei][:zeigaku] / 1000).floor * 1000
133
+ (@税額.dig(:houjin, :kokuzei) / 1000).floor * 1000
133
134
  end
134
135
 
135
136
  def 事業税中間納付
@@ -24,7 +24,7 @@ module Luca
24
24
  entries << %Q(<TETSUZUKI ID="TETSUZUKI"><procedure_CD>#{@procedure_code}</procedure_CD><procedure_NM>#{@procedure_name}</procedure_NM></TETSUZUKI>)
25
25
  entries.concat([jigyo_nendo_from, jigyo_nendo_to, kazei_kikan_from, kazei_kikan_to])
26
26
  entries << render_it_tag('keiri_sekininsha')
27
- entries << '<SHINKOKU_KBN ID="SHINKOKU_KBN"><kubun_CD>1</kubun_CD></SHINKOKU_KBN>'
27
+ entries << '<SHINKOKU_KBN ID="SHINKOKU_KBN"><kubun_CD>30</kubun_CD></SHINKOKU_KBN>'
28
28
  entries.concat(['eltax_id'].map{ |key| render_it_tag(key) })
29
29
  entries << '</IT>'
30
30
  entries.compact.join("\n")
@@ -6,4 +6,35 @@
6
6
  </VAA00010>
7
7
  <VAA00040 IDREF="NOZEISHA_NM"/>
8
8
  </VAA00000>
9
+ <VAB00000>
10
+ <%= render_attr('VAB00010', beppyo2_config('total_shares')) %>
11
+ <%= render_attr('VAB00020', 別表二上位株数) %>
12
+ <%= render_attr('VAB00030', 別表二上位株割合) %>
13
+ <VAB00040>
14
+ <%= render_attr('VAB00060', beppyo2_config('total_votes')) %>
15
+ </VAB00040>
16
+ <%= render_attr('VAB00070', 別表二上位議決権数) %>
17
+ <%= render_attr('VAB00080', 別表二上位議決権割合) %>
18
+ </VAB00000>
19
+ <VAE00000>
20
+ <VAE00010>
21
+ <VAE00020>
22
+ <VAE00030>1</VAE00030>
23
+ <VAE00040>1</VAE00040>
24
+ </VAE00020>
25
+ <VAE00050>
26
+ <%= render_attr('VAE00060', beppyo2_config('owners')&.dig(0, 'address')) %>
27
+ <%= render_attr('VAE00070', beppyo2_config('owners')&.dig(0, 'name')) %>
28
+ </VAE00050>
29
+ <VAE00080>
30
+ <VAE00120>
31
+ <%= render_attr('VAE00130', beppyo2_config('owners')&.dig(0, 'shares')) %>
32
+ <VAE00140>
33
+ <%= render_attr('VAE00160', beppyo2_config('owners')&.dig(0, 'votes')) %>
34
+ </VAE00140>
35
+ </VAE00120>
36
+ </VAE00080>
37
+ </VAE00010>
38
+ <%= 別表二株主リスト %>
39
+ </VAE00000>
9
40
  </HOA201>
@@ -61,6 +61,10 @@
61
61
  <%= render_attr('ARE00010', @別表四調整所得) %>
62
62
  <%= render_attr('ARE00020', @別表四調整所得) %>
63
63
  </ARE00000>
64
+ <ARZ10000>
65
+ <%= render_attr('ARZ10010', @別表四調整所得) %>
66
+ <%= render_attr('ARZ10020', @別表四調整所得) %>
67
+ </ARZ10000>
64
68
  <ARK00000>
65
69
  <%= render_attr('ARK00010', @別表四調整所得) %>
66
70
  <%= render_attr('ARK00020', @別表四調整所得) %>
@@ -1,4 +1,4 @@
1
- <R0102AG120 xmlns="http://eltax.jp/HOJIN_DOFUKEN" vr="120" page="" seiseiSoft="<%= @software %>" seiseiVr="" seiseiDay="" seiseiNM="" koshinSoft="" koshinVr="" koshinDay="" koshinNM="" taari="">
1
+ <R0102AG120 xmlns="http://eltax.jp/HOJIN_DOFUKEN" vr="120" page="" seiseiSoft="<%= @software %>" seiseiVr="1" seiseiDay="<%= Date.today.strftime('%Y%m%d') %>" seiseiNM="<%= it_part_config('nozeisha_nm') %>" koshinSoft="" koshinVr="" koshinDay="" koshinNM="" taari="">
2
2
  <AGA_JIGYO_SDATE idref="SDATE">
3
3
  <gen:era></gen:era><gen:yy></gen:yy><gen:mm></gen:mm><gen:dd></gen:dd>
4
4
  <gen:yyyymmdd></gen:yyyymmdd>
@@ -1,4 +1,4 @@
1
- <R0102AM190 xmlns="http://eltax.jp/HOJIN_DOFUKEN" vr="190" page="" seiseiSoft="<%= @software %>" seiseiVr="" seiseiDay="" seiseiNM="" koshinSoft="" koshinVr="" koshinDay="" koshinNM="" taari="">
1
+ <R0102AM190 xmlns="http://eltax.jp/HOJIN_DOFUKEN" vr="190" page="" seiseiSoft="<%= @software %>" seiseiVr="1" seiseiDay="<%= Date.today.strftime('%Y%m%d') %>" seiseiNM="<%= it_part_config('nozeisha_nm') %>" koshinSoft="" koshinVr="" koshinDay="" koshinNM="" taari="">
2
2
  <AMA_JIGYO_SDATE idref="SDATE">
3
3
  <gen:era></gen:era><gen:yy></gen:yy><gen:mm></gen:mm><gen:dd></gen:dd>
4
4
  <gen:yyyymmdd></gen:yyyymmdd>
@@ -29,7 +29,7 @@
29
29
  <%= render_attr('AMB00430', 期首繰越損失) %>
30
30
  <%= render_attr('AMB00440', 当期控除計) %>
31
31
  <%= render_attr('AMB00450', 翌期繰越損失) %>
32
- <AMB00325 />
32
+ <AMB00325>1</AMB00325>
33
33
  <%= render_attr('AMB00330', 当期繰越損失) %>
34
34
  <AMB00360 />
35
35
  <AMB00365 />
@@ -1,4 +1,4 @@
1
- <R0102AA190 xmlns="http://eltax.jp/HOJIN_DOFUKEN" vr="190" page="" seiseiSoft="<%= @software %>" seiseiVr="" seiseiDay="" seiseiNM="" koshinSoft="" koshinVr="" koshinDay="" koshinNM="" taari="">
1
+ <R0102AA190 xmlns="http://eltax.jp/HOJIN_DOFUKEN" vr="190" page="" seiseiSoft="<%= @software %>" seiseiVr="1" seiseiDay="<%= Date.today.strftime('%Y%m%d') %>" seiseiNM="<%= it_part_config('nozeisha_nm') %>" koshinSoft="" koshinVr="" koshinDay="" koshinNM="" taari="">
2
2
  <AAA00100 idref="SEIRI_NUM" />
3
3
  <AAA00200 idref="JIMUSHO_NUM"></AAA00200>
4
4
  <AAA00300 idref="HOJIN_NUM"></AAA00300>
@@ -41,9 +41,9 @@
41
41
  <AAA_SHIHON idref="SHIHON"></AAA_SHIHON>
42
42
  <AAA_SHIHON3></AAA_SHIHON3>
43
43
  <AAA_SHIHON4></AAA_SHIHON4>
44
- <AAA_SHIHON2 />
45
- <AAA_SHIHON5></AAA_SHIHON5>
46
- <AAA_SHIHON6></AAA_SHIHON6>
44
+ <AAA_SHIHON2><%= @資本金準備金 %></AAA_SHIHON2>
45
+ <AAA_SHIHON5><%= @資本金準備金 %></AAA_SHIHON5>
46
+ <AAA_SHIHON6><%= @資本金準備金 %></AAA_SHIHON6>
47
47
  <AAA_JIGYO_SDATE idref="SDATE">
48
48
  <gen:era></gen:era>
49
49
  <gen:yy></gen:yy>
@@ -155,7 +155,7 @@
155
155
  <%= render_attr('AAF00700', @繰越損失管理.deduction) %>
156
156
  <%= render_attr('AAG00100', 所得金額) %>
157
157
  <AAH00100 />
158
- <AAH00200 />
158
+ <AAH00200><%= 中間還付税額(@確定法人税割, @法人税割中間納付) + 中間還付税額(@所得割, 事業税中間納付) + 中間還付税額(地方法人特別税(@所得割), @地方特別法人事業税中間納付) %></AAH00200>
159
159
  <AAH00400><%= eltax_kouza %></AAH00400>
160
160
  <AAI00100>
161
161
  <gen:era />
@@ -175,8 +175,8 @@
175
175
  <gen:mm />
176
176
  <gen:dd />
177
177
  </AAI01000>
178
- <AAI00600 />
179
- <AAI00500 />
178
+ <AAI00600>2</AAI00600>
179
+ <AAI00500>2</AAI00500>
180
180
  <AAI00200>
181
181
  <gen:era />
182
182
  <gen:yy />
@@ -189,9 +189,9 @@
189
189
  <gen:mm />
190
190
  <gen:dd />
191
191
  </AAI00300>
192
- <AAI00400 />
193
- <AAI00450 />
194
- <AAI00700 />
192
+ <AAI00400>1</AAI00400>
193
+ <AAI00450><%= @税額.dig(:houjin, :kokuzei) %></AAI00450>
194
+ <AAI00700><%= @税額.dig(:houjin, :kokuzei) > 200000 ? 1 : 2 %></AAI00700>
195
195
  <AAI00800 />
196
196
  <AAJ_DAIRI_NAME></AAJ_DAIRI_NAME>
197
197
  <AAJ_DAIRI_TEL_NUM></AAJ_DAIRI_TEL_NUM>
@@ -21,14 +21,14 @@
21
21
  <gen:yy><%= wareki(@start_date) %></gen:yy>
22
22
  <gen:mm><%= @start_date.month %></gen:mm>
23
23
  <gen:dd><%= @start_date.day %></gen:dd>
24
- <gen:yyyymmdd></gen:yyyymmdd>
24
+ <gen:yyyymmdd><%= @start_date.strftime('%Y%m%d') %></gen:yyyymmdd>
25
25
  </SDATE>
26
26
  <EDATE id="EDATE">
27
27
  <gen:era><%= gengou(@end_date) %></gen:era>
28
28
  <gen:yy><%= wareki(@end_date) %></gen:yy>
29
29
  <gen:mm><%= @end_date.month %></gen:mm>
30
30
  <gen:dd><%= @end_date.day %></gen:dd>
31
- <gen:yyyymmdd></gen:yyyymmdd >
31
+ <gen:yyyymmdd><%= @end_date.strftime('%Y%m%d') %></gen:yyyymmdd >
32
32
  </EDATE>
33
33
  <RPT_DATE id="RPT_DATE">
34
34
  <gen:era><%= gengou(@issue_date) %></gen:era>
@@ -74,15 +74,15 @@
74
74
  <KAZEI_TEL id="KAZEI_TEL" />
75
75
  <HOGEN_NUM id="HOGEN_NUM" />
76
76
  <KANRI_NUM id="KANRI_NUM" />
77
- <KAZEI_NUM id="KAZEI_NUM"></KAZEI_NUM>
77
+ <KAZEI_NUM id="KAZEI_NUM"><%= eltax_config('x_houjin_bango') %></KAZEI_NUM>
78
78
  <HOJO_NUM id="HOJO_NUM" />
79
79
  <STF_NUM id="STF_NUM" />
80
80
  </ORG_INF>
81
- <STIME id="STIME"></STIME>
81
+ <STIME id="STIME"><%= @app_version %></STIME>
82
82
  <HOJIN_DOFUKEN id="HOJIN_DOFUKEN">
83
83
  <FORM_INF id="FORM_INF">
84
- <JIGYO_NAME id="JIGYO_NAME"></JIGYO_NAME>
85
- <SHIHON id="SHIHON"></SHIHON>
84
+ <JIGYO_NAME id="JIGYO_NAME"><%= it_part_config('jigyo_naiyo') %></JIGYO_NAME>
85
+ <SHIHON id="SHIHON"><%= it_part_config('shihon_kin') %></SHIHON>
86
86
  <HOJIN_NUM id="HOJIN_NUM"></HOJIN_NUM>
87
87
  <JIMUSHO_NUM id="JIMUSHO_NUM"><%= @jimusho_code %></JIMUSHO_NUM>
88
88
  <SEIRI_NUM id="SEIRI_NUM" />
@@ -104,7 +104,7 @@
104
104
  <SYSTEM_INF id="SYSTEM_INF">
105
105
  <SYSTEM_DATA id="SYSTEM_DATA"></SYSTEM_DATA>
106
106
  <NOUZEI_UPDATE id="NOUZEI_UPDATE">
107
- <SDATE></SDATE>
107
+ <SDATE><%= DateTime.now.strftime('%Y%m%d%H%M%S') %></SDATE>
108
108
  <UDATE></UDATE>
109
109
  <SIGN_DATE></SIGN_DATE>
110
110
  <SEND_DATE></SEND_DATE>
@@ -11,6 +11,7 @@
11
11
  </IAA02000>
12
12
  <IAA02300 IDREF="NOZEISHA_BANGO"/>
13
13
  </IAA00000>
14
+ <%= render_attr('IAS00000', it_part_config('jigyo_naiyo')) %>
14
15
  <IAF00000>
15
16
  <IAF04000>
16
17
  <%= render_attr('IAF04200', 消費税課税売上高) %>
@@ -4,6 +4,7 @@
4
4
  <MAA00020 IDREF="JIGYO_NENDO_FROM"/>
5
5
  <MAA00030 IDREF="JIGYO_NENDO_TO"/>
6
6
  </MAA00010>
7
+ <MAA00040><kubun_CD>1</kubun_CD></MAA00040>
7
8
  <MAA00050 IDREF="TEISYUTSU_DAY"/>
8
9
  <MAA00060 IDREF="ZEIMUSHO"/>
9
10
  <MAA00070 IDREF="NOZEISHA_ADR"/>
@@ -14,6 +15,7 @@
14
15
  </MAA00090>
15
16
  <MAA00115 IDREF="NOZEISHA_BANGO"/>
16
17
  <MAA00120 IDREF="SHIHON_KIN"/>
18
+ <%= render_attr('MAA00130', @別表四調整所得 - @繰越損失管理.deduction) %>
17
19
  <MAA00140>
18
20
  <%= render_attr('MAA00150', 1) %>
19
21
  <%= render_attr('MAA00160', 1) %>
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'json'
4
+ require 'cgi/escape'
5
+ require 'luca_deal'
6
+ require 'luca_support'
7
+ require 'luca_support/config'
8
+ require 'luca/jp'
9
+
10
+ module Luca
11
+ module Jp
12
+ class Urikake < LucaDeal::Invoice
13
+ @dirname = 'invoices'
14
+
15
+ def report(total = nil)
16
+ listed_amount = 0
17
+ str = CSV.generate(String.new, headers: false, col_sep: ',', encoding: 'UTF-8') do |f|
18
+ list.map do |invoice|
19
+ amount = readable(invoice.dig('subtotal', 0, 'items') + invoice.dig('subtotal', 0, 'tax'))
20
+ listed_amount += amount
21
+ f << ['3', '0', '売掛金', invoice.dig('customer', 'name'), invoice.dig('customer', 'address'), amount, nil ]
22
+ end
23
+ if total
24
+ f << ['3', '0', '売掛金', 'その他', nil, total - listed_amount, nil ]
25
+ f << ['3', '1', nil, nil, nil, total, nil ]
26
+ end
27
+ end
28
+ File.open('HOI030_3.0.csv', 'w') { |f| f.write(str) }
29
+ end
30
+
31
+ def list
32
+ invoices = self.class.asof(@date.year, @date.month)
33
+ .map { |dat, _path| dat }
34
+ .sort_by { |invoice| invoice.dig('subtotal', 0, 'items') }
35
+ .reverse
36
+
37
+ reports = invoices.filter { |invoice| 500_000 <= invoice['subtotal'].inject(0) { |sum, i| sum + i['items'] + i['tax'] } }
38
+ return reports if reports.length >= 5
39
+
40
+ additional = invoices
41
+ .filter { |invoice| 500_000 > invoice['subtotal'].inject(0) { |sum, i| sum + i['items'] + i['tax'] } }
42
+ .take(5 - reports.length)
43
+ reports.concat(additional)
44
+ end
45
+ end
46
+ end
47
+ end
data/lib/luca/jp/util.rb CHANGED
@@ -54,6 +54,8 @@ module Luca
54
54
  end
55
55
 
56
56
  def render_attr(code, val)
57
+ return '' if val.nil? || val.to_s.length == 0
58
+
57
59
  "<#{code}>#{val}</#{code}>"
58
60
  end
59
61
 
@@ -69,6 +71,10 @@ module Luca
69
71
  config.dig('jp', 'it_part', key)
70
72
  end
71
73
 
74
+ def beppyo2_config(key)
75
+ config.dig('jp', 'beppyo2', key)
76
+ end
77
+
72
78
  def eltax_config(key)
73
79
  config.dig('jp', 'eltax', key)
74
80
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Luca
4
4
  module Jp
5
- VERSION = '0.1.7'
5
+ VERSION = '0.1.8'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: luca-jp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chuma Takahiro
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-25 00:00:00.000000000 Z
11
+ date: 2021-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lucabook
@@ -110,6 +110,7 @@ files:
110
110
  - lib/luca/jp/templates/tekiyougaku.xml.erb
111
111
  - lib/luca/jp/templates/yakuin-meisai.xml.erb
112
112
  - lib/luca/jp/templates/yokin-meisai.xml.erb
113
+ - lib/luca/jp/urikake.rb
113
114
  - lib/luca/jp/util.rb
114
115
  - lib/luca/jp/version.rb
115
116
  homepage: https://github.com/chumaltd/luca-jp/tree/main