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.
172 173 174 175 |
# File 'lib/jsonapi/operation.rb', line 172 def initialize(resource_klass, = {}) @data = .fetch(:data) super(resource_klass, ) end |
Instance Attribute Details
#data ⇒ Object (readonly)
Returns the value of attribute data.
170 171 172 |
# File 'lib/jsonapi/operation.rb', line 170 def data @data end |
Instance Method Details
#apply ⇒ Object
177 178 179 180 181 182 183 184 185 |
# File 'lib/jsonapi/operation.rb', line 177 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 |