when_exe 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.
- data/lib/when_exe/coordinates.rb +6 -1
- data/lib/when_exe/icalendar.rb +1 -0
- data/lib/when_exe/version.rb +1 -1
- data/test/test.rb +1 -1
- data/test/test/googlecalendar.rb +30 -21
- data/when_exe.gemspec +1 -1
- metadata +4 -3
data/lib/when_exe/coordinates.rb
CHANGED
@@ -1957,7 +1957,12 @@ module When::Coordinates
|
|
1957
1957
|
end
|
1958
1958
|
} unless When::Parts::MethodCash.escape(name)
|
1959
1959
|
return @note.send(name, *(args + [self]), &block)
|
1960
|
-
elsif
|
1960
|
+
elsif When::Ephemeris::Formula.method_defined?(name)
|
1961
|
+
unless respond_to?(:forwarded_formula, true)
|
1962
|
+
instance_eval('class << self; include When::Ephemeris::Formula::Methods; end')
|
1963
|
+
@formula ||= When::Ephemeris::Formula.new({:location=>@location})
|
1964
|
+
@formula = When.Resource(Array(@formula), '_ep:')
|
1965
|
+
end
|
1961
1966
|
instance_eval %Q{
|
1962
1967
|
def #{name}(*args, &block)
|
1963
1968
|
forward = forwarded_formula("#{name}", args[0])
|
data/lib/when_exe/icalendar.rb
CHANGED
@@ -52,6 +52,7 @@
|
|
52
52
|
# * NAMESPACE Property を追加
|
53
53
|
# * LOCALE Property を追加
|
54
54
|
# * SUMMARY Property で[...]表現を多言語対応文字列として解釈する
|
55
|
+
# * RFC6350 ( http://tools.ietf.org/html/rfc6350 ) 方式にも対応
|
55
56
|
# === Content Lines
|
56
57
|
# RFC 5545 3.1 Content Lines では、記述が75文字を超える場合、改行してインデントする。
|
57
58
|
# 本ライブラリでは文字数によらず、BEGIN:の次の行を基準にして、より深いインデントがある場合は、
|
data/lib/when_exe/version.rb
CHANGED
data/test/test.rb
CHANGED
@@ -40,7 +40,7 @@ require './test/tmreference'
|
|
40
40
|
require './test/tmposition'
|
41
41
|
require './test/calendartypes'
|
42
42
|
require './test/inspect'
|
43
|
-
|
43
|
+
require './test/googlecalendar'
|
44
44
|
require './test/region/m17n'
|
45
45
|
require './test/region/residue'
|
46
46
|
require './test/region/civil'
|
data/test/test/googlecalendar.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2012-
|
3
|
+
Copyright (C) 2012-2014 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
@@ -51,22 +51,28 @@ END:VTIMEZONE
|
|
51
51
|
RECURRENCE
|
52
52
|
|
53
53
|
HOLIDAYS = [
|
54
|
-
["元日",
|
55
|
-
["
|
56
|
-
["
|
57
|
-
["
|
58
|
-
|
59
|
-
["
|
60
|
-
["
|
61
|
-
["
|
62
|
-
["
|
63
|
-
["
|
64
|
-
|
65
|
-
["
|
66
|
-
["
|
67
|
-
["
|
68
|
-
["
|
69
|
-
|
54
|
+
["元日", "2012-01-01T00:00:00.00+09:00", "2012-01-02T00:00:00.00+09:00"],
|
55
|
+
["元日 振替休日", "2012-01-02T00:00:00.00+09:00", "2012-01-03T00:00:00.00+09:00"],
|
56
|
+
["銀行休業日", "2012-01-02T00:00:00.00+09:00", "2012-01-03T00:00:00.00+09:00"],
|
57
|
+
["銀行休業日", "2012-01-03T00:00:00.00+09:00", "2012-01-04T00:00:00.00+09:00"],
|
58
|
+
["成人の日", "2012-01-09T00:00:00.00+09:00", "2012-01-10T00:00:00.00+09:00"],
|
59
|
+
["建国記念の日", "2012-02-11T00:00:00.00+09:00", "2012-02-12T00:00:00.00+09:00"],
|
60
|
+
["春分の日", "2012-03-20T00:00:00.00+09:00", "2012-03-21T00:00:00.00+09:00"],
|
61
|
+
["昭和の日", "2012-04-29T00:00:00.00+09:00", "2012-04-30T00:00:00.00+09:00"],
|
62
|
+
["昭和の日 振替休日", "2012-04-30T00:00:00.00+09:00", "2012-05-01T00:00:00.00+09:00"],
|
63
|
+
["憲法記念日", "2012-05-03T00:00:00.00+09:00", "2012-05-04T00:00:00.00+09:00"],
|
64
|
+
["みどりの日", "2012-05-04T00:00:00.00+09:00", "2012-05-05T00:00:00.00+09:00"],
|
65
|
+
["こどもの日", "2012-05-05T00:00:00.00+09:00", "2012-05-06T00:00:00.00+09:00"],
|
66
|
+
["海の日", "2012-07-16T00:00:00.00+09:00", "2012-07-17T00:00:00.00+09:00"],
|
67
|
+
["敬老の日", "2012-09-17T00:00:00.00+09:00", "2012-09-18T00:00:00.00+09:00"],
|
68
|
+
["秋分の日", "2012-09-22T00:00:00.00+09:00", "2012-09-23T00:00:00.00+09:00"],
|
69
|
+
["体育の日", "2012-10-08T00:00:00.00+09:00", "2012-10-09T00:00:00.00+09:00"],
|
70
|
+
["文化の日", "2012-11-03T00:00:00.00+09:00", "2012-11-04T00:00:00.00+09:00"],
|
71
|
+
["勤労感謝の日", "2012-11-23T00:00:00.00+09:00", "2012-11-24T00:00:00.00+09:00"],
|
72
|
+
["天皇誕生日", "2012-12-23T00:00:00.00+09:00", "2012-12-24T00:00:00.00+09:00"],
|
73
|
+
["天皇誕生日 振替休日", "2012-12-24T00:00:00.00+09:00", "2012-12-25T00:00:00.00+09:00"],
|
74
|
+
["クリスマス", "2012-12-25T00:00:00.00+09:00", "2012-12-26T00:00:00.00+09:00"],
|
75
|
+
["大晦日", "2012-12-31T00:00:00.00+09:00", "2013-01-01T00:00:00.00+09:00"]
|
70
76
|
]
|
71
77
|
|
72
78
|
WEEKLY_EVENTS = [
|
@@ -84,6 +90,7 @@ RECURRENCE
|
|
84
90
|
end
|
85
91
|
|
86
92
|
if const_defined?(:PASSWORD) && Object.const_defined?(:GoogleCalendar)
|
93
|
+
|
87
94
|
def test__to_vevent
|
88
95
|
holidays = HOLIDAYS.dup
|
89
96
|
gcal = get_cal(PUBLIC_FEED % ['japanese', 'ja'])
|
@@ -105,19 +112,21 @@ RECURRENCE
|
|
105
112
|
end
|
106
113
|
event = When.Resource("examples/JapanHolidays.ics::Ganjitsu").to_gcalevent(gcal)
|
107
114
|
event.save!
|
108
|
-
holidays = [RULE0]
|
115
|
+
holidays = [RULE0] * 2
|
109
116
|
gcal.events(period).each do |event|
|
110
117
|
assert_equal(holidays.shift, event.recurrence)
|
111
118
|
end
|
112
|
-
|
119
|
+
pp 'WARN: event is duplicated.' if holidays.size == 0
|
120
|
+
assert_equal(true, (0..1).include?(holidays.size))
|
113
121
|
end
|
114
122
|
|
115
123
|
def test__enum_for
|
116
124
|
holidays = HOLIDAYS.dup
|
125
|
+
holidays.delete_at(2)
|
117
126
|
gcal = get_cal(PUBLIC_FEED % ['japanese', 'ja'])
|
118
127
|
gcal.enum_for({'start-min'=>'2012-01-01', 'start-max'=>'2013-01-01'}).each do |date|
|
119
|
-
|
120
|
-
|
128
|
+
sample = holidays.shift
|
129
|
+
assert_equal(sample[1] + '...' + sample[2], date.to_s)
|
121
130
|
end
|
122
131
|
assert_equal(0, holidays.size)
|
123
132
|
end
|
data/when_exe.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.email = ["suchowan@box.email.ne.jp"]
|
10
10
|
s.homepage = "http://www.asahi-net.or.jp/~dd6t-sg/"
|
11
11
|
s.summary = %q{A multicultural and multilingualized calendar library based on ISO 8601, ISO 19108 and RFC 5545}
|
12
|
-
s.description = %q{This library supports ISO 8601, ISO 19108, RFC 5545 and RFC6350. This version is a beta version and in the evaluation stage. So, its APIs may be changed in future.}
|
12
|
+
s.description = %q{This library supports ISO 8601, ISO 19108, RFC 5545 and RFC6350. This version is a beta version and in the evaluation stage. So, its APIs may be changed in future. Please refer to http://suchowan.at.webry.info/theme/a543700674.html for the recent history (Sorry only in Japanese).}
|
13
13
|
|
14
14
|
s.rubyforge_project = "when_exe"
|
15
15
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: when_exe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-02-
|
12
|
+
date: 2014-02-10 00:00:00.000000000Z
|
13
13
|
dependencies: []
|
14
14
|
description: This library supports ISO 8601, ISO 19108, RFC 5545 and RFC6350. This
|
15
15
|
version is a beta version and in the evaluation stage. So, its APIs may be changed
|
16
|
-
in future.
|
16
|
+
in future. Please refer to http://suchowan.at.webry.info/theme/a543700674.html for
|
17
|
+
the recent history (Sorry only in Japanese).
|
17
18
|
email:
|
18
19
|
- suchowan@box.email.ne.jp
|
19
20
|
executables:
|