hanreki 1.0.0 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 69378428442222929c31ba165cf8213e804ce84f
4
- data.tar.gz: 7ee07bc29447c1d75d930e89418efe60ddf0fa78
3
+ metadata.gz: e19a99e96ee72d1f6259a403d3be1b18aa8141f2
4
+ data.tar.gz: 61b77c384c40eb397c0ca071cecbeac193332de7
5
5
  SHA512:
6
- metadata.gz: 194af880c2fe39643b839e9424fb4ef57855530043bc9549614af24431e65e12334bc182bc4961aa38ed0929132ce8261ab0634dad95ee288b3c18e6028608af
7
- data.tar.gz: 1331487c47e23072bcafca73a2918fc0c887a3e04fa1b2239975918ac689332be70a24f2127e6aa0b1c699ff60780efa702ac383984cebee76a17b4da3892340
6
+ metadata.gz: dc07f84b3368ffe36618ce9d39918cc4e8fd89c79b67d7b0719a5b8d34626bb76189046b6179090e083b8173b73165a16d47344a14da60042c3da11ab196f978
7
+ data.tar.gz: c9737f48c8221baaf4e50c4b7d0545d9469db75237041697eab1c5548d501e6020630857e7c2d8f5b1c51200ac2021b722574bfcc23872b96060d93c2540702a
data/lib/hanreki/event.rb CHANGED
@@ -4,7 +4,7 @@ require 'hanreki/time_util'
4
4
  # Event of CAMPHOR- Schedule
5
5
  class Event
6
6
  using ExtendTime
7
- WDAYS = %w(日 月 火 水 木 金 土)
7
+ DOWS = %w(日 月 火 水 木 金 土)
8
8
  attr_accessor :start, :end
9
9
  attr_accessor :public_summary, :private_summary
10
10
  attr_accessor :url
@@ -26,16 +26,19 @@ class Event
26
26
  def self.from_master(month, line)
27
27
  event = Event.new({})
28
28
  first_day = Date.parse("#{month}01")
29
- day, _, hour_start, hour_end, public_summary, private_summary, url = line.fields.map { |c| c.to_s.strip }
29
+ day, dow, hour_start, hour_end, public_summary, private_summary, url = line.fields.map { |c| c.to_s.strip }
30
30
  # Zero-fill (eg. 1 -> 01, 02 -> 02)
31
31
  day = day.rjust(2, "0")
32
32
  raise ArgumentError, 'invalid day' unless day.length == 2
33
33
  raise ArgumentError, 'invalid day' unless (first_day...first_day.next_month).include?(Date.parse("#{month}#{day}"))
34
- event.start = Time.parse("#{month}#{day} #{hour_start} +09:00")
35
- event.end = Time.parse("#{month}#{day} #{hour_end} +09:00")
34
+ event.start = Time.parse("#{month}#{day} #{hour_start} +09:00").getlocal("+09:00")
35
+ event.end = Time.parse("#{month}#{day} #{hour_end} +09:00").getlocal("+09:00")
36
36
  event.public_summary = public_summary unless public_summary.empty?
37
37
  event.private_summary = private_summary unless private_summary.empty?
38
38
  event.url = url unless url.empty?
39
+ # 曜日はインスタンス変数に保持しないのでここでチェックする
40
+ raise ArgumentError, 'invalid day of the week' unless DOWS.include? dow
41
+ raise ArgumentError, 'invalid day of the week' unless DOWS[event.start.wday] == dow
39
42
  event.validate
40
43
  event
41
44
  end
@@ -61,11 +64,11 @@ class Event
61
64
 
62
65
  # Format for master CSV files
63
66
  def to_master
64
- wday = WDAYS[@start.wday]
67
+ dow = DOWS[@start.wday]
65
68
  date_str = @start.strftime('%d')
66
69
  start_string = @start.strftime('%R')
67
70
  end_string = @end.strftime('%R')
68
- [date_str, wday, start_string, end_string, @public_summary, @private_summary, @url]
71
+ [date_str, dow, start_string, end_string, @public_summary, @private_summary, @url]
69
72
  end
70
73
 
71
74
  def private?
@@ -1,3 +1,3 @@
1
1
  module Hanreki
2
- VERSION = '1.0.0'
2
+ VERSION = '1.1.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hanreki
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - CAMPHOR-
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-03-21 00:00:00.000000000 Z
11
+ date: 2017-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -126,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
126
  version: '0'
127
127
  requirements: []
128
128
  rubyforge_project:
129
- rubygems_version: 2.6.8
129
+ rubygems_version: 2.2.0
130
130
  signing_key:
131
131
  specification_version: 4
132
132
  summary: Simple schedule manager for CAMPHOR-