Class: UserQ::Entry
- Inherits:
-
Object
- Object
- UserQ::Entry
- Defined in:
- lib/userq.rb
Instance Attribute Summary collapse
-
#code ⇒ Object
Returns the value of attribute code.
-
#entry ⇒ Object
Returns the value of attribute entry.
Instance Method Summary collapse
- #alive ⇒ Object
-
#alive? ⇒ Boolean
Opposite of expired?.
- #data ⇒ Object
- #expire ⇒ Object
- #expired? ⇒ Boolean
- #expires ⇒ Object
- #extend(seconds) ⇒ Object
-
#initialize(code) ⇒ Entry
constructor
A new instance of Entry.
- #remove ⇒ Object
- #removed? ⇒ Boolean
- #shorten(seconds) ⇒ Object
- #valid_context?(context) ⇒ Boolean
Constructor Details
#initialize(code) ⇒ Entry
Returns a new instance of Entry.
81 82 83 84 85 86 87 |
# File 'lib/userq.rb', line 81 def initialize code self.entry = UserQ::UserQueue.find_by_code(self.code = code) raise "Entry code #{code} not valid" if self.entry.count == 0 # Woohoo! self.entry = self.entry.first end |
Instance Attribute Details
#code ⇒ Object
Returns the value of attribute code.
79 80 81 |
# File 'lib/userq.rb', line 79 def code @code end |
#entry ⇒ Object
Returns the value of attribute entry.
79 80 81 |
# File 'lib/userq.rb', line 79 def entry @entry end |
Instance Method Details
#alive ⇒ Object
144 145 146 |
# File 'lib/userq.rb', line 144 def alive entry.created_at - UserQ::Internal.current_time end |
#alive? ⇒ Boolean
Opposite of expired?
97 98 99 |
# File 'lib/userq.rb', line 97 def alive? # Opposite of expired? entry.expires_at >= UserQ::Internal.current_time end |
#data ⇒ Object
148 149 150 |
# File 'lib/userq.rb', line 148 def data entry.data || Hash.new end |
#expire ⇒ Object
106 107 108 109 110 |
# File 'lib/userq.rb', line 106 def expire entry.expires_at = UserQ::Internal.current_time - 1 entry.save true end |
#expired? ⇒ Boolean
93 94 95 |
# File 'lib/userq.rb', line 93 def expired? entry.expires_at < UserQ::Internal.current_time end |
#expires ⇒ Object
101 102 103 104 |
# File 'lib/userq.rb', line 101 def expires expires = (entry.expires_at - UserQ::Internal.current_time).floor expires > -1 ? expires : -1 end |
#extend(seconds) ⇒ Object
132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/userq.rb', line 132 def extend seconds if entry.expires_at < UserQ::Internal.current_time entry.expires_at = UserQ::Internal.current_time + seconds else entry.expires_at += seconds end entry.save expires end |
#remove ⇒ Object
112 113 114 115 116 117 |
# File 'lib/userq.rb', line 112 def remove entry.destroy entry = nil code = nil true end |
#removed? ⇒ Boolean
119 120 121 122 |
# File 'lib/userq.rb', line 119 def removed? true if entry.nil? or code.nil? false end |
#shorten(seconds) ⇒ Object
124 125 126 127 128 129 130 |
# File 'lib/userq.rb', line 124 def shorten seconds entry.expires_at -= seconds if entry.expires_at >= UserQ::Internal.current_time entry.save expires end |
#valid_context?(context) ⇒ Boolean
89 90 91 |
# File 'lib/userq.rb', line 89 def valid_context? context entry.context == context end |