Sha256: f39d9f073a72806ce3a7dee2a7d4732a078df059c675a619131285000039c18c
Contents?: true
Size: 1.15 KB
Versions: 1
Compression:
Stored size: 1.15 KB
Contents
module JSONAPIonify::Api class Relationship::One < Relationship prepend_class do rel = self.rel remove_action :list, :create class << self undef_method :list end define_singleton_method(:show) do |**options, &block| options[:prepend] = 'relationships' define_action(:show, 'GET', '', nil, :resource_identifier, **options, &block).response status: 200 do |context| context.response_object[:data] = build_resource_identifier(context.instance) context.response_object.to_json end end define_singleton_method(:replace) do |**options, &block| options[:prepend] = 'relationships' define_action(:replace, 'PATCH', '', nil, :resource_identifier, **options, &block).response status: 200 do |context| context.owner_context.reset(:instance) context.reset(:instance) context.response_object[:data] = build_resource_identifier(context.instance) context.response_object.to_json end end context :instance do |context| context.owner_context.instance.send(rel.name) end show end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jsonapionify-0.9.0 | lib/jsonapionify/api/relationship/one.rb |