Class: RuboCop::GraphQL::Argument::Kwargs

Inherits:
Object
  • Object
show all
Extended by:
NodePattern::Macros
Defined in:
lib/rubocop/graphql/argument/kwargs.rb

Instance Method Summary collapse

Constructor Details

#initialize(argument_node) ⇒ Kwargs

Returns a new instance of Kwargs.



49
50
51
# File 'lib/rubocop/graphql/argument/kwargs.rb', line 49

def initialize(argument_node)
  @nodes = argument_kwargs(argument_node) || []
end

Instance Method Details

#argument_kwargs(node) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/rubocop/graphql/argument/kwargs.rb', line 10

def_node_matcher :argument_kwargs, <<~PATTERN
  (send nil? :argument
    ...
    (hash
      $...
    )
  )
PATTERN

#as ⇒ Object



65
66
67
# File 'lib/rubocop/graphql/argument/kwargs.rb', line 65

def as
  @nodes.find { |kwarg| as_kwarg?(kwarg) }
end

#as_kwarg?(node) ⇒ Object



30
31
32
# File 'lib/rubocop/graphql/argument/kwargs.rb', line 30

def_node_matcher :as_kwarg?, <<~PATTERN
  (pair (sym :as) ...)
PATTERN

#camelize ⇒ Object



57
58
59
# File 'lib/rubocop/graphql/argument/kwargs.rb', line 57

def camelize
  @nodes.find { |kwarg| camelize_kwarg?(kwarg) }
end

#camelize_kwarg?(node) ⇒ Object



35
36
37
# File 'lib/rubocop/graphql/argument/kwargs.rb', line 35

def_node_matcher :camelize_kwarg?, <<~PATTERN
  (pair (sym :camelize) ...)
PATTERN

#default_value ⇒ Object



73
74
75
# File 'lib/rubocop/graphql/argument/kwargs.rb', line 73

def default_value
  @nodes.find { |kwarg| default_value_kwarg?(kwarg) }
end

#default_value_kwarg?(node) ⇒ Object



45
46
47
# File 'lib/rubocop/graphql/argument/kwargs.rb', line 45

def_node_matcher :default_value_kwarg?, <<~PATTERN
  (pair (sym :default_value) ...)
PATTERN

#description ⇒ Object



53
54
55
# File 'lib/rubocop/graphql/argument/kwargs.rb', line 53

def description
  @nodes.find { |kwarg| description_kwarg?(kwarg) }
end

#description_kwarg?(node) ⇒ Object



20
21
22
# File 'lib/rubocop/graphql/argument/kwargs.rb', line 20

def_node_matcher :description_kwarg?, <<~PATTERN
  (pair (sym :description) ...)
PATTERN

#loads ⇒ Object



61
62
63
# File 'lib/rubocop/graphql/argument/kwargs.rb', line 61

def loads
  @nodes.find { |kwarg| loads_kwarg?(kwarg) }
end

#loads_kwarg?(node) ⇒ Object



25
26
27
# File 'lib/rubocop/graphql/argument/kwargs.rb', line 25

def_node_matcher :loads_kwarg?, <<~PATTERN
  (pair (sym :loads) ...)
PATTERN

#required ⇒ Object



69
70
71
# File 'lib/rubocop/graphql/argument/kwargs.rb', line 69

def required
  @nodes.find { |kwarg| required_kwarg?(kwarg) }
end

#required_kwarg?(node) ⇒ Object



40
41
42
# File 'lib/rubocop/graphql/argument/kwargs.rb', line 40

def_node_matcher :required_kwarg?, <<~PATTERN
  (pair (sym :required) ...)
PATTERN