class Mutations::HashFilter

Attributes

input_description[RW]
input_descriptions[RW]

Public Class Methods

register_additional_filter(type_class, type_name) click to toggle source
# File lib/mutations/additional_filter.rb, line 19
def self.register_additional_filter(type_class, type_name)
  define_method(type_name) do |*args, &block|
    name = args[0]
    options = args[1] || {}
    # rubocop:disable Lint/AssignmentInCondition
    if described = current_input_description
      (@input_descriptions ||= {})[name.to_sym] = described
    end
    # rubocop:enable Lint/AssignmentInCondition
    @current_inputs[name.to_sym] = type_class.new(options, &block)
  end
end

Public Instance Methods

current_input_description() click to toggle source
# File lib/mutations/additional_filter.rb, line 13
def current_input_description
  (@input_description && @input_description.dup).tap do
    @input_description = nil
  end
end
desc(input_description) click to toggle source
# File lib/mutations/additional_filter.rb, line 9
def desc input_description
  @input_description = input_description
end