module ParamsReady::Helpers::ParameterDefinerClassMethods

Public Instance Methods

all_parameters() click to toggle source
# File lib/params_ready/helpers/parameter_definer_class_methods.rb, line 29
def all_parameters
  parameters = if superclass.respond_to? :all_parameters
    superclass.all_parameters
  else
    {}
  end
  parameters.merge(params_ready_storage.parameters)
end
all_relations() click to toggle source
# File lib/params_ready/helpers/parameter_definer_class_methods.rb, line 20
def all_relations
  relations = if superclass.respond_to? :all_relations
    superclass.all_relations
  else
    {}
  end
  relations.merge(params_ready_storage.relations)
end
define_parameter(type, *args, **opts, &block) click to toggle source
# File lib/params_ready/helpers/parameter_definer_class_methods.rb, line 14
def define_parameter(type, *args, **opts, &block)
  full_name = "define_#{type}"
  parameter = Builder.send(full_name, *args, **opts, &block)
  params_ready_storage.add_parameter parameter
end
define_relation(*args, **opts, &block) click to toggle source
# File lib/params_ready/helpers/parameter_definer_class_methods.rb, line 7
def define_relation(*args, **opts, &block)
  wrapper = ParamsReady::Helpers::RelationBuilderWrapper.new self, *args, **opts
  wrapper.instance_eval(&block) unless block.nil?
  relation = wrapper.build
  params_ready_storage.add_relation relation
end