feriados 4.1.0 → 4.2.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.
- checksums.yaml +5 -5
- data/lib/feriados.rb +4 -3
- data/lib/feriados/calendar.rb +12 -4
- data/lib/feriados/loader.rb +59 -0
- data/lib/feriados/rules.rb +10 -142
- data/lib/feriados/rules/carnival_monday.rb +9 -0
- data/lib/feriados/rules/carnival_tuesday.rb +9 -0
- data/lib/feriados/rules/day_of_month.rb +22 -0
- data/lib/feriados/rules/day_of_week.rb +20 -0
- data/lib/feriados/rules/easter.rb +39 -0
- data/lib/feriados/rules/fix_date.rb +23 -0
- data/lib/feriados/rules/fix_week_day.rb +24 -0
- data/lib/feriados/rules/holy_friday.rb +9 -0
- data/lib/feriados/rules/holy_thursday.rb +9 -0
- data/lib/feriados/rules/rule_base.rb +17 -0
- data/test/feriados_test.rb +40 -29
- data/test/test_helper.rb +0 -5
- metadata +15 -7
- data/lib/feriados/argentina.rb +0 -49
- data/lib/feriados/brazil.rb +0 -23
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 8cf1cd7d69a441cb282e4fd9636dd540b82eeaea55bd5d54e85eb4d705e7d075
|
|
4
|
+
data.tar.gz: 8146731541c46b93292b41e3c5e878a16186ca8c25aa3d9fe9d4ec4af574f43b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f869ff0db752a3120fbe5c00aebccc03bbe344e4d507c3fa21303354722da9d6db495e38ed96515087cbfebd32f18cef2e58f77aaf59a90e555297955184ef94
|
|
7
|
+
data.tar.gz: e873ac319a47ec080c7d2665aae74d22c92bcc2ec97f9e8349e72d673dd4c37de0f8afae96a3063c21749e414789026f4ed18d3d8067769b3142a7fa13331ee6
|
data/lib/feriados.rb
CHANGED
data/lib/feriados/calendar.rb
CHANGED
|
@@ -8,20 +8,28 @@ module Feriados
|
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
def holiday?(date)
|
|
11
|
-
|
|
11
|
+
rules.any? { |rule| rule.holiday?(date) }
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def add(rule)
|
|
15
|
-
|
|
15
|
+
rules << rule
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def remove(rule)
|
|
19
|
-
|
|
19
|
+
rules.delete(rule)
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def push(rules)
|
|
23
|
-
|
|
23
|
+
self.rules = rules
|
|
24
24
|
end
|
|
25
|
+
|
|
26
|
+
def load_rules(file)
|
|
27
|
+
Loader.new(file, self).load
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
private
|
|
31
|
+
|
|
32
|
+
attr_accessor :rules
|
|
25
33
|
end
|
|
26
34
|
|
|
27
35
|
refine Date do
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
module Feriados
|
|
2
|
+
class Loader
|
|
3
|
+
def initialize(file, calendar)
|
|
4
|
+
@file = file
|
|
5
|
+
@calendar = calendar
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def load
|
|
9
|
+
load_day_of_month
|
|
10
|
+
load_functions
|
|
11
|
+
load_fix_weekdays
|
|
12
|
+
load_fix_days
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
private
|
|
16
|
+
|
|
17
|
+
attr_reader :file, :calendar
|
|
18
|
+
|
|
19
|
+
def config_rules
|
|
20
|
+
@config_rules ||= YAML.load_file(file)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def load_day_of_month
|
|
24
|
+
config_rules['months'].each do |month, rules|
|
|
25
|
+
rules.each do |rule|
|
|
26
|
+
calendar.add(Rules::DayOfMonth.new(rule['day'], month))
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def load_functions
|
|
32
|
+
config_rules['functions'].each do |rule|
|
|
33
|
+
function_name = rule.split('_').collect(&:capitalize).join
|
|
34
|
+
class_name = "Feriados::Rules::#{function_name}".split('::')
|
|
35
|
+
|
|
36
|
+
klass = class_name.inject(Object) { |obj, const| obj.const_get(const) }
|
|
37
|
+
calendar.add(klass)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def load_fix_weekdays
|
|
42
|
+
config_rules['fix_weekdays']['months'].each do |month, rules|
|
|
43
|
+
rules.each do |rule|
|
|
44
|
+
calendar.add(Rules::FixWeekDay.new(rule['week'], rule['day'], month))
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def load_fix_days
|
|
50
|
+
config_rules['fix_days'].each do |year, months|
|
|
51
|
+
months.each do |month, rules|
|
|
52
|
+
rules.each do |rule|
|
|
53
|
+
calendar.add(Rules::FixDate.new(year, month, rule['day']))
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
data/lib/feriados/rules.rb
CHANGED
|
@@ -1,142 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def ==(other)
|
|
13
|
-
eql?(other)
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
class DayOfWeek < RuleBase
|
|
18
|
-
def initialize(wday)
|
|
19
|
-
@wday = wday
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def holiday?(date)
|
|
23
|
-
@wday == date.wday
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
protected
|
|
27
|
-
|
|
28
|
-
def state
|
|
29
|
-
[@wday]
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
class DayOfMonth < RuleBase
|
|
34
|
-
def initialize(day, month)
|
|
35
|
-
@day = day
|
|
36
|
-
@month = month
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def holiday?(date)
|
|
40
|
-
@day == date.day && @month == date.month
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
protected
|
|
44
|
-
|
|
45
|
-
def state
|
|
46
|
-
[@day, @month]
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
class FixDate < RuleBase
|
|
51
|
-
def initialize(year, month, day)
|
|
52
|
-
@year = year
|
|
53
|
-
@month = month
|
|
54
|
-
@day = day
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
def holiday?(date)
|
|
58
|
-
@year == date.year && @month == date.month && @day = date.day
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
protected
|
|
62
|
-
|
|
63
|
-
def state
|
|
64
|
-
[@year, @month, @day]
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
class Easter
|
|
69
|
-
def initialize(year)
|
|
70
|
-
@year = year
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
def date
|
|
74
|
-
a = @year % 19
|
|
75
|
-
b = @year / 100
|
|
76
|
-
c = @year % 100
|
|
77
|
-
d = b / 4
|
|
78
|
-
e = b % 4
|
|
79
|
-
f = (b + 8) / 25
|
|
80
|
-
g = (b - f + 1) / 3
|
|
81
|
-
h = (19 * a + b - d - g + 15) % 30
|
|
82
|
-
i = c / 4
|
|
83
|
-
k = c % 4
|
|
84
|
-
l = (32 + 2 * e + 2 * i - h - k) % 7
|
|
85
|
-
m = (a + 11 * h + 22 * l) / 451
|
|
86
|
-
month = (h + l - 7 * m + 114) / 31
|
|
87
|
-
day = ((h + l - 7 * m + 114) % 31) + 1
|
|
88
|
-
|
|
89
|
-
Date.new(@year, month, day)
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
def self.holiday?(date)
|
|
93
|
-
easter = Easter.new(date.year)
|
|
94
|
-
|
|
95
|
-
easter.date == date
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
class HolyFriday
|
|
100
|
-
def self.holiday?(date)
|
|
101
|
-
Easter.new(date.year).date - 2 == date
|
|
102
|
-
end
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
class HolyThursday
|
|
106
|
-
def self.holiday?(date)
|
|
107
|
-
Easter.new(date.year).date - 3 == date
|
|
108
|
-
end
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
class CarnivalMonday
|
|
112
|
-
def self.holiday?(date)
|
|
113
|
-
Easter.new(date.year).date - 48 == date
|
|
114
|
-
end
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
class CarnivalTuesday
|
|
118
|
-
def self.holiday?(date)
|
|
119
|
-
Easter.new(date.year).date - 47 == date
|
|
120
|
-
end
|
|
121
|
-
end
|
|
122
|
-
|
|
123
|
-
class FixWeekDay < RuleBase
|
|
124
|
-
def initialize(week, wday, month)
|
|
125
|
-
@week = week
|
|
126
|
-
@wday = wday
|
|
127
|
-
@month = month
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
def holiday?(date)
|
|
131
|
-
week = (date.day - 1) / 7 + 1
|
|
132
|
-
@wday == date.wday && @month == date.month && @week == week
|
|
133
|
-
end
|
|
134
|
-
|
|
135
|
-
protected
|
|
136
|
-
|
|
137
|
-
def state
|
|
138
|
-
[@week, @wday, @month]
|
|
139
|
-
end
|
|
140
|
-
end
|
|
141
|
-
end
|
|
142
|
-
end
|
|
1
|
+
require_relative './rules/rule_base'
|
|
2
|
+
require_relative './rules/carnival_monday'
|
|
3
|
+
require_relative './rules/carnival_tuesday'
|
|
4
|
+
require_relative './rules/day_of_month'
|
|
5
|
+
require_relative './rules/day_of_week'
|
|
6
|
+
require_relative './rules/easter'
|
|
7
|
+
require_relative './rules/fix_date'
|
|
8
|
+
require_relative './rules/fix_week_day'
|
|
9
|
+
require_relative './rules/holy_friday'
|
|
10
|
+
require_relative './rules/holy_thursday'
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module Feriados
|
|
2
|
+
module Rules
|
|
3
|
+
class DayOfMonth < RuleBase
|
|
4
|
+
def initialize(day, month)
|
|
5
|
+
@day = day
|
|
6
|
+
@month = month
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def holiday?(date)
|
|
10
|
+
day == date.day && month == date.month
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
protected
|
|
14
|
+
|
|
15
|
+
attr_reader :day, :month
|
|
16
|
+
|
|
17
|
+
def state
|
|
18
|
+
[day, month]
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module Feriados
|
|
2
|
+
module Rules
|
|
3
|
+
class DayOfWeek < RuleBase
|
|
4
|
+
def initialize(wday)
|
|
5
|
+
@wday = wday
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def holiday?(date)
|
|
9
|
+
wday == date.wday
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
protected
|
|
13
|
+
attr_reader :wday
|
|
14
|
+
|
|
15
|
+
def state
|
|
16
|
+
[wday]
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
module Feriados
|
|
2
|
+
module Rules
|
|
3
|
+
class Easter
|
|
4
|
+
def initialize(year)
|
|
5
|
+
@year = year
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def date
|
|
9
|
+
a = year % 19
|
|
10
|
+
b = year / 100
|
|
11
|
+
c = year % 100
|
|
12
|
+
d = b / 4
|
|
13
|
+
e = b % 4
|
|
14
|
+
f = (b + 8) / 25
|
|
15
|
+
g = (b - f + 1) / 3
|
|
16
|
+
h = (19 * a + b - d - g + 15) % 30
|
|
17
|
+
i = c / 4
|
|
18
|
+
k = c % 4
|
|
19
|
+
l = (32 + 2 * e + 2 * i - h - k) % 7
|
|
20
|
+
m = (a + 11 * h + 22 * l) / 451
|
|
21
|
+
result = h + l - 7 * m + 114
|
|
22
|
+
month = result / 31
|
|
23
|
+
day = (result % 31) + 1
|
|
24
|
+
|
|
25
|
+
Date.new(year, month, day)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def self.holiday?(date)
|
|
29
|
+
easter = Easter.new(date.year)
|
|
30
|
+
|
|
31
|
+
easter.date == date
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
private
|
|
35
|
+
|
|
36
|
+
attr_reader :year
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module Feriados
|
|
2
|
+
module Rules
|
|
3
|
+
class FixDate < RuleBase
|
|
4
|
+
def initialize(year, month, day)
|
|
5
|
+
@year = year
|
|
6
|
+
@month = month
|
|
7
|
+
@day = day
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def holiday?(date)
|
|
11
|
+
year == date.year && month == date.month && day == date.day
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
protected
|
|
15
|
+
|
|
16
|
+
attr_reader :day, :month, :year
|
|
17
|
+
|
|
18
|
+
def state
|
|
19
|
+
[year, month, day]
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module Feriados
|
|
2
|
+
module Rules
|
|
3
|
+
class FixWeekDay < RuleBase
|
|
4
|
+
def initialize(week, wday, month)
|
|
5
|
+
@week = week
|
|
6
|
+
@wday = wday
|
|
7
|
+
@month = month
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def holiday?(date)
|
|
11
|
+
date_from_week = (date.day - 1) / 7 + 1
|
|
12
|
+
wday == date.wday && month == date.month && week == date_from_week
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
protected
|
|
16
|
+
|
|
17
|
+
attr_reader :week, :wday, :month
|
|
18
|
+
|
|
19
|
+
def state
|
|
20
|
+
[week, wday, month]
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
data/test/feriados_test.rb
CHANGED
|
@@ -254,34 +254,45 @@ class CalendarTest < Minitest::Test
|
|
|
254
254
|
def test_load_argentinian_holidays
|
|
255
255
|
calendar = Calendar.new
|
|
256
256
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
257
|
+
calendar.load_rules(File.join(__dir__, './argentina.yml'))
|
|
258
|
+
|
|
259
|
+
holidays_2020 = [
|
|
260
|
+
[1, 1],
|
|
261
|
+
[2, 24],
|
|
262
|
+
[2, 25],
|
|
263
|
+
[3, 23],
|
|
264
|
+
[3, 24],
|
|
265
|
+
[4, 2],
|
|
266
|
+
[4, 9],
|
|
267
|
+
[4, 10],
|
|
268
|
+
[4, 12],
|
|
269
|
+
[5, 1],
|
|
270
|
+
[5, 25],
|
|
271
|
+
[6, 15],
|
|
272
|
+
[6, 20],
|
|
273
|
+
[7, 9],
|
|
274
|
+
[7, 10],
|
|
275
|
+
[8, 17],
|
|
276
|
+
[10, 12],
|
|
277
|
+
[11, 23],
|
|
278
|
+
[12, 7],
|
|
279
|
+
[12, 8],
|
|
280
|
+
[12, 25]
|
|
281
|
+
]
|
|
282
|
+
|
|
283
|
+
holidays_2020.each do |month, day|
|
|
284
|
+
assert calendar.holiday?(Date.new(2020, month, day))
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
date = Date.new(2020, 1, 1)
|
|
288
|
+
assertions = []
|
|
289
|
+
0.upto(365) do |day|
|
|
290
|
+
today = date + day
|
|
291
|
+
holiday = calendar.holiday?(today)
|
|
292
|
+
|
|
293
|
+
assertions << holiday
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
assert_equal(holidays_2020.count, assertions.count { |e| e })
|
|
286
297
|
end
|
|
287
298
|
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: feriados
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sebastian Rabuini
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-02-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: Make holidays calendars from rules
|
|
14
14
|
email:
|
|
@@ -18,10 +18,19 @@ extensions: []
|
|
|
18
18
|
extra_rdoc_files: []
|
|
19
19
|
files:
|
|
20
20
|
- lib/feriados.rb
|
|
21
|
-
- lib/feriados/argentina.rb
|
|
22
|
-
- lib/feriados/brazil.rb
|
|
23
21
|
- lib/feriados/calendar.rb
|
|
22
|
+
- lib/feriados/loader.rb
|
|
24
23
|
- lib/feriados/rules.rb
|
|
24
|
+
- lib/feriados/rules/carnival_monday.rb
|
|
25
|
+
- lib/feriados/rules/carnival_tuesday.rb
|
|
26
|
+
- lib/feriados/rules/day_of_month.rb
|
|
27
|
+
- lib/feriados/rules/day_of_week.rb
|
|
28
|
+
- lib/feriados/rules/easter.rb
|
|
29
|
+
- lib/feriados/rules/fix_date.rb
|
|
30
|
+
- lib/feriados/rules/fix_week_day.rb
|
|
31
|
+
- lib/feriados/rules/holy_friday.rb
|
|
32
|
+
- lib/feriados/rules/holy_thursday.rb
|
|
33
|
+
- lib/feriados/rules/rule_base.rb
|
|
25
34
|
- test/date_test.rb
|
|
26
35
|
- test/feriados_test.rb
|
|
27
36
|
- test/runner.rb
|
|
@@ -45,13 +54,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
45
54
|
- !ruby/object:Gem::Version
|
|
46
55
|
version: '0'
|
|
47
56
|
requirements: []
|
|
48
|
-
|
|
49
|
-
rubygems_version: 2.6.4
|
|
57
|
+
rubygems_version: 3.1.2
|
|
50
58
|
signing_key:
|
|
51
59
|
specification_version: 4
|
|
52
60
|
summary: Holidays calendars
|
|
53
61
|
test_files:
|
|
54
62
|
- test/date_test.rb
|
|
55
63
|
- test/feriados_test.rb
|
|
56
|
-
- test/runner.rb
|
|
57
64
|
- test/test_helper.rb
|
|
65
|
+
- test/runner.rb
|
data/lib/feriados/argentina.rb
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
module Feriados
|
|
2
|
-
module Argentina
|
|
3
|
-
include Feriados::Rules
|
|
4
|
-
|
|
5
|
-
def self.rules
|
|
6
|
-
[
|
|
7
|
-
DayOfMonth.new(1, 1),
|
|
8
|
-
DayOfMonth.new(24, 3),
|
|
9
|
-
DayOfMonth.new(2, 4),
|
|
10
|
-
DayOfMonth.new(1, 5),
|
|
11
|
-
DayOfMonth.new(25, 5),
|
|
12
|
-
DayOfMonth.new(20, 6),
|
|
13
|
-
DayOfMonth.new(9, 7),
|
|
14
|
-
DayOfMonth.new(8, 12),
|
|
15
|
-
DayOfMonth.new(25, 12),
|
|
16
|
-
|
|
17
|
-
Easter,
|
|
18
|
-
HolyThursday,
|
|
19
|
-
HolyFriday,
|
|
20
|
-
CarnivalMonday,
|
|
21
|
-
CarnivalTuesday,
|
|
22
|
-
|
|
23
|
-
FixWeekDay.new(3, 1, 8),
|
|
24
|
-
FixWeekDay.new(2, 1, 10),
|
|
25
|
-
FixWeekDay.new(4, 1, 11),
|
|
26
|
-
|
|
27
|
-
FixDate.new(2012, 2, 27),
|
|
28
|
-
FixDate.new(2012, 9, 24),
|
|
29
|
-
FixDate.new(2012, 4, 30),
|
|
30
|
-
FixDate.new(2012, 12, 24),
|
|
31
|
-
|
|
32
|
-
FixDate.new(2013, 1, 31),
|
|
33
|
-
FixDate.new(2013, 2, 20),
|
|
34
|
-
FixDate.new(2013, 1, 31),
|
|
35
|
-
FixDate.new(2013, 4, 1),
|
|
36
|
-
FixDate.new(2013, 6, 21),
|
|
37
|
-
|
|
38
|
-
FixDate.new(2014, 5, 2),
|
|
39
|
-
FixDate.new(2014, 12, 26),
|
|
40
|
-
|
|
41
|
-
FixDate.new(2015, 3, 23),
|
|
42
|
-
FixDate.new(2015, 12, 7),
|
|
43
|
-
|
|
44
|
-
FixDate.new(2016, 7, 8),
|
|
45
|
-
FixDate.new(2016, 12, 9)
|
|
46
|
-
]
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
end
|
data/lib/feriados/brazil.rb
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
module Feriados
|
|
2
|
-
module Brazil
|
|
3
|
-
include Feriados::Rules
|
|
4
|
-
|
|
5
|
-
def self.rules
|
|
6
|
-
[
|
|
7
|
-
DayOfMonth.new(1, 1),
|
|
8
|
-
DayOfMonth.new(21, 4),
|
|
9
|
-
DayOfMonth.new(1, 5),
|
|
10
|
-
DayOfMonth.new(4, 6),
|
|
11
|
-
DayOfMonth.new(7, 9),
|
|
12
|
-
DayOfMonth.new(12, 10),
|
|
13
|
-
DayOfMonth.new(2, 11),
|
|
14
|
-
DayOfMonth.new(15, 11),
|
|
15
|
-
DayOfMonth.new(25, 12),
|
|
16
|
-
|
|
17
|
-
HolyFriday,
|
|
18
|
-
CarnivalMonday,
|
|
19
|
-
CarnivalTuesday
|
|
20
|
-
]
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|