module SimpleAction::AcceptsParams

Attributes

params_class[RW]

Public Instance Methods

api_pie_documentation() click to toggle source
# File lib/simple_action/concerns/accepts_params.rb, line 22
def api_pie_documentation
  @params_class.api_pie_documentation
end
params(&block) click to toggle source
# File lib/simple_action/concerns/accepts_params.rb, line 10
def params(&block)
  klass_name = self.model_name.to_s
  klass_name = get_non_namespaced_module(klass_name)
  klass_name = klass_name + "Params"
  @params_class = Class.new(SimpleAction::Params).tap do |klass|
    extend ActiveModel::Naming
    klass.with_rails_helpers
    self.const_set(klass_name, klass)
    klass.class_eval(&block)
  end
end

Private Instance Methods

get_non_namespaced_module(name) click to toggle source
# File lib/simple_action/concerns/accepts_params.rb, line 27
def get_non_namespaced_module(name)
  name.split('::').last || name
end