Module: Ruflet::Protocol
- Defined in:
- lib/ruflet_protocol/ruflet/protocol.rb
Constant Summary collapse
- ACTIONS =
{ register_client: 1, patch_control: 2, control_event: 3, update_control: 4, invoke_control_method: 5, session_crashed: 6, # Legacy JSON protocol aliases kept for compatibility. register_web_client: "registerWebClient", page_event_from_web: "pageEventFromWeb", update_control_props: "updateControlProps" }.freeze
Class Method Summary collapse
- .normalize_control_event_payload(payload) ⇒ Object
- .normalize_register_payload(payload) ⇒ Object
- .normalize_update_control_payload(payload) ⇒ Object
- .pack_message(action:, payload:) ⇒ Object
- .register_response(session_id:) ⇒ Object
Class Method Details
.normalize_control_event_payload(payload) ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/ruflet_protocol/ruflet/protocol.rb', line 39 def normalize_control_event_payload(payload) { "target" => payload["target"] || payload["eventTarget"], "name" => payload["name"] || payload["eventName"], "data" => payload["data"] || payload["eventData"] } end |
.normalize_register_payload(payload) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/ruflet_protocol/ruflet/protocol.rb', line 25 def normalize_register_payload(payload) page = payload["page"] || {} { "session_id" => payload["session_id"], "page_name" => payload["page_name"] || "", "route" => page["route"] || "/", "width" => page["width"], "height" => page["height"], "platform" => page["platform"], "platform_brightness" => page["platform_brightness"], "media" => page["media"] || {} } end |
.normalize_update_control_payload(payload) ⇒ Object
47 48 49 50 51 52 |
# File 'lib/ruflet_protocol/ruflet/protocol.rb', line 47 def normalize_update_control_payload(payload) { "id" => payload["id"] || payload["target"] || payload["eventTarget"], "props" => payload["props"].is_a?(Hash) ? payload["props"] : {} } end |
.pack_message(action:, payload:) ⇒ Object
21 22 23 |
# File 'lib/ruflet_protocol/ruflet/protocol.rb', line 21 def (action:, payload:) [action, payload] end |
.register_response(session_id:) ⇒ Object
54 55 56 57 58 59 60 |
# File 'lib/ruflet_protocol/ruflet/protocol.rb', line 54 def register_response(session_id:) { "session_id" => session_id, "page_patch" => {}, "error" => nil } end |