schedulicon 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,10 +10,10 @@ module Schedulicon
10
10
  attr_accessor :frequency, :day_of_week, :start_at, :end_on
11
11
 
12
12
  def initialize(attrs={})
13
- @frequency = attrs[:frequency] || :every
14
- @day_of_week = attrs[:day_of_week] || Schedulicon::MONDAY
15
- @start_at = attrs[:start_at]
16
- @end_on = attrs[:end_on]
13
+ @start_at = Time.xmlschema(attrs['start_at']).localtime if attrs['start_at']
14
+ @end_on = Time.xmlschema(attrs['end_on']).localtime if attrs['end_on']
15
+ @day_of_week = attrs['day_of_week'] ? attrs['day_of_week'].to_i : Schedulicon::MONDAY
16
+ @frequency = attrs['frequency'] ? attrs['frequency'].to_sym : :every
17
17
  end
18
18
 
19
19
  # Public: Hash of attributes that can be used to deserialise item from
@@ -21,22 +21,21 @@ module Schedulicon
21
21
  def to_hash
22
22
  hash = {
23
23
  'frequency' => frequency,
24
- 'start_at' => start_at.xmlschema,
25
24
  'day_of_week' => day_of_week
26
25
  }
26
+ hash['start_at'] = start_at.xmlschema if start_at
27
27
  hash['end_on'] = end_on.xmlschema if end_on
28
28
  hash
29
29
  end
30
30
 
31
+ def attributes
32
+ to_hash
33
+ end
34
+
31
35
  # Public: load schedule from the hash
32
36
  #
33
37
  def self.load(attrs)
34
- schedule = Schedule.new
35
- schedule.start_at = Time.xmlschema(attrs['start_at']).localtime
36
- schedule.end_on = Time.xmlschema(attrs['end_on']).localtime if attrs['end_on']
37
- schedule.day_of_week = attrs['day_of_week'].to_i
38
- schedule.frequency = attrs['frequency'].to_sym
39
- schedule
38
+ Schedule.new(attrs)
40
39
  end
41
40
 
42
41
  # Public: generates the expression required to generate the schedule dates
@@ -1,3 +1,3 @@
1
1
  module Schedulicon
2
- VERSION = "0.0.1".freeze
2
+ VERSION = "0.0.2".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schedulicon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-11 00:00:00.000000000 Z
12
+ date: 2012-10-17 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Gem for recurring events
15
15
  email: adam.bird@gmail.com