enrico 0.1.5 → 0.2.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e0b4284f18313432a7dee8a1e136124640ec57c209b6a561a587c3ea3d06040f
4
+ data.tar.gz: 41e49cd778f06f64c40da5def29fa3bff9b3b4e6639484d907d22566d3630de2
5
+ SHA512:
6
+ metadata.gz: db42d425e79f2eb8994bb61599b010aa86e94cea6d901a0e65c93a2ccf5476043d25398b61e8035114dc04317bc8bed71964d9a0db82a27f8ba7f122f3b8c47b
7
+ data.tar.gz: 7a601e5ae90395d6a1174fd8423fc1fe643c6ee46fedc5b290cb9de0dbcb4aaceef83361f2b7caea902c633d5e74aab12ed1e2d3f98258f8a06e9ecc54975a78
@@ -0,0 +1,21 @@
1
+ name: test
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - "**"
7
+ tags-ignore:
8
+ - "*.*"
9
+
10
+ jobs:
11
+ minitest:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+ - name: Setup Ruby
16
+ uses: ruby/setup-ruby@v1
17
+ with:
18
+ ruby-version: 2.6.10
19
+ bundler-cache: true
20
+ - name: Run tests
21
+ run: bundle exec rake test
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.6.10
data/Gemfile CHANGED
@@ -1,11 +1,14 @@
1
1
  source "http://rubygems.org"
2
+
3
+ ruby '2.6.10'
4
+
2
5
  # Add dependencies required to use your gem here.
3
6
  # Example:
4
7
  # gem "activesupport", ">= 2.3.5"
5
8
 
6
9
  # Add dependencies to develop your gem here.
7
10
  # Include everything needed to run rake, tests, features, etc.
8
- gem 'httparty'
11
+ gem 'httparty', '~> 0.21.0'
9
12
 
10
13
  group :development do
11
14
  gem "bundler"
@@ -17,7 +20,7 @@ group :development do
17
20
  end
18
21
 
19
22
  group :test do
20
- gem 'webmock', "< 1.9"
23
+ gem 'webmock'
21
24
  gem 'vcr'
22
25
  gem 'turn'
23
26
  gem 'rake'
data/Gemfile.lock CHANGED
@@ -1,52 +1,102 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- activesupport (3.2.9)
5
- i18n (~> 0.6)
6
- multi_json (~> 1.0)
7
- addressable (2.3.2)
8
- ansi (1.4.3)
9
- crack (0.3.1)
10
- git (1.2.5)
11
- httparty (0.9.0)
12
- multi_json (~> 1.0)
13
- multi_xml
14
- i18n (0.6.1)
15
- jeweler (1.8.4)
16
- bundler (~> 1.0)
4
+ activesupport (5.2.4.3)
5
+ concurrent-ruby (~> 1.0, >= 1.0.2)
6
+ i18n (>= 0.7, < 2)
7
+ minitest (~> 5.1)
8
+ tzinfo (~> 1.1)
9
+ addressable (2.7.0)
10
+ public_suffix (>= 2.0.2, < 5.0)
11
+ ansi (1.5.0)
12
+ builder (3.2.4)
13
+ concurrent-ruby (1.1.7)
14
+ crack (0.4.3)
15
+ safe_yaml (~> 1.0.0)
16
+ descendants_tracker (0.0.4)
17
+ thread_safe (~> 0.3, >= 0.3.1)
18
+ docile (1.3.2)
19
+ faraday (0.9.2)
20
+ multipart-post (>= 1.2, < 3)
21
+ git (1.7.0)
22
+ rchardet (~> 1.8)
23
+ github_api (0.11.3)
24
+ addressable (~> 2.3)
25
+ descendants_tracker (~> 0.0.1)
26
+ faraday (~> 0.8, < 0.10)
27
+ hashie (>= 1.2)
28
+ multi_json (>= 1.7.5, < 2.0)
29
+ nokogiri (~> 1.6.0)
30
+ oauth2
31
+ hashdiff (1.0.1)
32
+ hashie (4.1.0)
33
+ highline (2.0.3)
34
+ httparty (0.21.0)
35
+ mini_mime (>= 1.0.0)
36
+ multi_xml (>= 0.5.2)
37
+ i18n (1.8.5)
38
+ concurrent-ruby (~> 1.0)
39
+ jeweler (2.3.5)
40
+ builder
41
+ bundler (>= 1.0)
17
42
  git (>= 1.2.5)
