feriados 4.0.0 → 4.4.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.
@@ -0,0 +1,59 @@
1
+ require 'test_helper'
2
+
3
+ class FixDateTest < Minitest::Test
4
+ include Feriados::Rules
5
+ include Feriados
6
+
7
+ def test_a_fix_date_can_be_a_holiday
8
+ calendar = Calendar.new
9
+
10
+ date = Date.new(2016, 1, 1)
11
+
12
+ calendar.add(FixDate.new(2016, 1, 1))
13
+
14
+ assert calendar.holiday?(date)
15
+ end
16
+
17
+ def test_a_fix_date_can_have_a_name
18
+ calendar = Calendar.new
19
+
20
+ date = Date.new(2016, 1, 1)
21
+
22
+ calendar.add(FixDate.new(2016, 1, 1, 'new year'))
23
+
24
+ assert calendar.holiday_name(date)
25
+ end
26
+
27
+ def test_a_fix_date_can_be_not_a_holiday
28
+ calendar = Calendar.new
29
+
30
+ refute calendar.holiday?(Date.new(2016, 1, 1))
31
+ end
32
+
33
+ def test_a_bunch_of_dates_can_be_a_holiday
34
+ calendar = Calendar.new
35
+
36
+ date = Date.new(2016, 4, 29)
37
+ another_date = Date.new(2016, 4, 30)
38
+
39
+ calendar.add(FixDate.new(2016, 4, 29))
40
+ calendar.add(FixDate.new(2016, 4, 30))
41
+
42
+ assert calendar.holiday?(date)
43
+ assert calendar.holiday?(another_date)
44
+ end
45
+
46
+ def test_a_fix_date_rule_can_be_deleted
47
+ calendar = Calendar.new
48
+
49
+ date = Date.new(2016, 5, 1)
50
+
51
+ calendar.add(FixDate.new(date.year, date.month, date.day))
52
+
53
+ assert calendar.holiday?(date)
54
+
55
+ calendar.remove(FixDate.new(date.year, date.month, date.day))
56
+
57
+ refute calendar.holiday?(date)
58
+ end
59
+ end
@@ -0,0 +1,48 @@
1
+ require 'test_helper'
2
+
3
+ class FixWeekDayTest < Minitest::Test
4
+ include Feriados::Rules
5
+ include Feriados
6
+
7
+ def test_fix_week_day_rule
8
+ calendar = Calendar.new
9
+
10
+ calendar.add(FixWeekDay.new(4, 1, 11))
11
+ calendar.add(FixWeekDay.new(3, 1, 8))
12
+
13
+ assert calendar.holiday?(Date.new(2016, 11, 28))
14
+ assert calendar.holiday?(Date.new(2016, 8, 15))
15
+ end
16
+
17
+ def test_fix_week_can_have_a_name
18
+ calendar = Calendar.new
19
+
20
+ calendar.add(FixWeekDay.new(3, 1, 8, 'nice holiday'))
21
+
22
+ assert_equal 'nice holiday', calendar.holiday_name(Date.new(2016, 8, 15))
23
+ end
24
+
25
+ def test_not_fix_week_day_rule
26
+ calendar = Calendar.new
27
+
28
+ date = Date.new(2016, 5, 2)
29
+
30
+ calendar.add(FixWeekDay.new(2, 1, 5))
31
+
32
+ refute calendar.holiday?(date)
33
+ end
34
+
35
+ def test_remove_fix_week_day_rule
36
+ calendar = Calendar.new
37
+
38
+ date = Date.new(2016, 11, 28)
39
+
40
+ calendar.add(FixWeekDay.new(4, 1, 11))
41
+
42
+ assert calendar.holiday?(date)
43
+
44
+ calendar.remove(FixWeekDay.new(4, 1, 11))
45
+
46
+ refute calendar.holiday?(date)
47
+ end
48
+ end
@@ -0,0 +1,52 @@
1
+ require 'test_helper'
2
+
3
+ class HolyFridayTest < Minitest::Test
4
+ include Feriados::Rules
5
+ include Feriados
6
+
7
+ def test_holy_friday
8
+ calendar = Calendar.new
9
+
10
+ date = Date.new(2016, 3, 25)
11
+
12
+ calendar.add(HolyFriday)
13
+
14
+ assert calendar.holiday?(date)
15
+ end
16
+
17
+ def test_holy_friday_has_name
18
+ calendar = Calendar.new
19
+
20
+ date = Date.new(2016, 3, 25)
21
+
22
+ calendar.add(HolyFriday)
23
+
24
+ HolyFriday.name = 'viernes santo'
25
+
26
+ assert_equal 'viernes santo', calendar.holiday_name(date)
27
+ end
28
+
29
+ def test_not_holy_friday
30
+ calendar = Calendar.new
31
+
32
+ date = Date.new(2016, 3, 20)
33
+
34
+ calendar.add(HolyFriday)
35
+
36
+ refute calendar.holiday?(date)
37
+ end
38
+
39
+ def test_remove_holy_friday
40
+ calendar = Calendar.new
41
+
42
+ date = Date.new(2016, 3, 25)
43
+
44
+ calendar.add(HolyFriday)
45
+
46
+ assert calendar.holiday?(date)
47
+
48
+ calendar.remove(HolyFriday)
49
+
50
+ refute calendar.holiday?(date)
51
+ end
52
+ end
@@ -0,0 +1,28 @@
1
+ require 'test_helper'
2
+
3
+ class HolyThursdayTest < Minitest::Test
4
+ include Feriados::Rules
5
+ include Feriados
6
+
7
+ def test_holy_thursday
8
+ calendar = Calendar.new
9
+
10
+ date = Date.new(2016, 3, 24)
11
+
12
+ calendar.add(HolyThursday)
13
+
14
+ assert calendar.holiday?(date)
15
+ end
16
+
17
+ def test_holy_thursday_has_name
18
+ calendar = Calendar.new
19
+
20
+ date = Date.new(2016, 3, 24)
21
+
22
+ calendar.add(HolyThursday)
23
+
24
+ HolyThursday.name = 'jueves santo'
25
+
26
+ assert_equal 'jueves santo', calendar.holiday_name(date)
27
+ end
28
+ end
@@ -1,6 +1,6 @@
1
1
  ARGV.select do |argument|
