zakuro 0.0.0

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 (61) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +9 -0
  3. data/.gitignore +69 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +14 -0
  6. data/.travis.yml +6 -0
  7. data/Gemfile +19 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +44 -0
  10. data/Rakefile +20 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/images/12/346/234/210/344/273/245/351/231/215/343/201/256/345/205/245/345/256/232/346/260/227.png +0 -0
  14. data/images/12/346/234/210/344/273/245/351/231/215/343/201/256/346/234/210/343/201/256/351/200/262/351/200/200.png +0 -0
  15. data/images/source/description.numbers +0 -0
  16. data/images//345/205/245/345/256/232/346/260/227/343/201/256/350/265/267/347/256/227.png +0 -0
  17. data/images//345/220/204/346/234/210/343/201/256/346/261/202/343/202/201/346/226/271.png +0 -0
  18. data/images//345/244/252/351/231/275/343/201/250/346/234/210.png +0 -0
  19. data/lib/zakuro.rb +9 -0
  20. data/lib/zakuro/condition.rb +239 -0
  21. data/lib/zakuro/cycle/abstract_remainder.rb +457 -0
  22. data/lib/zakuro/cycle/zodiac.rb +103 -0
  23. data/lib/zakuro/era/gengou/set-001-until-south.yaml +375 -0
  24. data/lib/zakuro/era/gengou/set-002-from-north.yaml +166 -0
  25. data/lib/zakuro/era/gengou/set-003-modern.yaml +12 -0
  26. data/lib/zakuro/era/japan.rb +630 -0
  27. data/lib/zakuro/era/western.rb +412 -0
  28. data/lib/zakuro/merchant.rb +57 -0
  29. data/lib/zakuro/output/error.rb +10 -0
  30. data/lib/zakuro/output/logger.rb +64 -0
  31. data/lib/zakuro/output/response.rb +170 -0
  32. data/lib/zakuro/output/result.rb +219 -0
  33. data/lib/zakuro/output/stringifier.rb +62 -0
  34. data/lib/zakuro/version.rb +7 -0
  35. data/lib/zakuro/version/abstract_version.rb +29 -0
  36. data/lib/zakuro/version/genka/genka.rb +19 -0
  37. data/lib/zakuro/version/gihou/gihou.rb +19 -0
  38. data/lib/zakuro/version/gregorio/gregorio.rb +19 -0
  39. data/lib/zakuro/version/houryaku/houryaku.rb +19 -0
  40. data/lib/zakuro/version/joukyou/joukyou.rb +19 -0
  41. data/lib/zakuro/version/kansei/kansei.rb +19 -0
  42. data/lib/zakuro/version/senmyou/README.md +586 -0
  43. data/lib/zakuro/version/senmyou/base/era.rb +81 -0
  44. data/lib/zakuro/version/senmyou/base/gengou.rb +210 -0
  45. data/lib/zakuro/version/senmyou/base/remainder.rb +60 -0
  46. data/lib/zakuro/version/senmyou/base/solar_term.rb +66 -0
  47. data/lib/zakuro/version/senmyou/base/year.rb +58 -0
  48. data/lib/zakuro/version/senmyou/monthly/lunar_phase.rb +220 -0
  49. data/lib/zakuro/version/senmyou/monthly/month.rb +112 -0
  50. data/lib/zakuro/version/senmyou/senmyou.rb +34 -0
  51. data/lib/zakuro/version/senmyou/stella/lunar_orbit.rb +332 -0
  52. data/lib/zakuro/version/senmyou/stella/solar_average.rb +192 -0
  53. data/lib/zakuro/version/senmyou/stella/solar_orbit.rb +398 -0
  54. data/lib/zakuro/version/senmyou/stella/winter_solstice.rb +106 -0
  55. data/lib/zakuro/version/senmyou/summary/annual_data.rb +186 -0
  56. data/lib/zakuro/version/senmyou/summary/gengou_data.rb +294 -0
  57. data/lib/zakuro/version/taien/taien.rb +19 -0
  58. data/lib/zakuro/version/tenpou/tenpou.rb +19 -0
  59. data/lib/zakuro/version_factory.rb +59 -0
  60. data/zakuro.gemspec +31 -0
  61. metadata +106 -0
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../abstract_version'
4
+
5
+ # :nodoc:
6
+ module Zakuro
7
+ #
8
+ # Taien 大衍暦
9
+ #
10
+ module Taien
11
+ #
12
+ # Gateway アクセサメソッド群
13
+ #
14
+ class Gateway < AbstractVersion
15
+ # @return [False] リリースなし
16
+ RELEASE = false
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../abstract_version'
4
+
5
+ # :nodoc:
6
+ module Zakuro
7
+ #
8
+ # Tenpou 天保暦
9
+ #
10
+ module Tenpou
11
+ #
12
+ # Gateway アクセサメソッド群
13
+ #
14
+ class Gateway < AbstractVersion
15
+ # @return [False] リリースなし
16
+ RELEASE = false
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative './era/japan'
4
+ require_relative './era/western'
5
+ require_relative './version/genka/genka'
6
+ require_relative './version/gihou/gihou'
7
+ require_relative './version/taien/taien'
8
+ require_relative './version/senmyou/senmyou'
9
+ require_relative './version/joukyou/joukyou'
10
+ require_relative './version/houryaku/houryaku'
11
+ require_relative './version/kansei/kansei'
12
+ require_relative './version/tenpou/tenpou'
13
+ require_relative './version/gregorio/gregorio'
14
+
15
+ # :nodoc:
16
+ module Zakuro
17
+ #
18
+ # VersionFactory 暦生成
19
+ #
20
+ class VersionFactory
21
+ # :reek:TooManyStatements { max_statements: 6 }
22
+ # :reek:UncommunicativeVariableName {accept: e}
23
+
24
+ #
25
+ # 実行可能な暦を取得する
26
+ #
27
+ # @param [Date] date 西暦日
28
+ #
29
+ # @return [AbstractVersion] 暦クラス
30
+ #
31
+ def self.get_runnable_constant(date:)
32
+ class_name = Japan::Reki.class_name(
33
+ date: Western::Calendar.create(date: date)
34
+ )
35
+ constant = Object.const_get(class_name)
36
+ raise ArgumentError, 'unreleased version' unless constant::RELEASE
37
+
38
+ constant
39
+ rescue StandardError => e
40
+ raise e
41
+ end
42
+
43
+ # :reek:UncommunicativeVariableName {accept: e}
44
+
45
+ #
46
+ # 西暦日から和暦日に変換する
47
+ #
48
+ # @param [Date] western_date 西暦日
49
+ #
50
+ # @return [Result::SingleDay] 和暦日
51
+ #
52
+ def self.to_japan_date(western_date:)
53
+ runnable = VersionFactory.get_runnable_constant(date: western_date)
54
+ runnable.to_japan_date(western_date: western_date)
55
+ rescue StandardError => e
56
+ raise ZakuroError, e.message
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'lib/zakuro/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'zakuro'
7
+ spec.version = Zakuro::VERSION
8
+ spec.authors = ['pldb']
9
+ spec.email = ['pldb.github@gmail.com']
10
+
11
+ spec.summary = 'japanese calendar library.'
12
+ spec.description = 'mainly lunar solar calendar'
13
+ spec.homepage = 'https://github.com/pldb/zakuro'
14
+ spec.license = 'MIT'
15
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.6.0')
16
+
17
+ spec.metadata['allowed_push_host'] = 'https://rubygems.org/'
18
+
19
+ spec.metadata['homepage_uri'] = spec.homepage
20
+ spec.metadata['source_code_uri'] = 'https://github.com/pldb/zakuro'
21
+ spec.metadata['changelog_uri'] = 'https://github.com/pldb/zakuro'
22
+
23
+ # Specify which files should be added to the gem when it is released.
24
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
26
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
27
+ end
28
+ spec.bindir = 'exe'
29
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
30
+ spec.require_paths = ['lib']
31
+ end
metadata ADDED
@@ -0,0 +1,106 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: zakuro
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - pldb
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2020-08-01 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: mainly lunar solar calendar
14
+ email:
15
+ - pldb.github@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - ".editorconfig"
21
+ - ".gitignore"
22
+ - ".rspec"
23
+ - ".rubocop.yml"
24
+ - ".travis.yml"
25
+ - Gemfile
26
+ - LICENSE.txt
27
+ - README.md
28
+ - Rakefile
29
+ - bin/console
30
+ - bin/setup
31
+ - images/12月以降の入定気.png
32
+ - images/12月以降の月の進退.png
33
+ - images/source/description.numbers
34
+ - images/入定気の起算.png
35
+ - images/各月の求め方.png
36
+ - images/太陽と月.png
37
+ - lib/zakuro.rb
38
+ - lib/zakuro/condition.rb
39
+ - lib/zakuro/cycle/abstract_remainder.rb
40
+ - lib/zakuro/cycle/zodiac.rb
41
+ - lib/zakuro/era/gengou/set-001-until-south.yaml
42
+ - lib/zakuro/era/gengou/set-002-from-north.yaml
43
+ - lib/zakuro/era/gengou/set-003-modern.yaml
44
+ - lib/zakuro/era/japan.rb
45
+ - lib/zakuro/era/western.rb
46
+ - lib/zakuro/merchant.rb
47
+ - lib/zakuro/output/error.rb
48
+ - lib/zakuro/output/logger.rb
49
+ - lib/zakuro/output/response.rb
50
+ - lib/zakuro/output/result.rb
51
+ - lib/zakuro/output/stringifier.rb
52
+ - lib/zakuro/version.rb
53
+ - lib/zakuro/version/abstract_version.rb
54
+ - lib/zakuro/version/genka/genka.rb
55
+ - lib/zakuro/version/gihou/gihou.rb
56
+ - lib/zakuro/version/gregorio/gregorio.rb
57
+ - lib/zakuro/version/houryaku/houryaku.rb
58
+ - lib/zakuro/version/joukyou/joukyou.rb
59
+ - lib/zakuro/version/kansei/kansei.rb
60
+ - lib/zakuro/version/senmyou/README.md
61
+ - lib/zakuro/version/senmyou/base/era.rb
62
+ - lib/zakuro/version/senmyou/base/gengou.rb
63
+ - lib/zakuro/version/senmyou/base/remainder.rb
64
+ - lib/zakuro/version/senmyou/base/solar_term.rb
65
+ - lib/zakuro/version/senmyou/base/year.rb
66
+ - lib/zakuro/version/senmyou/monthly/lunar_phase.rb
67
+ - lib/zakuro/version/senmyou/monthly/month.rb
68
+ - lib/zakuro/version/senmyou/senmyou.rb
69
+ - lib/zakuro/version/senmyou/stella/lunar_orbit.rb
70
+ - lib/zakuro/version/senmyou/stella/solar_average.rb
71
+ - lib/zakuro/version/senmyou/stella/solar_orbit.rb
72
+ - lib/zakuro/version/senmyou/stella/winter_solstice.rb
73
+ - lib/zakuro/version/senmyou/summary/annual_data.rb
74
+ - lib/zakuro/version/senmyou/summary/gengou_data.rb
75
+ - lib/zakuro/version/taien/taien.rb
76
+ - lib/zakuro/version/tenpou/tenpou.rb
77
+ - lib/zakuro/version_factory.rb
78
+ - zakuro.gemspec
79
+ homepage: https://github.com/pldb/zakuro
80
+ licenses:
81
+ - MIT
82
+ metadata:
83
+ allowed_push_host: https://rubygems.org/
84
+ homepage_uri: https://github.com/pldb/zakuro
85
+ source_code_uri: https://github.com/pldb/zakuro
86
+ changelog_uri: https://github.com/pldb/zakuro
87
+ post_install_message:
88
+ rdoc_options: []
89
+ require_paths:
90
+ - lib
91
+ required_ruby_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: 2.6.0
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ requirements: []
102
+ rubygems_version: 3.0.3
103
+ signing_key:
104
+ specification_version: 4
105
+ summary: japanese calendar library.
106
+ test_files: []