class Bernstein::Message
Attributes
id[R]
osc_message[R]
Public Class Methods
build(address = '', *args)
click to toggle source
# File lib/bernstein/message.rb, line 16 def self.build(address = '', *args) Message.new(OSC::Message.new(address, *args)) end
build_from_string(message_string)
click to toggle source
only supports float arguments
# File lib/bernstein/message.rb, line 21 def self.build_from_string(message_string) address, args = parse_message_string(message_string) Message.new(OSC::Message.new(address, *args)) end
deserialize(serialized_msg)
click to toggle source
# File lib/bernstein/message.rb, line 26 def self.deserialize(serialized_msg) data = JSON.parse(serialized_msg) Message.new OSC::Message.new(data['address'], *data['args']), data['id'] end
get_queued_messages()
click to toggle source
# File lib/bernstein/message.rb, line 43 def self.get_queued_messages @@persister.queued_messages end
get_status(id)
click to toggle source
# File lib/bernstein/message.rb, line 35 def self.get_status(id) @@persister.status(id) end
new(osc_message, id = nil)
click to toggle source
# File lib/bernstein/message.rb, line 10 def initialize(osc_message, id = nil) @osc_message = osc_message @id = id || new_id @is_saved = false end
set_as_sent!(id)
click to toggle source
# File lib/bernstein/message.rb, line 47 def self.set_as_sent!(id) @@persister.mark_as_sent(id) end
Protected Class Methods
parse_message_string(message_string)
click to toggle source
# File lib/bernstein/message.rb, line 73 def self.parse_message_string message_string message_array = message_string.split [message_array.shift, message_array.map{|arg| arg.to_f}] end
Public Instance Methods
==(other)
click to toggle source
# File lib/bernstein/message.rb, line 63 def ==(other) (self.class == other.class) && (self.osc_message == other.osc_message) && (self.id == other.id) end
save!()
click to toggle source
# File lib/bernstein/message.rb, line 51 def save! unless @is_saved @@persister.add(self) @is_saved = true end end
send!(expect_awk = true)
click to toggle source
# File lib/bernstein/message.rb, line 58 def send!(expect_awk = true) @@osc_connection.send_message self, expect_awk @@persister.dequeue @id, !expect_awk end
serialize()
click to toggle source
# File lib/bernstein/message.rb, line 31 def serialize {'id' => @id, 'address' => @osc_message.address, 'args' => @osc_message.args}.to_json end
status()
click to toggle source
# File lib/bernstein/message.rb, line 39 def status @@persister.status(@id) end
Protected Instance Methods
new_id()
click to toggle source
# File lib/bernstein/message.rb, line 69 def new_id Time.now.to_f.to_s.delete('.') end