Sha256: 5ea8d3556c36cf884b8d8306c26821509425e75f156c8d3714a28ec520810cdb
Contents?: true
Size: 1.08 KB
Versions: 2
Compression:
Stored size: 1.08 KB
Contents
module OcarinaOfTime Struct.new("EventData", :id, :label, :tags, :time, :created, :value) class Event attr_reader :data def initialize(args={}) @data = Struct::EventData.new @data.id = SecureRandom.uuid @data.label = args[:label] || false @data.value = args[:value] || false @data.tags = Set.new creation_time = Time.now @data.time = args[:time] || creation_time @data.created = args[:created] || creation_time if args[:tags] add_tags(args[:tags]) end end def id @data.id end def label @data.label end def time @data.time end def created @data.created end def time? @data.tags.time ? true : false end def tags @data.tags.to_a end def tags? @data.tags.empty? ? false : true end def add_tags(tags) if tags.is_a? Array tags.each do |tag| @data.tags << tag end elsif tags.is_a? String @data.tags << tags end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ocarina_of_time-1.0.1 | lib/ocarina_of_time/event.rb |
ocarina_of_time-1.0.0 | lib/ocarina_of_time/event.rb |