Module: Ruflet::Protocol
- Defined in:
- lib/ruflet_protocol/ruflet/protocol.rb
Defined Under Namespace
Classes: DateTimeValue, DurationValue, TimeOfDayValue
Constant Summary
collapse
- ACTIONS =
{
register_client: 1,
patch_control: 2,
control_event: 3,
update_control: 4,
invoke_control_method: 5,
session_crashed: 6,
python_output: 7,
register_web_client: "registerWebClient",
page_event_from_web: "pageEventFromWeb",
update_control_props: "updateControlProps"
}.freeze
Class Method Summary
collapse
Class Method Details
.date_time(value) ⇒ Object
29
30
31
32
33
|
# File 'lib/ruflet_protocol/ruflet/protocol.rb', line 29
def date_time(value)
return value if value.nil? || value.is_a?(DateTimeValue)
DateTimeValue.new(value.to_s)
end
|
.duration(value) ⇒ Object
41
42
43
44
45
|
# File 'lib/ruflet_protocol/ruflet/protocol.rb', line 41
def duration(value)
return value if value.nil? || value.is_a?(DurationValue)
DurationValue.new(value.to_s)
end
|
.normalize_control_event_payload(payload) ⇒ Object
66
67
68
69
70
71
72
|
# File 'lib/ruflet_protocol/ruflet/protocol.rb', line 66
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/ruflet_protocol/ruflet/protocol.rb', line 51
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"],
"window" => page["window"] || {},
"media" => page["media"] || {}
}
end
|
.normalize_update_control_payload(payload) ⇒ Object
74
75
76
77
78
79
|
# File 'lib/ruflet_protocol/ruflet/protocol.rb', line 74
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
47
48
49
|
# File 'lib/ruflet_protocol/ruflet/protocol.rb', line 47
def pack_message(action:, payload:)
[action, payload]
end
|
.register_response(session_id:) ⇒ Object
81
82
83
84
85
86
87
|
# File 'lib/ruflet_protocol/ruflet/protocol.rb', line 81
def register_response(session_id:)
{
"session_id" => session_id,
"page_patch" => {},
"error" => ""
}
end
|
.time_of_day(value) ⇒ Object
35
36
37
38
39
|
# File 'lib/ruflet_protocol/ruflet/protocol.rb', line 35
def time_of_day(value)
return value if value.nil? || value.is_a?(TimeOfDayValue)
TimeOfDayValue.new(value.to_s)
end
|