Sha256: 91e5ff02e7183888f042d0f57bf2e3dad29db3be49c537f086db410e44da0d1b
Contents?: true
Size: 1.14 KB
Versions: 11
Compression:
Stored size: 1.14 KB
Contents
require "hiccup" require "active_model" module Hiccup class Schedule extend Hiccup include ActiveModel::Validations hiccup :enumerable, :validatable, :humanizable, :inferable, :serializable => [:ical] def initialize(options={}) @kind =(options[:kind] || :never).to_sym @start_date =(options[:start_date] || Date.today).to_date @ends = options.key?(:ends) ? options[:ends] : false @end_date = options[:end_date] ? options[:end_date].to_date : nil @skip =(options[:skip] || options[:interval] || 1).to_i @weekly_pattern = options[:weekly_pattern] || [] @monthly_pattern = options[:monthly_pattern] || [] end attr_accessor :kind, :start_date, :ends, :end_date, :skip, :weekly_pattern, :monthly_pattern def to_hash { :kind => kind, :start_date => start_date, :ends => ends, :end_date => end_date, :weekly_pattern => weekly_pattern, :monthly_pattern => monthly_pattern } end end end
Version data entries
11 entries across 11 versions & 1 rubygems