Class: SchwabRb::Stream::MessageBuilder
- Inherits:
-
Object
- Object
- SchwabRb::Stream::MessageBuilder
- Defined in:
- lib/schwab_rb/stream/message_builder.rb
Instance Method Summary collapse
- #build_login(access_token, channel, function_id) ⇒ Object
- #build_logout ⇒ Object
- #build_request(service, command, keys: nil, fields: nil) ⇒ Object
-
#initialize(customer_id, correl_id) ⇒ MessageBuilder
constructor
A new instance of MessageBuilder.
- #wrap_requests(*requests) ⇒ Object
Constructor Details
#initialize(customer_id, correl_id) ⇒ MessageBuilder
Returns a new instance of MessageBuilder.
8 9 10 11 12 |
# File 'lib/schwab_rb/stream/message_builder.rb', line 8 def initialize(customer_id, correl_id) @customer_id = customer_id @correl_id = correl_id @request_id = 0 end |
Instance Method Details
#build_login(access_token, channel, function_id) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/schwab_rb/stream/message_builder.rb', line 14 def build_login(access_token, channel, function_id) { "service" => "ADMIN", "command" => Commands::LOGIN, "requestid" => next_request_id, "SchwabClientCustomerId" => @customer_id, "SchwabClientCorrelId" => @correl_id, "parameters" => { "Authorization" => access_token, "SchwabClientChannel" => channel, "SchwabClientFunctionId" => function_id } } end |
#build_logout ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/schwab_rb/stream/message_builder.rb', line 29 def build_logout { "service" => "ADMIN", "command" => Commands::LOGOUT, "requestid" => next_request_id, "SchwabClientCustomerId" => @customer_id, "SchwabClientCorrelId" => @correl_id } end |
#build_request(service, command, keys: nil, fields: nil) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/schwab_rb/stream/message_builder.rb', line 39 def build_request(service, command, keys: nil, fields: nil) request = { "service" => service, "command" => command, "requestid" => next_request_id, "SchwabClientCustomerId" => @customer_id, "SchwabClientCorrelId" => @correl_id, "parameters" => {} } request["parameters"]["keys"] = Array(keys).join(",") if keys request["parameters"]["fields"] = Fields.resolve(service, fields).join(",") if fields request end |
#wrap_requests(*requests) ⇒ Object
55 56 57 |
# File 'lib/schwab_rb/stream/message_builder.rb', line 55 def wrap_requests(*requests) { "requests" => requests.flatten }.to_json end |