Class: NabaztagHackKit::Server

Inherits:
Sinatra::Base
  • Object
show all
Includes:
Message::Api
Defined in:
lib/nabaztag_hack_kit/server.rb

Constant Summary

Constants included from Message::Api

Message::Api::B, Message::Api::EAR_L, Message::Api::EAR_LL, Message::Api::EAR_LR, Message::Api::EAR_R, Message::Api::ERROR, Message::Api::F, Message::Api::INIT, Message::Api::LED_0, Message::Api::LED_1, Message::Api::LED_2, Message::Api::LED_3, Message::Api::LED_4, Message::Api::LED_L0, Message::Api::LED_L1, Message::Api::LED_L2, Message::Api::LED_L3, Message::Api::LED_L4, Message::Api::LOG, Message::Api::OK, Message::Api::REBOOT

Instance Method Summary collapse

Methods included from Message::Api

#rgb

Constructor Details

#initialize(bytecode_path = nil) ⇒ Server

Returns a new instance of Server.



10
11
12
13
# File 'lib/nabaztag_hack_kit/server.rb', line 10

def initialize(bytecode_path = nil)
  super
  @bytecode_path = bytecode_path || File.join('public', 'bytecode.bin')
end

Instance Method Details

#parse_log(logs) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/nabaztag_hack_kit/server.rb', line 19

def parse_log(logs)
  logs.to_s.split("|").map do |line|
    type, time, *values = line.split(",")
    time = time.to_i
    values = values.map &:to_i

    if type == "moved"
      values << (time - values[1]) << (values[1] - values[2]) << (time - values[2]) << (time - values[3])
    end
    "#{type}-#{time}: #{values.join("\t")}"
  end
end

#send_nabaztag(*data) ⇒ Object



15
16
17
# File 'lib/nabaztag_hack_kit/server.rb', line 15

def send_nabaztag(*data)
  Message.build(*data)
end