mcalendar 0.3.3 → 0.3.4
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/README.md +2 -2
- data/lib/mcalendar/calendar.rb +2 -2
- data/lib/mcalendar/config.rb +40 -39
- data/lib/mcalendar/output_pdf.rb +21 -13
- 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: 21ef82a6c59eecbb2f6352fcdd3c07319ba97b7c0171c3e0f62acd2af9cf2b69
|
4
|
+
data.tar.gz: a0964b22fc234f1c30e4ff849891cc9e87ce4df0d0fd1b319fb7b7ab33371f38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 937ead03075cbc8f91df5051cb1b4ba8c20f64bcad713f213c328e3a7dc285aa3404fc44a2bb5803fe49811456844020b12366c60a8c7a228ac43ce07fa3b0c2
|
7
|
+
data.tar.gz: 3d2082a57b49dce4647546899083832d7b9a8e7b754f0aa0a113c5a5142c8cc93f796510f96ba758bd76d6ffbc058a7814b5d58ddca665761e504707fc3f6246
|
data/README.md
CHANGED
data/lib/mcalendar/calendar.rb
CHANGED
@@ -15,14 +15,14 @@ module Mcalendar
|
|
15
15
|
|
16
16
|
def set_pdf_name(name)
|
17
17
|
if name.nil? || name.empty?
|
18
|
-
@pdf_name = Mcalendar::
|
18
|
+
@pdf_name = Mcalendar::DEFAULT_PDF_NAME
|
19
19
|
else
|
20
20
|
@pdf_name = name
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
24
|
def to_s
|
25
|
-
week_header = Mcalendar::
|
25
|
+
week_header = Mcalendar::DAY_OF_WEEK.join(" ")
|
26
26
|
month_header = @month_title.center(week_header.size).rstrip
|
27
27
|
calendar = [[week_header]]
|
28
28
|
@days.each_slice(7) {|x| calendar << [x.join(" ")]}
|
data/lib/mcalendar/config.rb
CHANGED
@@ -1,33 +1,39 @@
|
|
1
1
|
module Mcalendar
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
}
|
2
|
+
COLOR = {
|
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
|
+
}
|
22
21
|
|
23
|
-
|
24
|
-
|
22
|
+
DAY_OF_WEEK = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
|
23
|
+
DEFAULT_PDF_NAME = "calendar.pdf"
|
25
24
|
|
26
|
-
|
25
|
+
Config_day = Struct.new(
|
26
|
+
"ConfigDay",
|
27
|
+
:day,
|
28
|
+
:day_color,
|
29
|
+
:holiday_text,
|
30
|
+
:anniversary_text
|
31
|
+
)
|
27
32
|
|
28
|
-
|
29
|
-
|
30
|
-
@
|
33
|
+
module Config
|
34
|
+
def days_information
|
35
|
+
# @first_of_month = obj_calendar.first_of_month
|
36
|
+
# @end_of_month = obj_calendar.end_of_month
|
31
37
|
|
32
38
|
@days_config = Hash.new(nil)
|
33
39
|
days_basic
|
@@ -35,42 +41,37 @@ module Mcalendar
|
|
35
41
|
anniversary
|
36
42
|
end
|
37
43
|
|
38
|
-
def
|
44
|
+
def days_basic
|
39
45
|
(@first_of_month..@end_of_month).each do |date|
|
40
46
|
d_sym = date.strftime("%Y%m%d").to_sym
|
41
|
-
@days_config[d_sym] = Config_day.new(date.day,
|
47
|
+
@days_config[d_sym] = Config_day.new(date.day, :black, nil, nil)
|
42
48
|
end
|
43
49
|
end
|
44
50
|
|
45
|
-
def
|
51
|
+
def holiday
|
46
52
|
y = "%4d" % @first_of_month.year
|
47
53
|
m = "%02d" % @first_of_month.month
|
48
54
|
regex = /#{y}#{m}\d\d/
|
49
55
|
|
50
56
|
Mcalendar::HOLIDAY.keys.grep(regex).each do |d|
|
51
57
|
@days_config[d].day = Date.parse(d.to_s).day
|
52
|
-
@days_config[d].
|
53
|
-
@days_config[d].
|
58
|
+
@days_config[d].day_color = :red
|
59
|
+
@days_config[d].holiday_text = Mcalendar::HOLIDAY[d]
|
54
60
|
end
|
55
61
|
end
|
56
62
|
|
57
|
-
def
|
63
|
+
def anniversary
|
58
64
|
y = "%4d" % @first_of_month.year
|
59
65
|
m = "%02d" % @first_of_month.month
|
60
66
|
regex = /#{y}#{m}\d\d/
|
61
67
|
|
62
68
|
Mcalendar::ANNIVERSARY.keys.grep(regex).each do |d|
|
63
69
|
@days_config[d].day = Date.parse(d.to_s).day
|
64
|
-
|
65
|
-
@days_config[d].text += (", " + Mcalendar::ANNIVERSARY[d])
|
66
|
-
else
|
67
|
-
@days_config[d].text += Mcalendar::ANNIVERSARY[d]
|
68
|
-
end
|
69
|
-
@days_config[d].color = :black if @days_config[d].color != :red
|
70
|
+
@days_config[d].anniversary_text = Mcalendar::ANNIVERSARY[d]
|
70
71
|
end
|
71
72
|
end
|
72
73
|
|
73
|
-
def
|
74
|
+
def days
|
74
75
|
pdf_days = @days_config.each_value.map {|val| val}
|
75
76
|
@first_of_month.wday.times {pdf_days.unshift(" ")}
|
76
77
|
pdf_days
|
data/lib/mcalendar/output_pdf.rb
CHANGED
@@ -1,13 +1,16 @@
|
|
1
1
|
module Mcalendar
|
2
2
|
class OutputPdf < Prawn::Document
|
3
|
+
include Mcalendar::Config
|
3
4
|
|
4
5
|
def initialize(obj_calendar)
|
6
|
+
@first_of_month = obj_calendar.first_of_month
|
7
|
+
@end_of_month = obj_calendar.end_of_month
|
5
8
|
@month_header = [[obj_calendar.month_title]]
|
6
|
-
@day_of_week = [Mcalendar::
|
9
|
+
@day_of_week = [Mcalendar::DAY_OF_WEEK]
|
7
10
|
|
8
11
|
@pdf_days = []
|
9
|
-
|
10
|
-
@pdf_days =
|
12
|
+
days_information
|
13
|
+
@pdf_days = days
|
11
14
|
@calendar = @pdf_days.each_slice(7).map
|
12
15
|
@day_height = @calendar.size > 5 ? 20 : 20
|
13
16
|
@text_height = @calendar.size > 5 ? 30 : 40
|
@@ -29,15 +32,24 @@ module Mcalendar
|
|
29
32
|
cells.style(width: 79, height: 40, align: :center, size: 19)
|
30
33
|
row(0).padding_top = 10
|
31
34
|
row(0).padding_bottom = 0
|
32
|
-
cells[0, 0].text_color = Mcalendar::
|
35
|
+
cells[0, 0].text_color = Mcalendar::COLOR[:red]
|
33
36
|
end
|
34
37
|
end
|
35
38
|
|
36
39
|
def day_content
|
37
40
|
@calendar.each do |c|
|
38
41
|
row_day = c.map {|x| (x.class == Struct::ConfigDay) ? x.day : x}
|
39
|
-
row_color = c.map {|x| (x.class == Struct::ConfigDay) ? x.
|
40
|
-
row_text = c.map
|
42
|
+
row_color = c.map {|x| (x.class == Struct::ConfigDay) ? x.day_color : :black}
|
43
|
+
row_text = c.map do |x|
|
44
|
+
str = ""
|
45
|
+
if x.class == Struct::ConfigDay
|
46
|
+
holiday_str = %Q[<color rgb="#{Mcalendar::COLOR[:red]}">#{x.holiday_text}</color>\n]
|
47
|
+
anniversary_str = %Q[<color rgb="#{Mcalendar::COLOR[:green]}">#{x.anniversary_text}</color>]
|
48
|
+
str += holiday_str if x.holiday_text
|
49
|
+
str += anniversary_str if x.anniversary_text
|
50
|
+
end
|
51
|
+
str
|
52
|
+
end
|
41
53
|
|
42
54
|
table([row_day], cell_style: {height: @day_height}) do
|
43
55
|
cells.style(width: 79, align: :center, size: 19)
|
@@ -45,23 +57,19 @@ module Mcalendar
|
|
45
57
|
row(0).padding_top = 2
|
46
58
|
row(0).padding_bottom = 0
|
47
59
|
row_color.each_with_index do |color, index|
|
48
|
-
rows(0).columns(index).text_color = Mcalendar::
|
60
|
+
rows(0).columns(index).text_color = Mcalendar::COLOR[color]
|
49
61
|
end
|
50
|
-
column(0).map {|col| col.text_color = Mcalendar::
|
62
|
+
column(0).map {|col| col.text_color = Mcalendar::COLOR[:red]}
|
51
63
|
end
|
52
64
|
|
53
65
|
table([row_text], cell_style: {height: @text_height}) do
|
54
|
-
cells.style(width: 79, align: :center, size: 8, overflow: :shrink_to_fit)
|
66
|
+
cells.style(width: 79, align: :center, size: 8, overflow: :shrink_to_fit, inline_format: true)
|
55
67
|
row(0).borders = [:bottom, :left, :right]
|
56
68
|
row(0).padding_top = 0
|
57
69
|
row(0).padding_bottom = 0
|
58
70
|
row(0).padding_left = 0
|
59
71
|
row(0).padding_right = 0
|
60
|
-
row_color.each_with_index do |color, index|
|
61
|
-
rows(0).columns(index).text_color = Mcalendar::Config::COLOR[color]
|
62
|
-
end
|
63
72
|
end
|
64
|
-
|
65
73
|
end
|
66
74
|
end
|
67
75
|
|
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.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- icm7216
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-unit
|