Module: LinkedRails::Controller

Extended by:
ActiveSupport::Concern
Includes:
ActiveResponse::Controller, ActiveResponse::Controller::Collections, ActiveResponse::Controller::CrudDefaults, ActiveResponse::Controller::Params, Pundit
Included in:
Rails::WelcomeController
Defined in:
lib/linked_rails/controller.rb,
lib/linked_rails/controller/actionable.rb,
lib/linked_rails/controller/authorization.rb,
lib/linked_rails/controller/error_handling.rb,
lib/linked_rails/active_response/controller.rb,
lib/linked_rails/controller/default_actions/create.rb,
lib/linked_rails/controller/default_actions/update.rb,
lib/linked_rails/controller/default_actions/destroy.rb

Defined Under Namespace

Modules: Actionable, Authorization, ClassMethods, DefaultActions, ErrorHandling

Instance Method Summary collapse

Instance Method Details

#_render_with_renderer_json(record, options) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/linked_rails/active_response/controller.rb', line 16

def _render_with_renderer_json(record, options)
  self.content_type = Mime[:json]

  return record if record.is_a?(String)
  return record.to_json if record.is_a?(Hash)

  serializer_opts = RDF::Serializers::Renderers.transform_opts(
    options,
    serializer_params
  )

  serializer = RDF::Serializers.serializer_for(record)&.new(record, serializer_opts)
  return record.to_json unless serializer

  Oj.dump(serializer.serializable_hash, mode: :compat)
end

#serializer_paramsObject



33
34
35
# File 'lib/linked_rails/active_response/controller.rb', line 33

def serializer_params
  {}
end

#success_message_translation_keyObject



37
38
39
# File 'lib/linked_rails/active_response/controller.rb', line 37

def success_message_translation_key
  "actions.#{Translate.translation_key(controller_class)}.#{action_name}.success"
end

#success_message_translation_optsObject



41
42
43
44
45
46
# File 'lib/linked_rails/active_response/controller.rb', line 41

def success_message_translation_opts
  {
    default: [:"actions.default.#{action_name}.success", ''],
    type: I18n.t("#{controller_class.model_name.collection}.type").capitalize
  }
end