Method: GraphQL::Language::Nodes::AbstractNode.inherited
- Defined in:
- lib/graphql/language/nodes.rb
.inherited(child_class) ⇒ Object
Add a default #visit_method and #children_method_name using the class name
151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
# File 'lib/graphql/language/nodes.rb', line 151 def inherited(child_class) super name_underscored = child_class.name .split("::").last .gsub(/([a-z])([A-Z])/,'\1_\2') # insert underscores .downcase # remove caps child_class.module_eval " def visit_method\n :on_\#{name_underscored}\n end\n\n class << self\n attr_accessor :children_method_name\n\n def visit_method\n :on_\#{name_underscored}\n end\n end\n self.children_method_name = :\#{name_underscored}s\n RUBY\nend\n", __FILE__, __LINE__ |