module Pragma::Macro
Private Class Methods
Classes()
click to toggle source
# File lib/pragma/macro/classes.rb, line 5 def self.Classes step = ->(input, options) { Classes.for(input, options) } [step, name: 'classes'] end
Decorator(name: :instance)
click to toggle source
# File lib/pragma/macro/decorator.rb, line 5 def self.Decorator(name: :instance) step = ->(input, options) { Decorator.for(input, name, options) } [step, name: "decorator.#{name}"] end
Filtering()
click to toggle source
# File lib/pragma/macro/filtering.rb, line 5 def self.Filtering step = ->(input, options) { Filtering.for(input, options) } [step, name: 'filtering'] end
Model(action = nil)
click to toggle source
# File lib/pragma/macro/model.rb, line 7 def self.Model(action = nil) step = lambda do |input, options| klass = Macro.require_skill('Model', 'model.class', options) Trailblazer::Operation::Pipetree::Step.new( Trailblazer::Operation::Model.for(klass, action), 'model.class' => klass, 'model.action' => action ).call(input, options).tap do |result| unless result options['result.response'] = Pragma::Operation::Response::NotFound.new.decorate_with( Pragma::Decorator::Error ) end end end [step, name: "model.#{action || 'build'}"] end
Ordering()
click to toggle source
# File lib/pragma/macro/ordering.rb, line 5 def self.Ordering step = ->(input, options) { Ordering.for(input, options) } [step, name: 'ordering'] end
Pagination()
click to toggle source
# File lib/pragma/macro/pagination.rb, line 5 def self.Pagination step = ->(input, options) { Pagination.for(input, options) } [step, name: 'pagination'] end
Policy(name: :default, action: nil)
click to toggle source
# File lib/pragma/macro/policy.rb, line 5 def self.Policy(name: :default, action: nil) step = ->(input, options) { Policy.for(input, name, options, action) } [step, name: "policy.#{name}"] end
require_skill(macro, skill, options)
click to toggle source
Returns a skill or raises a {#MissingSkillError}.
@param macro [String] the name of the macro requiring the skill @param skill [String] the name of the string @param options [Hash] the options
hash of the operation
@return [Object] the value of the skill
@raise [MissingSkillError] if the skill is undefined or nil
@private
# File lib/pragma/macro.rb, line 17 def require_skill(macro, skill, options) options[skill] || fail(MissingSkillError.new(macro, skill)) end