class Mhc::DataStore::CacheEntry

Attributes

categories[R]
location[R]
mission[R]
mtime[R]
range[R]
recurrence[R]
subject[R]
uid[R]

Public Class Methods

new(filename) click to toggle source
# File lib/mhc/datastore.rb, line 175
def initialize(filename)
  @mtime = File.mtime(filename).to_i

  event = Event.parse_file(filename)
  @uid            = event.uid.to_s
  @subject        = event.subject.to_s
  @location       = event.location.to_s
  @categories     = event.categories.map {|c| c.to_s.downcase}
  @recurrence     = event.recurrence_tag.to_s
  @mission        = event.mission_tag.to_s
  @range          = event.range.min.absolute_from_epoch ..
                    event.range.max.absolute_from_epoch
end

Public Instance Methods

in_category?(category) click to toggle source
# File lib/mhc/datastore.rb, line 189
def in_category?(category)
  @categories.member?(category.downcase)
end
in_range?(range) click to toggle source
# File lib/mhc/datastore.rb, line 193
def in_range?(range)
  range.min <= @range.max && @range.min <= range.max
end
in_recurrence?(recurrence) click to toggle source
# File lib/mhc/datastore.rb, line 197
def in_recurrence?(recurrence)
  @recurrence && @recurrence.downcase == recurrence.downcase
end