43
+ github_api (~> 0.11.0)
44
+ highline (>= 1.6.15)
45
+ nokogiri (>= 1.5.10)
46
+ psych (~> 2.2)
18
47
  rake
19
48
  rdoc
20
- json (1.7.5)
21
- minitest (4.3.2)
22
- multi_json (1.3.7)
23
- multi_xml (0.5.1)
24
- rake (10.0.2)
25
- rdoc (3.12)
26
- json (~> 1.4)
27
- shoulda (3.3.2)
28
- shoulda-context (~> 1.0.1)
29
- shoulda-matchers (~> 1.4.1)
30
- shoulda-context (1.0.1)
31
- shoulda-matchers (1.4.1)
32
- activesupport (>= 3.0.0)
33
- simplecov (0.7.1)
34
- multi_json (~> 1.0)
35
- simplecov-html (~> 0.7.1)
36
- simplecov-html (0.7.1)
49
+ semver2
50
+ jwt (2.2.2)
51
+ mini_mime (1.1.5)
52
+ mini_portile2 (2.1.0)
53
+ minitest (5.14.1)
54
+ multi_json (1.15.0)
55
+ multi_xml (0.6.0)
56
+ multipart-post (2.1.1)
57
+ nokogiri (1.6.8.1)
58
+ mini_portile2 (~> 2.1.0)
59
+ oauth2 (1.4.4)
60
+ faraday (>= 0.8, < 2.0)
61
+ jwt (>= 1.0, < 3.0)
62
+ multi_json (~> 1.3)
63
+ multi_xml (~> 0.5)
64
+ rack (>= 1.2, < 3)
65
+ psych (2.2.4)
66
+ public_suffix (4.0.5)
67
+ rack (2.2.3)
68
+ rake (13.0.1)
69
+ rchardet (1.8.0)
70
+ rdoc (6.2.1)
71
+ safe_yaml (1.0.5)
72
+ semver2 (3.4.2)
73
+ shoulda (4.0.0)
74
+ shoulda-context (~> 2.0)
75
+ shoulda-matchers (~> 4.0)
76
+ shoulda-context (2.0.0)
77
+ shoulda-matchers (4.4.0)
78
+ activesupport (>= 4.2.0)
79
+ simplecov (0.18.5)
80
+ docile (~> 1.1)
81
+ simplecov-html (~> 0.11)
82
+ simplecov-html (0.12.2)
83
+ thread_safe (0.3.6)
37
84
  turn (0.9.6)
38
85
  ansi
39
- vcr (2.3.0)
40
- webmock (1.8.9)
41
- addressable (>= 2.2.7)
42
- crack (>= 0.1.7)
86
+ tzinfo (1.2.7)
87
+ thread_safe (~> 0.1)
88
+ vcr (6.0.0)
89
+ webmock (3.8.3)
90
+ addressable (>= 2.3.6)
91
+ crack (>= 0.3.2)
92
+ hashdiff (>= 0.4.0, < 2.0.0)
43
93
 
44
94
  PLATFORMS
45
95
  ruby
46
96
 
47
97
  DEPENDENCIES
48
98
  bundler
49
- httparty
99
+ httparty (~> 0.21.0)
50
100
  jeweler
51
101
  minitest
52
102
  rake
@@ -55,4 +105,10 @@ DEPENDENCIES
55
105
  simplecov
56
106
  turn
57
107
  vcr
58
- webmock (< 1.9)
108
+ webmock
109
+
110
+ RUBY VERSION
111
+ ruby 2.6.10p210
112
+
113
+ BUNDLED WITH
114
+ 2.0.2
data/README.md CHANGED
@@ -1,18 +1,18 @@
1
1
  enrico
