class ReactWebpackRails::NodeIntegrationRunner

Attributes

integration_name[R]
payload[R]

Public Class Methods

new(integration_name, payload) click to toggle source
# File lib/react_webpack_rails/node_integration_runner.rb, line 7
def initialize(integration_name, payload)
  @integration_name = integration_name
  @payload = payload
end

Public Instance Methods

run() click to toggle source
# File lib/react_webpack_rails/node_integration_runner.rb, line 12
def run
  response = Net::HTTP.start(node_uri.host, node_uri.port) do |http|
    http.request(request)
  end
  if response.code.to_i >= 500
    fail Errors::NodeFailure, response.body
  else
    response.body.force_encoding('utf-8')
  end
end

Private Instance Methods

data_hash() click to toggle source
# File lib/react_webpack_rails/node_integration_runner.rb, line 27
def data_hash
  { integrationName: integration_name, payload: payload }
end
request() click to toggle source
# File lib/react_webpack_rails/node_integration_runner.rb, line 31
def request
  request = Net::HTTP::Post.new(node_uri('run'))
  request.body = data_hash.to_json
  request
end