Module: Taro::Types::Shared::CustomFieldResolvers::ClassMethods

Defined in:
lib/taro/types/shared/custom_field_resolvers.rb

Instance Method Summary collapse

Instance Method Details

#custom_resolversObject



13
14
15
# File 'lib/taro/types/shared/custom_field_resolvers.rb', line 13

def custom_resolvers
  @custom_resolvers ||= {}
end

#inherited(subclass) ⇒ Object



28
29
30
31
# File 'lib/taro/types/shared/custom_field_resolvers.rb', line 28

def inherited(subclass)
  subclass.instance_variable_set(:@custom_resolvers, custom_resolvers.dup)
  super
end

#method_added(name) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/taro/types/shared/custom_field_resolvers.rb', line 17

def method_added(name)
  if i[input_error object pattern response_error].include?(name)
    raise(Taro::ArgumentError, "##{name} is a reserved, internally used method name")
  elsif !i[coerce_input coerce_response].include?(name) &&
        !self.name.to_s.start_with?('Taro::Types::')
    custom_resolvers[name] = true
  end

  super
end