Class: JSONAPI::CreateResourceOperation
- Defined in:
- lib/jsonapi/operation.rb
Instance Attribute Summary collapse
-
#data ⇒ Object
readonly
Returns the value of attribute data.
Attributes inherited from Operation
#options, #resource_klass, #transactional
Instance Method Summary collapse
- #apply ⇒ Object
-
#initialize(resource_klass, options = {}) ⇒ CreateResourceOperation
constructor
A new instance of CreateResourceOperation.
Constructor Details
#initialize(resource_klass, options = {}) ⇒ CreateResourceOperation
Returns a new instance of CreateResourceOperation.
198 199 200 201 |
# File 'lib/jsonapi/operation.rb', line 198 def initialize(resource_klass, = {}) super(resource_klass, ) @data = .fetch(:data) end |
Instance Attribute Details
#data ⇒ Object (readonly)
Returns the value of attribute data.
196 197 198 |
# File 'lib/jsonapi/operation.rb', line 196 def data @data end |
Instance Method Details
#apply ⇒ Object
203 204 205 206 207 208 209 210 211 |
# File 'lib/jsonapi/operation.rb', line 203 def apply resource = @resource_klass.create(@context) result = resource.replace_fields(@data) return JSONAPI::ResourceOperationResult.new((result == :completed ? :created : :accepted), resource) rescue JSONAPI::Exceptions::Error => e return JSONAPI::ErrorsOperationResult.new(e.errors[0].code, e.errors) end |