Class: JSONAPI::RemoveResourceOperation
- Defined in:
- lib/jsonapi/operation.rb
Instance Attribute Summary collapse
-
#resource_id ⇒ Object
readonly
Returns the value of attribute resource_id.
Attributes inherited from Operation
#options, #resource_klass, #transactional
Instance Method Summary collapse
- #apply ⇒ Object
-
#initialize(resource_klass, options = {}) ⇒ RemoveResourceOperation
constructor
A new instance of RemoveResourceOperation.
Constructor Details
#initialize(resource_klass, options = {}) ⇒ RemoveResourceOperation
Returns a new instance of RemoveResourceOperation.
190 191 192 193 |
# File 'lib/jsonapi/operation.rb', line 190 def initialize(resource_klass, = {}) @resource_id = .fetch(:resource_id) super(resource_klass, ) end |
Instance Attribute Details
#resource_id ⇒ Object (readonly)
Returns the value of attribute resource_id.
189 190 191 |
# File 'lib/jsonapi/operation.rb', line 189 def resource_id @resource_id end |
Instance Method Details
#apply ⇒ Object
195 196 197 198 199 200 201 202 203 |
# File 'lib/jsonapi/operation.rb', line 195 def apply resource = @resource_klass.find_by_key(@resource_id, context: @context) result = resource.remove return JSONAPI::OperationResult.new(result == :completed ? :no_content : :accepted) rescue JSONAPI::Exceptions::Error => e return JSONAPI::ErrorsOperationResult.new(e.errors[0].code, e.errors) end |