Module: Pragma::Operation::Macro::Contract
- Defined in:
- lib/pragma/operation/macro/contract/build.rb,
lib/pragma/operation/macro/contract/persist.rb,
lib/pragma/operation/macro/contract/validate.rb
Class Method Summary collapse
- .Build(name: 'default', constant: nil, builder: nil) ⇒ Object
- .Persist(**args) ⇒ Object
- .Validate(name: 'default', **args) ⇒ Object
Class Method Details
.Build(name: 'default', constant: nil, builder: nil) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/pragma/operation/macro/contract/build.rb', line 9 def self.Build(name: 'default', constant: nil, builder: nil) step = lambda do |input, | Trailblazer::Operation::Contract::Build.for( input, , name: name, constant: constant, builder: builder ).tap do |contract| contract.current_user = ['current_user'] end end [step, name: 'contract.build'] end |
.Persist(**args) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/pragma/operation/macro/contract/persist.rb', line 9 def self.Persist(**args) step = lambda do |input, | Trailblazer::Operation::Pipetree::Step.new( Trailblazer::Operation::Contract::Persist(**args).first ).call(input, ).tap do |result| unless result ['result.response'] = Pragma::Operation::Response::UnprocessableEntity.new( errors: ['model'].errors. ).decorate_with(Pragma::Decorator::Error) end end end [step, name: 'persist.save'] end |
.Validate(name: 'default', **args) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/pragma/operation/macro/contract/validate.rb', line 9 def self.Validate(name: 'default', **args) step = lambda do |input, | Trailblazer::Operation::Pipetree::Step.new( Trailblazer::Operation::Contract::Validate(**args).first ).call(input, ).tap do |result| unless result ['result.response'] = Pragma::Operation::Response::UnprocessableEntity.new( errors: ['contract.default'].errors. ).decorate_with(Pragma::Decorator::Error) end end end [step, name: "contract.#{name}.validate"] end |