finnish-holidays 0.1.4 → 0.1.6
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/bin/finnish-holidays +14 -2
- data/finnish-holidays.gemspec +2 -2
- data/lib/{calendar.rb → classes/calendar.rb} +3 -14
- data/lib/{year.rb → classes/year.rb} +10 -9
- data/lib/finnish-holidays.rb +3 -3
- data/lib/{date-utils.rb → utils/date-utils.rb} +0 -0
- data/lib/version.rb +1 -1
- metadata +24 -24
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 30218b8e1bae7a864a62a2f7d13477e1654b3f49
|
|
4
|
+
data.tar.gz: c1e148429bf248bf5c4eec2b15842f09646b3a73
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 77f13ba900cf0864ebf9c4eebb75fbbafe5e2851c014d41b98b5a1d06d7bdf072e2db5d5b09a1fc565e692d9bf2a745c13a3cedfa02c10a84adc2d0bf137476e
|
|
7
|
+
data.tar.gz: ed5fb7cf3f20f26a440cb9857b817fca200081ec4295e05a71a3702321a46fa6e24701070d8e2dfeb9e7e55a5ce71e4b93d24088d508d7b7c0b0aa290199a0d7
|
data/bin/finnish-holidays
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
# encoding: UTF-8
|
|
3
3
|
|
|
4
4
|
require 'optparse'
|
|
5
|
-
require_relative '../lib/
|
|
5
|
+
require_relative '../lib/finnish-holidays'
|
|
6
|
+
require_relative '../lib/version'
|
|
7
|
+
require_relative '../lib/utils/date-utils'
|
|
6
8
|
|
|
7
9
|
options = {}
|
|
8
10
|
|
|
@@ -21,8 +23,18 @@ optparse = OptionParser.new do |opts|
|
|
|
21
23
|
puts opts
|
|
22
24
|
exit
|
|
23
25
|
end
|
|
26
|
+
|
|
27
|
+
opts.on('-v', '--version', 'Show version') do
|
|
28
|
+
puts FinnishHolidays::VERSION
|
|
29
|
+
exit
|
|
30
|
+
end
|
|
24
31
|
end
|
|
25
32
|
|
|
26
33
|
optparse.parse!
|
|
27
34
|
|
|
28
|
-
|
|
35
|
+
holidays = FinnishHolidays.holidays(options[:count], options[:all])
|
|
36
|
+
holidays.each do |holiday|
|
|
37
|
+
t = DateUtils.create_date(holiday['year'], holiday['month'], holiday['day'])
|
|
38
|
+
date = t.strftime('%a, %b %e, %Y')
|
|
39
|
+
puts "#{date} #{holiday['description']}"
|
|
40
|
+
end
|
data/finnish-holidays.gemspec
CHANGED
|
@@ -27,8 +27,8 @@ Gem::Specification.new do |spec|
|
|
|
27
27
|
spec.executables = "finnish-holidays"
|
|
28
28
|
spec.require_paths = ["lib"]
|
|
29
29
|
|
|
30
|
-
spec.add_dependency "nokogiri", "~> 1.6
|
|
31
|
-
spec.add_dependency "json", "~> 1.8
|
|
30
|
+
spec.add_dependency "nokogiri", "~> 1.6"
|
|
31
|
+
spec.add_dependency "json", "~> 1.8"
|
|
32
32
|
|
|
33
33
|
spec.add_development_dependency "bundler", "~> 1.9"
|
|
34
34
|
spec.add_development_dependency "rake", "~> 10.0"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require 'json'
|
|
2
2
|
require 'time'
|
|
3
3
|
require_relative 'year'
|
|
4
|
-
require_relative 'date-utils'
|
|
4
|
+
require_relative '../utils/date-utils'
|
|
5
5
|
|
|
6
6
|
class Calendar
|
|
7
7
|
MAX_HOLIDAYS = 100
|
|
@@ -18,7 +18,7 @@ class Calendar
|
|
|
18
18
|
raise "Cannot request more than #{MAX_HOLIDAYS} holidays at once."
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
-
holidays =
|
|
21
|
+
holidays = []
|
|
22
22
|
|
|
23
23
|
while holidays.length < count
|
|
24
24
|
month_index = @m.to_s
|
|
@@ -43,20 +43,9 @@ class Calendar
|
|
|
43
43
|
holidays
|
|
44
44
|
end
|
|
45
45
|
|
|
46
|
-
def holidays_print(count = 3, all = false)
|
|
47
|
-
holidays = self.holidays(count, all)
|
|
48
|
-
|
|
49
|
-
holidays.each do |holiday|
|
|
50
|
-
t = DateUtils.create_date(holiday['year'], holiday['month'], holiday['day'])
|
|
51
|
-
date = t.strftime('%a, %b %e, %Y')
|
|
52
|
-
|
|
53
|
-
puts "#{date} #{holiday['description']}"
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
|
|
57
46
|
private
|
|
58
47
|
|
|
59
|
-
def next_month
|
|
48
|
+
def next_month
|
|
60
49
|
if @m == 12
|
|
61
50
|
@m = 1
|
|
62
51
|
@y += 1
|
|
@@ -2,7 +2,7 @@ require 'nokogiri'
|
|
|
2
2
|
require 'open-uri'
|
|
3
3
|
require 'json'
|
|
4
4
|
require 'time'
|
|
5
|
-
require_relative 'date-utils'
|
|
5
|
+
require_relative '../utils/date-utils'
|
|
6
6
|
|
|
7
7
|
class Year
|
|
8
8
|
def initialize(year)
|
|
@@ -15,11 +15,11 @@ class Year
|
|
|
15
15
|
end
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
def holidays
|
|
18
|
+
def holidays
|
|
19
19
|
@holidays
|
|
20
20
|
end
|
|
21
21
|
|
|
22
|
-
def discard_weekends
|
|
22
|
+
def discard_weekends
|
|
23
23
|
holidays = {}
|
|
24
24
|
|
|
25
25
|
@holidays.each do |month, array|
|
|
@@ -39,7 +39,7 @@ class Year
|
|
|
39
39
|
|
|
40
40
|
private
|
|
41
41
|
|
|
42
|
-
def load_data
|
|
42
|
+
def load_data
|
|
43
43
|
file = get_cache_file_path()
|
|
44
44
|
|
|
45
45
|
if File.exist?(file)
|
|
@@ -50,12 +50,12 @@ private
|
|
|
50
50
|
end
|
|
51
51
|
end
|
|
52
52
|
|
|
53
|
-
def load_from_file
|
|
53
|
+
def load_from_file
|
|
54
54
|
json = File.read(get_cache_file_path())
|
|
55
55
|
@holidays = JSON.parse(json)
|
|
56
56
|
end
|
|
57
57
|
|
|
58
|
-
def load_from_web
|
|
58
|
+
def load_from_web
|
|
59
59
|
page = Nokogiri::HTML(open('http://www.webcal.fi/fi-FI/pyhat.php?y=' + @year.to_s))
|
|
60
60
|
|
|
61
61
|
page.css('table.basic tr').each do |el|
|
|
@@ -91,11 +91,12 @@ private
|
|
|
91
91
|
@holidays[month].push(holiday)
|
|
92
92
|
end
|
|
93
93
|
|
|
94
|
-
def cache
|
|
94
|
+
def cache
|
|
95
95
|
File.write(get_cache_file_path(), @holidays.to_json)
|
|
96
96
|
end
|
|
97
97
|
|
|
98
|
-
def get_cache_file_path
|
|
99
|
-
|
|
98
|
+
def get_cache_file_path
|
|
99
|
+
cwd = File.dirname(__FILE__)
|
|
100
|
+
"#{cwd}/../../data/#{@year}.json"
|
|
100
101
|
end
|
|
101
102
|
end
|
data/lib/finnish-holidays.rb
CHANGED
|
File without changes
|
data/lib/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,69 +1,69 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: finnish-holidays
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eric Nishio
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-04-
|
|
11
|
+
date: 2015-04-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: nokogiri
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - ~>
|
|
17
|
+
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 1.6
|
|
19
|
+
version: '1.6'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- - ~>
|
|
24
|
+
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 1.6
|
|
26
|
+
version: '1.6'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: json
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- - ~>
|
|
31
|
+
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 1.8
|
|
33
|
+
version: '1.8'
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- - ~>
|
|
38
|
+
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 1.8
|
|
40
|
+
version: '1.8'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: bundler
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - ~>
|
|
45
|
+
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
47
|
version: '1.9'
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- - ~>
|
|
52
|
+
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '1.9'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: rake
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
|
-
- - ~>
|
|
59
|
+
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
61
|
version: '10.0'
|
|
62
62
|
type: :development
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
|
-
- - ~>
|
|
66
|
+
- - "~>"
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '10.0'
|
|
69
69
|
description: A CLI and library for displaying Finnish national holidays.
|
|
@@ -74,10 +74,10 @@ executables:
|
|
|
74
74
|
extensions: []
|
|
75
75
|
extra_rdoc_files: []
|
|
76
76
|
files:
|
|
77
|
-
- .editorconfig
|
|
78
|
-
- .gitignore
|
|
79
|
-
- .rspec
|
|
80
|
-
- .travis.yml
|
|
77
|
+
- ".editorconfig"
|
|
78
|
+
- ".gitignore"
|
|
79
|
+
- ".rspec"
|
|
80
|
+
- ".travis.yml"
|
|
81
81
|
- Gemfile
|
|
82
82
|
- Gemfile.lock
|
|
83
83
|
- LICENSE.txt
|
|
@@ -86,11 +86,11 @@ files:
|
|
|
86
86
|
- bin/finnish-holidays
|
|
87
87
|
- data/.gitkeep
|
|
88
88
|
- finnish-holidays.gemspec
|
|
89
|
-
- lib/calendar.rb
|
|
90
|
-
- lib/
|
|
89
|
+
- lib/classes/calendar.rb
|
|
90
|
+
- lib/classes/year.rb
|
|
91
91
|
- lib/finnish-holidays.rb
|
|
92
|
+
- lib/utils/date-utils.rb
|
|
92
93
|
- lib/version.rb
|
|
93
|
-
- lib/year.rb
|
|
94
94
|
homepage: https://github.com/ericnishio/finnish-holidays
|
|
95
95
|
licenses:
|
|
96
96
|
- MIT
|
|
@@ -102,17 +102,17 @@ require_paths:
|
|
|
102
102
|
- lib
|
|
103
103
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
104
104
|
requirements:
|
|
105
|
-
- -
|
|
105
|
+
- - ">="
|
|
106
106
|
- !ruby/object:Gem::Version
|
|
107
107
|
version: '0'
|
|
108
108
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
109
|
requirements:
|
|
110
|
-
- -
|
|
110
|
+
- - ">="
|
|
111
111
|
- !ruby/object:Gem::Version
|
|
112
112
|
version: '0'
|
|
113
113
|
requirements: []
|
|
114
114
|
rubyforge_project:
|
|
115
|
-
rubygems_version: 2.
|
|
115
|
+
rubygems_version: 2.2.2
|
|
116
116
|
signing_key:
|
|
117
117
|
specification_version: 4
|
|
118
118
|
summary: A tool for displaying Finnish national holidays.
|