class SoarFlow::ID
Attributes
app[R]
Public Class Methods
generate_flow_id()
click to toggle source
# File lib/soar_flow.rb, line 20 def self.generate_flow_id "#{SecureRandom.hex(32)}" end
new(app)
click to toggle source
# File lib/soar_flow.rb, line 9 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/soar_flow.rb, line 13 def call(env) request = Rack::Request.new(env) request = generate_or_honor_flow_id(request) request.update_param('flow_identifier', request.params['flow_identifier']) @app.call(env) end
Private Instance Methods
generate_or_honor_flow_id(request)
click to toggle source
# File lib/soar_flow.rb, line 26 def generate_or_honor_flow_id(request) if request.params['flow_identifier'].nil? request.params['flow_identifier'] = SoarFlow::ID::generate_flow_id end request end