module ServiceOperation::Params::ClassMethods
Public Instance Methods
attribute_names()
click to toggle source
should only be called by Instance after all attributes have been defined
# File lib/service_operation/params.rb, line 56 def attribute_names @attribute_names ||= attributes.map(&:name) end
attributes()
click to toggle source
# File lib/service_operation/params.rb, line 51 def attributes (returns + params).uniq(&:name) # returns first to preserve log: option end
params(&block)
click to toggle source
@example
params do param1, :integer, coerce: true end
# File lib/service_operation/params.rb, line 23 def params(&block) @params ||= superclass && superclass.respond_to?(:params) ? superclass.params.dup : [] if block_given? @params += Params::DSL.run(&block) define_params_hooks end @params = @params.reverse.uniq(&:name).reverse @params end
Also aliased as: input
remove_params(*args)
click to toggle source
# File lib/service_operation/params.rb, line 62 def remove_params(*args) params.delete_if { |a| args.include?(a.name) } end
returns(&block)
click to toggle source
@example
returns do result, [:string] log_data, [:string], optional: true end
# File lib/service_operation/params.rb, line 42 def returns(&block) @returns ||= superclass && superclass.respond_to?(:returns) ? superclass.returns.dup : [] @returns += Params::DSL.run(&block) if block_given? @returns = @returns.reverse.uniq(&:name).reverse @returns end
Also aliased as: output
Private Instance Methods
define_params_hooks()
click to toggle source
# File lib/service_operation/params.rb, line 68 def define_params_hooks return if @defined_params_hooks before :validate_params after :validate_returns @defined_params_hooks = true end