class Arpa::Services::Actions::Create::ActionCreator
Public Instance Methods
create(params)
click to toggle source
# File lib/arpa/services/actions/create/action_creator.rb, line 12 def create(params) action = action_instance(params) action_found = finder_repo.by_name_and_resource(params[:name], params[:resource_id]) return action_found if action_found validate_action(action) creator_repo.create(action) end
create_many(params)
click to toggle source
# File lib/arpa/services/actions/create/action_creator.rb, line 6 def create_many(params) params[:actions_names].collect do |action_name| create(action_params(params, action_name)) end end
Private Instance Methods
action_instance(params)
click to toggle source
# File lib/arpa/services/actions/create/action_creator.rb, line 28 def action_instance(params) Arpa::Entities::Action.new(params) end
action_params(params, action_name)
click to toggle source
# File lib/arpa/services/actions/create/action_creator.rb, line 24 def action_params(params, action_name) { name: action_name, resource_id: params[:resource].id } end
creator_repo()
click to toggle source
# File lib/arpa/services/actions/create/action_creator.rb, line 41 def creator_repo @creator_repo ||= Arpa::Repositories::Actions::Creator.new end
finder_repo()
click to toggle source
# File lib/arpa/services/actions/create/action_creator.rb, line 37 def finder_repo @finder_repo ||= Arpa::Repositories::Actions::Finder.new end
validate_action(action)
click to toggle source
# File lib/arpa/services/actions/create/action_creator.rb, line 32 def validate_action(action) validator = Arpa::Validators::ActionValidator.new(action) raise Arpa::Exceptions::RecordInvalid.new(message: validator.errors.messages, errors: validator.errors) unless validator.valid? end