Class: ApiMaker::CommandsController
- Inherits:
-
BaseController
- Object
- ApplicationController
- BaseController
- ApiMaker::CommandsController
- Defined in:
- app/controllers/api_maker/commands_controller.rb
Instance Method Summary collapse
Instance Method Details
#create ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'app/controllers/api_maker/commands_controller.rb', line 4 def create command_response = ApiMaker::CommandResponse.new(controller: self) controller = self merged_params.fetch(:pool).each do |command_type, command_type_data| command_type_data.each do |resource_plural_name, command_model_data| command_model_data.each do |command_name, command_data| ApiMaker.const_get("#{command_type.camelize}CommandService").execute!( ability: current_ability, api_maker_args: api_maker_args, command_response: command_response, commands: command_data, command_name: command_name, controller: controller, resource_name: resource_plural_name ) end end end command_response.join_threads render json: {responses: command_response.result} end |
#json_data ⇒ Object
33 34 35 |
# File 'app/controllers/api_maker/commands_controller.rb', line 33 def json_data @json_data ||= JSON.parse(params[:json]) if params[:json] end |
#json_params ⇒ Object
29 30 31 |
# File 'app/controllers/api_maker/commands_controller.rb', line 29 def json_params @json_params ||= ActionController::Parameters.new(json_data) if json_data end |
#merged_params ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 |
# File 'app/controllers/api_maker/commands_controller.rb', line 37 def merged_params @merged_params ||= if json_data raw_data = params.permit!.to_h merged_data = ApiMaker::DeepMergeParams.execute!(json_data, raw_data) ActionController::Parameters.new(merged_data) elsif json_params json_params else params end end |