Sha256: aaf8bbbf178d694f0937b38a352bbea25eed5dd6c2e123bc00a354e6069ef97d

Contents?: true

Size: 910 Bytes

Versions: 1

Compression:

Stored size: 910 Bytes

Contents

require "hiccup"
require "active_model/validations"


module Hiccup
  class Schedule
    extend Hiccup
    include ActiveModel::Validations
    
    
    hiccup :enumerable,
           :validatable,
           :humanizable,
           :serializable => [:ical]
    
    
    def initialize(options={})
      @kind       = options[:kind] || :never
      @start_date = options[:start_date] || Date.today
      @ends       = options.key?(:ends) ? options[:ends] : false
      @end_date   = options[:end_date]
      @skip       = options[:skip] || options[:interval] || 1
      @pattern    = options[:pattern] || []
    end
    
    
    attr_accessor :kind, :start_date, :ends, :end_date, :skip, :pattern
    
    
    def to_hash
      {
        :kind => kind,
        :start_date => start_date,
        :ends => ends,
        :end_date => end_date,
        :pattern => pattern
      }
    end
    
    
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hiccup-0.2.0 lib/hiccup/schedule.rb