class Pushr::Feedback
Attributes
app[RW]
type[RW]
Public Class Methods
create(attributes = {})
click to toggle source
# File lib/pushr/feedback.rb, line 26 def self.create(attributes = {}) m = new(attributes) m.save m end
create!(attributes = {})
click to toggle source
# File lib/pushr/feedback.rb, line 32 def self.create!(attributes = {}) m = new(attributes) unless m.save raise Pushr::Error::RecordInvalid end m end
instantiate(config)
click to toggle source
# File lib/pushr/feedback.rb, line 51 def self.instantiate(config) hsh = ::MultiJson.load(config) klass = hsh['type'].split('::').reduce(Object) { |a, e| a.const_get e } klass.new(hsh) end
new(attributes = {})
click to toggle source
# File lib/pushr/feedback.rb, line 11 def initialize(attributes = {}) attributes.each do |name, value| send("#{name}=", value) if respond_to?("#{name}=") end end
next(timeout = 3)
click to toggle source
# File lib/pushr/feedback.rb, line 44 def self.next(timeout = 3) Pushr::Core.redis do |conn| feedback = conn.blpop('pushr:feedback', timeout: timeout) return instantiate(feedback[1]) if feedback end end
Public Instance Methods
save()
click to toggle source
# File lib/pushr/feedback.rb, line 17 def save if valid? Pushr::Core.redis { |conn| conn.rpush('pushr:feedback', to_json) } return true else return false end end
to_json()
click to toggle source
# File lib/pushr/feedback.rb, line 40 def to_json MultiJson.dump(to_hash) end