lib/repeatable/schedule.rb in repeatable-0.1.0 vs lib/repeatable/schedule.rb in repeatable-0.2.0
- old
+ new
@@ -1,11 +1,18 @@
require 'active_support/core_ext/string/inflections'
module Repeatable
class Schedule
def initialize(args)
- @expression = build_expression(args)
+ case args
+ when Hash
+ @expression = build_expression(args)
+ when Repeatable::Expression::Base
+ @expression = args
+ else
+ fail ArgumentError, "Can't build a Repeatable::Schedule from #{args.class}"
+ end
end
def occurrences(start_date, end_date)
start_date = Date(start_date)
end_date = Date(end_date)
@@ -21,9 +28,13 @@
end
def include?(date = Date.today)
date = Date(date)
expression.include?(date)
+ end
+
+ def to_h
+ expression.to_h
end
private
attr_reader :expression