mcalendar 0.3.4 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|