2
2
  case argument
3
- when /\*/ then
3
+ when /\*/
4
4
  Dir.glob(argument).each do |file|
5
5
  require File.expand_path(file)
6
6
  end
@@ -1,6 +1,6 @@
1
- require 'minitest/autorun'
2
- require 'minitest/reporters'
1
+ require 'simplecov'
2
+ SimpleCov.start
3
3
 
4
- Minitest::Reporters.use! [Minitest::Reporters::DefaultReporter.new(color: true)]
4
+ require 'minitest/autorun'
5
5
 
6
- require_relative '../lib/feriados'
6
+ require 'feriados'
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: feriados
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.4.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: 2016-05-16 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2020-07-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitest
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.14'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '5.14'
27
+ - !ruby/object:Gem::Dependency
28
+ name: simplecov
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.17'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.17'
13
41
  description: Make holidays calendars from rules
14
42
  email:
15
43
  - srabuini@gmail.com
@@ -18,11 +46,29 @@ extensions: []
18
46
  extra_rdoc_files: []
19
47
  files:
20
48
  - lib/feriados.rb
21
- - lib/feriados/argentina.rb
22
49
  - lib/feriados/calendar.rb
50
+ - lib/feriados/loader.rb
23
51
  - lib/feriados/rules.rb
52
+ - lib/feriados/rules/carnival_monday.rb
53
+ - lib/feriados/rules/carnival_tuesday.rb
54
+ - lib/feriados/rules/day_of_month.rb
55
+ - lib/feriados/rules/day_of_week.rb
56
+ - lib/feriados/rules/easter.rb
57
+ - lib/feriados/rules/fix_date.rb
58
+ - lib/feriados/rules/fix_week_day.rb
59
+ - lib/feriados/rules/function.rb
60
+ - lib/feriados/rules/holy_friday.rb
61
+ - lib/feriados/rules/holy_thursday.rb
62
+ - lib/feriados/rules/rule_base.rb
24
63
  - test/date_test.rb
64
+ - test/day_of_month_test.rb
65
+ - test/day_off_week_test.rb
66
+ - test/easter_test.rb
25
67
  - test/feriados_test.rb
68
+ - test/fix_date_test.rb
69
+ - test/fix_week_day_test.rb
70
+ - test/holy_friday_test.rb
71
+ - test/holy_thursday_test.rb
26
72
  - test/runner.rb
27
73
  - test/test_helper.rb
28
74
  homepage: https://github.com/srabuini/feriados
@@ -37,20 +83,26 @@ required_ruby_version: !ruby/object:Gem::Requirement
37
83
  requirements:
38
84
  - - ">="
39
85
  - !ruby/object:Gem::Version
40
- version: '0'
86
+ version: '2.3'
41
87
  required_rubygems_version: !ruby/object:Gem::Requirement
42
88
  requirements:
43
89
  - - ">="
44
90
  - !ruby/object:Gem::Version
45
91
  version: '0'
46
92
  requirements: []
47
- rubyforge_project:
48
- rubygems_version: 2.5.1
93
+ rubygems_version: 3.0.3
49
94
  signing_key:
50
95
  specification_version: 4
51
96
  summary: Holidays calendars
52
97
  test_files:
98
+ - test/holy_thursday_test.rb
99
+ - test/easter_test.rb
53
100
  - test/date_test.rb
101
+ - test/fix_week_day_test.rb
102
+ - test/fix_date_test.rb
54
103
  - test/feriados_test.rb
55
- - test/runner.rb
104
+ - test/day_off_week_test.rb
105
+ - test/day_of_month_test.rb
56
106
  - test/test_helper.rb
107
+ - test/holy_friday_test.rb
108
+ - test/runner.rb
@@ -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