Sha256: 37c376d9122b2f1f16dcbfec35e0cab613de415b6971d5b6509dad7bccb49e35

Contents?: true

Size: 1.11 KB

Versions: 2

Compression:

Stored size: 1.11 KB

Contents

# frozen_string_literal: true

new({ particle: :connection, category: :communication, type: :hash }) do |params, bloc|

  # FIXME :  html method shouldn't be here
  html.connect(params, &bloc)
end

new({ particle: :message, category: :communication, type: :hash }) do |params, bloc|
  if Universe.database_ready
    params = { data: params } unless params.instance_of? Hash
    message_id= "msg_#{Universe.messages.length}"
    params[:message_id]=message_id
    Universe.store_messages({msg_nb:message_id, proc: bloc })
    html.send_message(params)
  else
    puts "server not ready "
  end


end



new({ particle: :int8, category: :communication, type: :int })

# new({ particle: :language, category: :communication, type: :string }) do |params|
#   @data = int8[params]
#   params
# end
# method below are used for communication with native core
def receptor(msg)
  parsed = JSON.parse(msg)
  A.controller_code[:controller].call(parsed)
end

new({ particle: :controller, category: :communication, type: :hash }) do |msg|
  Atome.controller_sender(msg)
end

new({post: :controller}) do |_p, bloc|
  @controller_proc << bloc
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
atome-0.5.7.5.1 lib/atome/genesis/particles/communication.rb
atome-0.5.7.4.8 lib/atome/genesis/particles/communication.rb