module DroolsLambdaClient
Constants
- VERSION
Public Instance Methods
execute!(data_hash:, namespace:, lambda_function:)
click to toggle source
# File lib/drools_lambda_client.rb, line 8 def execute!(data_hash:, namespace:, lambda_function:) response = LambdaClient.invoke( lambda_function, hash_to_drools(data_hash: data_hash, namespace: namespace).to_json ).payload.read begin drools_to_hash(response_data: JSON.parse(response, symbolize_names: true)) rescue => ex raise "#{response}---#{ex}" end end
Private Instance Methods
drools_to_hash(response_data:)
click to toggle source
# File lib/drools_lambda_client.rb, line 43 def drools_to_hash(response_data:) result_hash = {} response_data.each do |object_type, data_objects| object_type = object_type.to_s.underscore.to_sym objects = [] data_objects.each do |data_object| data_object = data_object.inject({}) do |h, (k,v)| h[k.to_s.underscore.to_sym] = v;h end objects << data_object end result_hash[object_type] = objects end result_hash end
hash_to_drools(data_hash: , namespace:)
click to toggle source
# File lib/drools_lambda_client.rb, line 22 def hash_to_drools(data_hash: , namespace:) payload = {} payload["namespace"] = [{"name" => namespace}] data_hash.each do |object_type, data_objects| object_type = object_type.to_s.camelize(:lower) objects = [] data_objects = [data_objects] unless data_objects.is_a? Array data_objects.each do |data_object| data_object = data_object.inject({}) do |h, (k,v)| h[k.to_s.camelize(:lower)] = v;h end objects << data_object end payload[object_type] = objects end payload end