mcalendar 0.3.4 → 0.3.5
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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/lib/mcalendar/command.rb +2 -4
- data/lib/mcalendar/config.rb +40 -35
- data/lib/mcalendar/holiday.rb +59 -27
- data/lib/mcalendar/options.rb +7 -7
- data/lib/mcalendar/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 27619fc0c5bfa245496da8f7c40af714931a96274b6f3eacbd383cf97a749aef
|
4
|
+
data.tar.gz: 45cbfb1b5e59b75c57b50889d82948401b9c80d8037ba5d7da59964020baf78e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 668ed5dda0d31695fe02b2b8946e858cf10b516a9bbc6317eacfd6f8e0d1d972a262ceb787d02a5b2fc8c4ce8c25b34309786f7980fcee02e8efbee87dc8c752
|
7
|
+
data.tar.gz: 9871a3699694fde7f6d8f1bcab59328620403f86744bd15c00fd4dd25f1adb8bfc13602f6b2e5e3ac4efaa8c15cf33b92abf5f3881687cfed981f7f72a9dc990
|
data/.gitignore
CHANGED
data/lib/mcalendar/command.rb
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
module Mcalendar
|
4
4
|
class Command
|
5
|
-
|
6
5
|
def self.run(argv)
|
7
6
|
new(argv).execute
|
8
7
|
end
|
@@ -12,12 +11,12 @@ module Mcalendar
|
|
12
11
|
end
|
13
12
|
|
14
13
|
def execute
|
15
|
-
|
16
14
|
options = Mcalendar::Options.parse(@argv)
|
17
15
|
date = options[:date]
|
18
16
|
console = options[:opt][:console]
|
19
17
|
pdf = options[:opt][:pdf]
|
20
18
|
pdf_name = options[:opt][:name]
|
19
|
+
version = options[:opt][:version]
|
21
20
|
calendar = Mcalendar::Calendar.new(date.year, date.month, pdf_name)
|
22
21
|
|
23
22
|
# output calendar
|
@@ -25,11 +24,10 @@ module Mcalendar
|
|
25
24
|
calendar.pdf if pdf
|
26
25
|
|
27
26
|
# both outputs if no options
|
28
|
-
if console.nil? && pdf.nil?
|
27
|
+
if console.nil? && pdf.nil? && version.nil?
|
29
28
|
calendar.display
|
30
29
|
calendar.pdf
|
31
30
|
end
|
32
|
-
|
33
31
|
end
|
34
32
|
end
|
35
33
|
end
|
data/lib/mcalendar/config.rb
CHANGED
@@ -1,33 +1,33 @@
|
|
1
1
|
module Mcalendar
|
2
2
|
COLOR = {
|
3
|
-
white:
|
4
|
-
silver:
|
5
|
-
gray:
|
6
|
-
black:
|
7
|
-
red:
|
8
|
-
maroon:
|
9
|
-
yellow:
|
10
|
-
olive:
|
11
|
-
lime:
|
12
|
-
green:
|
13
|
-
aqua:
|
14
|
-
teal:
|
15
|
-
blue:
|
16
|
-
navy:
|
17
|
-
fuchsia:
|
18
|
-
purple:
|
19
|
-
orange:
|
20
|
-
}
|
3
|
+
white: "FFFFFF",
|
4
|
+
silver: "C0C0C0",
|
5
|
+
gray: "808080",
|
6
|
+
black: "000000",
|
7
|
+
red: "FF0000",
|
8
|
+
maroon: "800000",
|
9
|
+
yellow: "FFFF00",
|
10
|
+
olive: "808000",
|
11
|
+
lime: "00FF00",
|
12
|
+
green: "008000",
|
13
|
+
aqua: "00FFFF",
|
14
|
+
teal: "008080",
|
15
|
+
blue: "0000FF",
|
16
|
+
navy: "000080",
|
17
|
+
fuchsia: "FF00FF",
|
18
|
+
purple: "800080",
|
19
|
+
orange: "FFA500",
|
20
|
+
}.freeze
|
21
21
|
|
22
|
-
DAY_OF_WEEK = [
|
23
|
-
DEFAULT_PDF_NAME = "calendar.pdf"
|
22
|
+
DAY_OF_WEEK = %w[Sun Mon Tue Wed Thu Fri Sat].freeze
|
23
|
+
DEFAULT_PDF_NAME = "calendar.pdf".freeze
|
24
24
|
|
25
25
|
Config_day = Struct.new(
|
26
|
-
"ConfigDay",
|
27
|
-
:day,
|
28
|
-
:day_color,
|
29
|
-
:holiday_text,
|
30
|
-
:anniversary_text
|
26
|
+
"ConfigDay",
|
27
|
+
:day,
|
28
|
+
:day_color,
|
29
|
+
:holiday_text,
|
30
|
+
:anniversary_text
|
31
31
|
)
|
32
32
|
|
33
33
|
module Config
|
@@ -36,6 +36,7 @@ module Mcalendar
|
|
36
36
|
# @end_of_month = obj_calendar.end_of_month
|
37
37
|
|
38
38
|
@days_config = Hash.new(nil)
|
39
|
+
holiday_description_language
|
39
40
|
days_basic
|
40
41
|
holiday
|
41
42
|
anniversary
|
@@ -48,11 +49,16 @@ module Mcalendar
|
|
48
49
|
end
|
49
50
|
end
|
50
51
|
|
52
|
+
def holiday_description_language
|
53
|
+
Mcalendar.const_set(:HOLIDAY, Mcalendar::EN::HOLIDAY)
|
54
|
+
Mcalendar.const_set(:ANNIVERSARY, Mcalendar::EN::ANNIVERSARY)
|
55
|
+
end
|
56
|
+
|
51
57
|
def holiday
|
52
|
-
y = "%4d"
|
53
|
-
m = "%02d"
|
58
|
+
y = format("%4d", @first_of_month.year)
|
59
|
+
m = format("%02d", @first_of_month.month)
|
54
60
|
regex = /#{y}#{m}\d\d/
|
55
|
-
|
61
|
+
|
56
62
|
Mcalendar::HOLIDAY.keys.grep(regex).each do |d|
|
57
63
|
@days_config[d].day = Date.parse(d.to_s).day
|
58
64
|
@days_config[d].day_color = :red
|
@@ -61,10 +67,10 @@ module Mcalendar
|
|
61
67
|
end
|
62
68
|
|
63
69
|
def anniversary
|
64
|
-
y = "%4d"
|
65
|
-
m = "%02d"
|
70
|
+
y = format("%4d", @first_of_month.year)
|
71
|
+
m = format("%02d", @first_of_month.month)
|
66
72
|
regex = /#{y}#{m}\d\d/
|
67
|
-
|
73
|
+
|
68
74
|
Mcalendar::ANNIVERSARY.keys.grep(regex).each do |d|
|
69
75
|
@days_config[d].day = Date.parse(d.to_s).day
|
70
76
|
@days_config[d].anniversary_text = Mcalendar::ANNIVERSARY[d]
|
@@ -72,10 +78,9 @@ module Mcalendar
|
|
72
78
|
end
|
73
79
|
|
74
80
|
def days
|
75
|
-
pdf_days = @days_config.each_value.map {|val| val}
|
76
|
-
@first_of_month.wday.times {pdf_days.unshift(" ")}
|
81
|
+
pdf_days = @days_config.each_value.map { |val| val }
|
82
|
+
@first_of_month.wday.times { pdf_days.unshift(" ") }
|
77
83
|
pdf_days
|
78
84
|
end
|
79
|
-
|
80
85
|
end
|
81
|
-
end
|
86
|
+
end
|
data/lib/mcalendar/holiday.rb
CHANGED
@@ -1,31 +1,63 @@
|
|
1
1
|
module Mcalendar
|
2
|
+
module JA
|
3
|
+
# Japanese holidays in Japanese
|
4
|
+
HOLIDAY = {
|
5
|
+
"20200101": "元日",
|
6
|
+
"20200113": "成人の日",
|
7
|
+
"20200211": "建国記念の日",
|
8
|
+
"20200223": "天皇誕生日",
|
9
|
+
"20200224": "振替休日",
|
10
|
+
"20200320": "春分の日",
|
11
|
+
"20200429": "昭和の日",
|
12
|
+
"20200503": "憲法記念日",
|
13
|
+
"20200504": "みどりの日",
|
14
|
+
"20200505": "子供の日",
|
15
|
+
"20200506": "振替休日",
|
16
|
+
"20200723": "海の日",
|
17
|
+
"20200724": "スポーツの日",
|
18
|
+
"20200810": "山の日",
|
19
|
+
"20200921": "敬老の日",
|
20
|
+
"20200922": "秋分の日",
|
21
|
+
"20201103": "文化の日",
|
22
|
+
"20201123": "勤労感謝の日",
|
23
|
+
}.freeze
|
2
24
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
"20200320": "Vernal Equinox Day",
|
11
|
-
"20200429": "Showa Day",
|
12
|
-
"20200503": "Constitution Memorial Day",
|
13
|
-
"20200504": "Greenery Day",
|
14
|
-
"20200505": "Children's Day",
|
15
|
-
"20200506": "Substitute Holiday",
|
16
|
-
"20200723": "Marine Day",
|
17
|
-
"20200724": "Sports Day",
|
18
|
-
"20200810": "Mountain Day",
|
19
|
-
"20200921": "Respect for the Aged Day",
|
20
|
-
"20200922": "Autumnal Equinox Day",
|
21
|
-
"20201103": "Culture Day",
|
22
|
-
"20201123": "Labour Thanksgiving Day"
|
23
|
-
}
|
25
|
+
ANNIVERSARY = {
|
26
|
+
"20200224": "Rubyの誕生日",
|
27
|
+
"20200409": "RubyKaigi 2020 Nagano",
|
28
|
+
"20200410": "RubyKaigi 2020 Nagano",
|
29
|
+
"20200411": "RubyKaigi 2020 Nagano",
|
30
|
+
}.freeze
|
31
|
+
end
|
24
32
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
33
|
+
module EN
|
34
|
+
# Japanese holidays in English
|
35
|
+
HOLIDAY = {
|
36
|
+
"20200101": "New Year's Day",
|
37
|
+
"20200113": "Coming-of-age Day",
|
38
|
+
"20200211": "National Foundation Day",
|
39
|
+
"20200223": "Emperor's Birthday",
|
40
|
+
"20200224": "Substitute Holiday",
|
41
|
+
"20200320": "Vernal Equinox Day",
|
42
|
+
"20200429": "Showa Day",
|
43
|
+
"20200503": "Constitution Memorial Day",
|
44
|
+
"20200504": "Greenery Day",
|
45
|
+
"20200505": "Children's Day",
|
46
|
+
"20200506": "Substitute Holiday",
|
47
|
+
"20200723": "Marine Day",
|
48
|
+
"20200724": "Sports Day",
|
49
|
+
"20200810": "Mountain Day",
|
50
|
+
"20200921": "Respect for the Aged Day",
|
51
|
+
"20200922": "Autumnal Equinox Day",
|
52
|
+
"20201103": "Culture Day",
|
53
|
+
"20201123": "Labour Thanksgiving Day",
|
54
|
+
}.freeze
|
55
|
+
|
56
|
+
ANNIVERSARY = {
|
57
|
+
"20200224": "Ruby's Birthday",
|
58
|
+
"20200409": "RubyKaigi 2020 Nagano",
|
59
|
+
"20200410": "RubyKaigi 2020 Nagano",
|
60
|
+
"20200411": "RubyKaigi 2020 Nagano",
|
61
|
+
}.freeze
|
62
|
+
end
|
31
63
|
end
|
data/lib/mcalendar/options.rb
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
module Mcalendar
|
2
2
|
module Options
|
3
|
-
|
4
3
|
def self.parse(argv)
|
5
4
|
options = {}
|
6
5
|
|
7
6
|
parser = OptionParser.new do |o|
|
8
|
-
o.on_head(
|
7
|
+
o.on_head("-v", "--version", "Show version") do |v|
|
8
|
+
options[:version] = v
|
9
9
|
o.version = Mcalendar::VERSION
|
10
10
|
puts o.version
|
11
11
|
end
|
12
|
-
o.on(
|
13
|
-
o.on(
|
14
|
-
o.on(
|
12
|
+
o.on("-p", "--pdf", "output pdf") { |v| options[:pdf] = v }
|
13
|
+
o.on("-n NAME", "--name=NAME", String, "output pdf name") { |v| options[:name] = v }
|
14
|
+
o.on("-c", "--console", "output console") { |v| options[:console] = v }
|
15
15
|
end
|
16
16
|
|
17
17
|
begin
|
@@ -24,14 +24,14 @@ module Mcalendar
|
|
24
24
|
options[:name] = Mcalendar::DEFAULT_PDF_NAME
|
25
25
|
end
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
begin
|
29
29
|
d = Date.parse(remained.first)
|
30
30
|
rescue
|
31
31
|
d = Date.today
|
32
32
|
end
|
33
33
|
|
34
|
-
{date: d, opt: options}
|
34
|
+
{ date: d, opt: options }
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
data/lib/mcalendar/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mcalendar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- icm7216
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-02-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-unit
|