2
2
  ===========
3
3
 
4
- enrico is a small wrapper around the JSON API from [enrico](http://kayaposoft.com/enrico/json/)
4
+ enrico is a small wrapper around the JSON API from [enrico v2](http://kayaposoft.com/enrico/json/)
5
5
 
6
6
  The Enrico Service
7
7
  ------------------
8
8
 
9
9
  ```
10
- Enrico Service is a free service written in PHP providing public holidays for several
11
- countries. You can use either web service or json to get public holidays from Enrico.
12
- Each provided public holiday includes date and name of the holiday in the local language
13
- and English. Public holidays for the countries like U.S. or Germany are provided separately for each state.
14
- You can use Enrico Service to display public holidays on your website or in your desktop application written in any programming language.
15
- lthough Enrico is free to use, we do not provide the source code for download. If you are interested in hosting Enrico on your
10
+ Enrico Service is a free service written in PHP providing public holidays for several
11
+ countries. You can use either web service or json to get public holidays from Enrico.
12
+ Each provided public holiday includes date and name of the holiday in the local language
13
+ and English. Public holidays for the countries like U.S. or Germany are provided separately for each state.
14
+ You can use Enrico Service to display public holidays on your website or in your desktop application written in any programming language.
15
+ lthough Enrico is free to use, we do not provide the source code for download. If you are interested in hosting Enrico on your
16
16
  server, please contact us on enrico@kayaposoft.com.
17
17
  ```
18
18
 
@@ -39,15 +39,18 @@ country.regions
39
39
  enrico implements only a couple of methods, which are pretty much self explanatory:
40
40
 
41
41
  ```ruby
42
- country.public_holidays_for_month(Date.today)
42
+ country.holidays_for_month(Date.today)
43
+ country.holidays_for_month(Date.today, holiday_type: 'public_holiday')
43
44
  ```
44
45
 
45
46
  ```ruby
46
- country.public_holidays_for_year(Date.today)
47
+ country.holidays_for_year(Date.today)
48
+ country.holidays_for_year(Date.today, holiday_type: 'public_holiday')
47
49
  ```
48
50
 
49
51
  ```ruby
50
- country.public_holidays_for_date_range(Date.today, Date.today + 2.month)
52
+ country.holidays_for_year(Date.today)
53
+ country.holidays_for_year(Date.today, holiday_type: 'public_holiday')
51
54
  ```
52
55
 
53
56
  ```ruby
@@ -80,7 +83,7 @@ Copyright (c) 2012 easyPEP UG
80
83
 
81
84
  Permission is hereby granted, free of charge, to any person obtaining
82
85
  a copy of this software and associated documentation files (the
83
- "Software"), to use, copy and modify copies of the Software, subject
86
+ "Software"), to use, copy and modify copies of the Software, subject
84
87
  to the following conditions:
85
88
 
86
89
  The above copyright notice and this permission notice shall be
data/Rakefile CHANGED
@@ -15,10 +15,10 @@ require 'jeweler'
15
15
  Jeweler::Tasks.new do |gem|
16
16
  # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
17
  gem.name = "enrico"
18
- gem.homepage = "http://github.com/easyPEP/enrico"
18
+ gem.homepage = "https://github.com/easyPEP/enrico"
19
19
  gem.license = "MIT"
20
20
  gem.summary = "A ruby wrapper around enrico holiday API"
21
- gem.description = "http://github.com/easyPEP/enrico"
21
+ gem.description = "https://github.com/easyPEP/enrico"
22
22
  gem.email = "kalle@easypep.de"
23
23
  gem.authors = ["Kalle Saas"]
24
24
  # dependencies defined in Gemfile
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.5
1
+ 0.2.1
data/enrico.gemspec CHANGED
@@ -2,16 +2,18 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: enrico 0.2.1 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
- s.name = "enrico"
8
- s.version = "0.1.5"
8
+ s.name = "enrico".freeze
9
+ s.version = "0.2.1"
9
10
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Kalle Saas"]
12
- s.date = "2012-11-30"
13
- s.description = "http://github.com/easyPEP/enrico"
14
- s.email = "kalle@easypep.de"
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib".freeze]
13
+ s.authors = ["Kalle Saas".freeze]
14
+ s.date = "2025-07-18"
15
+ s.description = "https://github.com/easyPEP/enrico".freeze
16
+ s.email = "kalle@easypep.de".freeze
15
17
  s.extra_rdoc_files = [
16
18
  "LICENSE.txt",
17
19
  "README.md",
@@ -19,6 +21,8 @@ Gem::Specification.new do |s|
19
21
  ]
20
22
  s.files = [
21
23
  ".document",
24
+ ".github/workflows/test.yml",
25
+ ".ruby-version",
22
26
  "Gemfile",
23
27
  "Gemfile.lock",
24
28
  "LICENSE.txt",
@@ -30,10 +34,11 @@ Gem::Specification.new do |s|
30
34
  "lib/enrico.rb",
31
35
  "lib/enrico/country.rb",
32
36
  "lib/enrico/vacation_day.rb",
37
+ "mise.toml",
38
+ "spec/fixtures/vcr_cassettes/holidays_in_date_range.yml",
39
+ "spec/fixtures/vcr_cassettes/holidays_in_month.yml",
40
+ "spec/fixtures/vcr_cassettes/holidays_in_year.yml",
33
41
  "spec/fixtures/vcr_cassettes/is_public_holiday.yml",
34
- "spec/fixtures/vcr_cassettes/public_holidays_in_date_range.yml",
35
- "spec/fixtures/vcr_cassettes/public_holidays_in_month.yml",
36
- "spec/fixtures/vcr_cassettes/public_holidays_in_year.yml",
37
42
  "spec/fixtures/vcr_cassettes/supported_countries.yml",
38
43
  "spec/lib/enrico/country_public_holidays_for_month_spec.rb",
39
44
  "spec/lib/enrico/country_spec.rb",
@@ -41,40 +46,39 @@ Gem::Specification.new do |s|
41
46
  "spec/lib/enrico/vacation_day_spec.rb",
42
47
  "spec/spec_helper.rb"
43
48
  ]
44
- s.homepage = "http://github.com/easyPEP/enrico"
45
- s.licenses = ["MIT"]
46
- s.require_paths = ["lib"]
47
- s.rubygems_version = "1.8.23"
48
- s.summary = "A ruby wrapper around enrico holiday API"
49
+ s.homepage = "https://github.com/easyPEP/enrico".freeze
50
+ s.licenses = ["MIT".freeze]
51
+ s.rubygems_version = "3.0.3.1".freeze
52
+ s.summary = "A ruby wrapper around enrico holiday API".freeze
49
53
 
50
54
  if s.respond_to? :specification_version then
51
- s.specification_version = 3
55
+ s.specification_version = 4
52
56
 
53
57
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
54
- s.add_runtime_dependency(%q<httparty>, [">= 0"])
55
- s.add_development_dependency(%q<bundler>, [">= 0"])
56
- s.add_development_dependency(%q<jeweler>, [">= 0"])
57
- s.add_development_dependency(%q<simplecov>, [">= 0"])
58
- s.add_development_dependency(%q<rdoc>, [">= 0"])
59
- s.add_development_dependency(%q<shoulda>, [">= 0"])
60
- s.add_development_dependency(%q<minitest>, [">= 0"])
58
+ s.add_runtime_dependency(%q<httparty>.freeze, ["~> 0.21.0"])
59
+ s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
60
+ s.add_development_dependency(%q<jeweler>.freeze, [">= 0"])
61
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
62
+ s.add_development_dependency(%q<rdoc>.freeze, [">= 0"])
63
+ s.add_development_dependency(%q<shoulda>.freeze, [">= 0"])
64
+ s.add_development_dependency(%q<minitest>.freeze, [">= 0"])
61
65
  else
62
- s.add_dependency(%q<httparty>, [">= 0"])
63
- s.add_dependency(%q<bundler>, [">= 0"])
64
- s.add_dependency(%q<jeweler>, [">= 0"])
65
- s.add_dependency(%q<simplecov>, [">= 0"])
66
- s.add_dependency(%q<rdoc>, [">= 0"])
67
- s.add_dependency(%q<shoulda>, [">= 0"])
68
- s.add_dependency(%q<minitest>, [">= 0"])
66
+ s.add_dependency(%q<httparty>.freeze, ["~> 0.21.0"])
67
+ s.add_dependency(%q<bundler>.freeze, [">= 0"])
68
+ s.add_dependency(%q<jeweler>.freeze, [">= 0"])
69
+ s.add_dependency(%q<simplecov>.freeze, [">= 0"])
70
+ s.add_dependency(%q<rdoc>.freeze, [">= 0"])
71
+ s.add_dependency(%q<shoulda>.freeze, [">= 0"])
72
+ s.add_dependency(%q<minitest>.freeze, [">= 0"])
69
73
  end
70
74
  else
71
- s.add_dependency(%q<httparty>, [">= 0"])
72
- s.add_dependency(%q<bundler>, [">= 0"])
73
- s.add_dependency(%q<jeweler>, [">= 0"])
74
- s.add_dependency(%q<simplecov>, [">= 0"])
75
- s.add_dependency(%q<rdoc>, [">= 0"])
76
- s.add_dependency(%q<shoulda>, [">= 0"])
77
- s.add_dependency(%q<minitest>, [">= 0"])
75
+ s.add_dependency(%q<httparty>.freeze, ["~> 0.21.0"])
76
+ s.add_dependency(%q<bundler>.freeze, [">= 0"])
77
+ s.add_dependency(%q<jeweler>.freeze, [">= 0"])
78
+ s.add_dependency(%q<simplecov>.freeze, [">= 0"])
79
+ s.add_dependency(%q<rdoc>.freeze, [">= 0"])
80
+ s.add_dependency(%q<shoulda>.freeze, [">= 0"])
81
+ s.add_dependency(%q<minitest>.freeze, [">= 0"])
78
82
  end
79
83
  end
80
84
 
@@ -7,7 +7,7 @@ module Enrico
7
7
 
8
8
  include HTTParty
9
9
 
10
- base_uri 'http://kayaposoft.com/enrico/json/v1.0'
10
+ base_uri 'https://kayaposoft.com/enrico/json/v2.0'
11
11
 
12
12
  def initialize(country_code, region = nil)
13
13
  self.country_code = country_code
@@ -22,18 +22,18 @@ module Enrico
22
22
  self.class.all.select{|country| country["countryCode"] == self.country_code }.first
23
23
  end
24
24
 
25
- def public_holidays_for_month(date)
26
- response = self.get_public_holidays_for_month(date)
25
+ def holidays_for_month(date)
26
+ response = self.get_holidays_for_month(date)
27
27
  self.vacation_days_from_response(response)
28
28
  end
29
29
 
30
- def public_holidays_for_year(date)
31
- response = self.get_public_holidays_for_year(date)
30
+ def holidays_for_year(date)
31
+ response = self.get_holidays_for_year(date)
32
32
  self.vacation_days_from_response(response)
33
33
  end
34
34
 
35
- def public_holidays_for_date_range(from_date, to_date)
36
- response = self.get_public_holidays_for_date_range(from_date, to_date)
35
+ def holidays_for_date_range(from_date, to_date)
36
+ response = self.get_holidays_for_date_range(from_date, to_date)
37
37
  self.vacation_days_from_response(response)
38
38
  end
39
39
 
@@ -48,7 +48,7 @@ module Enrico
48
48
  end
49
49
 
50
50
  def self.get_countries
51
- JSON.parse(self.get("/?action=getSupportedCountries"))
51
+ self.get("/?action=getSupportedCountries")
52
52
  end
53
53
 
54
54
  def vacation_days_from_response(response)
@@ -56,37 +56,38 @@ module Enrico
56
56
  response.each do |vacation_day|
57
57
  vacation_days.push( Enrico::VacationDay.new(vacation_day) )
58
58
  end
59
- vacation_days
59
+ vacation_days
60
60
  end
61
61
 
62
- def country_parameters(params)
63
- base = { country: self.country_code, region: self.region }
64
- base.merge!(params)
65
- base.to_query
62
+ def country_parameters(params, holiday_type: nil)
63
+ {
64
+ country: self.country_code,
65
+ region: self.region
66
+ }
67
+ .merge(params)
68
+ .tap { |result| result[:holidayType] = holiday_type if holiday_type.present? }
69
+ .to_query
66
70
  end
67
71
 
68
72
  def is_public_holiday(date)
69
73
  params = country_parameters({date: date.strftime("%d-%m-%Y")})
70
- JSON.parse(self.class.get("/?action=isPublicHoliday&#{params}"))
74
+ self.class.get("/?action=isPublicHoliday&#{params}")
71
75
  end
72
76
 
73
- def get_public_holidays_for_month(date)
74
- params = country_parameters({month: date.month, year: date.year})
75
- JSON.parse(self.class.get("/?action=getPublicHolidaysForMonth&#{params}"))
77
+ def get_holidays_for_month(date, holiday_type: nil)
78
+ params = country_parameters({month: date.month, year: date.year}, holiday_type: holiday_type)
79
+ self.class.get("/?action=getHolidaysForMonth&#{params}")
76
80
  end
77
81
 
78
- def get_public_holidays_for_year(date)
79
- params = country_parameters({year: date.year})
80
- JSON.parse(self.class.get("/?action=getPublicHolidaysForYear&#{params}"))
82
+ def get_holidays_for_year(date, holiday_type: nil)
83
+ params = country_parameters({year: date.year}, holiday_type: holiday_type)
84
+ self.class.get("/?action=getHolidaysForYear&#{params}")
81
85
  end
82
86
 
83
- def get_public_holidays_for_date_range(from_date, to_date)
84
- params = country_parameters({fromDate: from_date.strftime("%d-%m-%Y"), toDate: to_date.strftime("%d-%m-%Y")})
85
- JSON.parse(self.class.get("/?action=getPublicHolidaysForDateRange&#{params}"))
87
+ def get_holidays_for_date_range(from_date, to_date, holiday_type: nil)
88
+ params = country_parameters({fromDate: from_date.strftime("%d-%m-%Y"), toDate: to_date.strftime("%d-%m-%Y")}, holiday_type: holiday_type)
89
+ self.class.get("/?action=getHolidaysForDateRange&#{params}")
86
90
  end
87
91
 
88
92
  end
89
93
  end
90
-
91
-
92
-
@@ -2,14 +2,12 @@
2
2
 
3
3
  module Enrico
4
4
  class VacationDay
5
-
6
5
  attr_accessor :date, :local_name, :english_name
7
6
 
8
7
  def initialize(args)
9
8
  self.date = Date.new( args["date"]["year"].to_i, args["date"]["month"].to_i, args["date"]["day"].to_i )
10
- self.local_name = args["localName"]
11
- self.english_name = args["englishName"]
9
+ self.local_name = args["name"][0]["text"]
10
+ self.english_name = args["name"][1].present? ? args["name"][1]["text"] : args["name"][0]["text"]
12
11
  end
13
-
14
12
  end
15
13
  end
data/mise.toml ADDED
@@ -0,0 +1,2 @@
1
+ [tools]
2
+ ruby = "2.6.10"
@@ -0,0 +1,110 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://kayaposoft.com/enrico/json/v2.0/?action=getHolidaysForDateRange&country=deu&fromDate=01-01-2020&region=&toDate=01-03-2020
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ Server:
16
+ - openresty
17
+ Date:
18
+ - Wed, 08 Apr 2020 18:04:50 GMT
19
+ Content-Type:
20
+ - application/json
21
+ Content-Length:
22
+ - '169'
23
+ Connection:
24
+ - keep-alive
25
+ Vary:
26
+ - Accept-Encoding
27
+ Access-Control-Allow-Origin:
28
+ - "*"
29
+ body:
30
+ encoding: UTF-8
31
+ string: '[{"date":{"day":1,"month":1,"year":2020,"dayOfWeek":3},"name":[{"lang":"de","text":"Neujahrstag"},{"lang":"en","text":"New
32
+ Year''s Day"}],"holidayType":"public_holiday"}]'
33
+ recorded_at: Wed, 08 Apr 2020 18:04:50 GMT
34
+ - request:
35
+ method: get
36
+ uri: https://kayaposoft.com/enrico/json/v2.0/?action=getHolidaysForDateRange&country=deu&fromDate=01-01-2020&region=&toDate=01-03-2020
37
+ body:
38
+ encoding: US-ASCII
39
+ string: ''
40
+ headers: {}
41
+ response:
42
+ status:
43
+ code: 200
44
+ message: OK
45
+ headers:
46
+ Server:
47
+ - openresty
48
+ Date:
49
+ - Tue, 14 Apr 2020 09:31:33 GMT
50
+ Content-Type:
51
+ - application/json
52
+ Content-Length:
53
+ - '169'
54
+ Connection:
55
+ - keep-alive
56
+ Vary:
57
+ - Accept-Encoding
58
+ Access-Control-Allow-Origin:
59
+ - "*"
60
+ body:
61
+ encoding: UTF-8
62
+ string: '[{"date":{"day":1,"month":1,"year":2020,"dayOfWeek":3},"name":[{"lang":"de","text":"Neujahrstag"},{"lang":"en","text":"New
63
+ Year''s Day"}],"holidayType":"public_holiday"}]'
64
+ recorded_at: Tue, 14 Apr 2020 09:31:35 GMT
65
+ - request:
66
+ method: get
67
+ uri: https://kayaposoft.com/enrico/json/v2.0/?action=getHolidaysForDateRange&country=deu&fromDate=01-01-2020&region=&toDate=31-03-2020
68
+ body:
69
+ encoding: US-ASCII
70
+ string: ''
71
+ headers:
72
+ Accept-Encoding:
73
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
74
+ Accept:
75
+ - "*/*"
76
+ User-Agent:
77
+ - Ruby
78
+ response:
79
+ status:
80
+ code: 200
81
+ message: OK
82
+ headers:
83
+ Server:
84
+ - openresty
85
+ Date:
86
+ - Tue, 17 Jun 2025 12:38:32 GMT
87
+ Content-Type:
88
+ - application/json
89
+ Transfer-Encoding:
90
+ - chunked
91
+ Connection:
92
+ - keep-alive
93
+ Keep-Alive:
94
+ - timeout=10
95
+ Vary:
96
+ - Accept-Encoding
97
+ Access-Control-Allow-Origin:
98
+ - "*"
99
+ Alt-Svc:
100
+ - h3=":443"; ma=86400
101
+ body:
102
+ encoding: ASCII-8BIT
103
+ string: '[{"date":{"day":1,"month":1,"year":2020,"dayOfWeek":3},"name":[{"lang":"de","text":"Neujahrstag"},{"lang":"en","text":"New
104
+ Year''s Day"}],"holidayType":"public_holiday"},{"date":{"day":8,"month":3,"year":2020,"dayOfWeek":7},"name":[{"lang":"de","text":"Internationaler
105
+ Frauentag"},{"lang":"en","text":"International Women''s Day"}],"holidayType":"other_day"},{"date":{"day":29,"month":3,"year":2020,"dayOfWeek":7},"name":[{"lang":"de","text":"Beginn
106
+ der Sommerzeit"},{"lang":"en","text":"Daylight Saving Time Starts"}],"note":[{"lang":"de","text":"Die
107
+ Uhr wird um eine Stunde von 2:00 Uhr auf 3:00 Uhr vorgestellt"},{"lang":"en","text":"A
108
+ one-hour shift occurs at 02:00 local time, the clock jumps forward to 03:00"}],"holidayType":"other_day"}]'
109
+ recorded_at: Tue, 17 Jun 2025 12:38:32 GMT
110
+ recorded_with: VCR 6.0.0