Class: RubyLsp::Ree::ParsedRouteDocument
- Inherits:
-
ParsedClassDocument
- Object
- ParsedBaseDocument
- ParsedClassDocument
- RubyLsp::Ree::ParsedRouteDocument
- Includes:
- ReeLspUtils
- Defined in:
- lib/ruby_lsp/ruby_lsp_ree/parsing/parsed_route_document.rb
Constant Summary
Constants included from ReeLspUtils
Constants included from ReeConstants
ReeConstants::CONTRACT_CALL_NODE_NAMES, ReeConstants::DAO_DSL_MODULE, ReeConstants::ERROR_DEFINITION_NAMES, ReeConstants::LINKS_CONTAINER_TYPES, ReeConstants::LINK_DSL_MODULE, ReeConstants::MAPPER_DSL_MODULE, ReeConstants::ROUTES_DSL_MODULE
Instance Attribute Summary
Attributes inherited from ParsedClassDocument
#bean_methods, #class_includes, #class_node, #defined_classes, #defined_consts, #doc_instance_methods, #error_definition_names, #error_definitions, #links_container_block_node, #links_container_node, #values
Attributes inherited from ParsedBaseDocument
#ast, #link_nodes, #package_name
Instance Method Summary collapse
- #has_route_option?(option_name) ⇒ Boolean
-
#initialize(ast, package_name = nil) ⇒ ParsedRouteDocument
constructor
A new instance of ParsedRouteDocument.
- #parse_route_options ⇒ Object
- #route_option_value(option_name) ⇒ Object
Methods included from ReeLspUtils
#camelize, #find_local_file_path, #get_range_for_fn_insert, #get_ree_type, #get_uri_path, #package_name_from_spec_uri, #package_name_from_uri, #package_path_from_uri, #parameter_name, #path_from_package_folder, #signature_params_from_node, #spec_relative_file_path_from_uri, #underscore
Methods inherited from ParsedClassDocument
#allows_root_links?, #class_name, #find_link_with_imported_object, #full_class_name, #has_blank_links_container?, #has_body?, #has_root_class?, #imported_constants, #includes_dao_dsl?, #includes_link_dsl?, #includes_linked_constant?, #includes_mapper_dsl?, #includes_ree_dsl?, #includes_routes_dsl?, #links_container_node_name, #module_name, #parse_bean_methods, #parse_class_includes, #parse_class_node, #parse_const_objects, #parse_defined_classes, #parse_defined_consts, #parse_error_definitions, #parse_instance_methods, #parse_links, #parse_links_container_node, #parse_method_calls, #parse_signatures_from_params, #parse_values, #ree_dsls
Methods inherited from ParsedBaseDocument
#allows_root_links?, #find_import_for_package, #find_link_by_usage_name, #find_link_node, #has_blank_links_container?, #has_root_class?, #includes_dao_dsl?, #includes_link_dsl?, #includes_linked_object?, #includes_mapper_dsl?, #includes_ree_dsl?, #includes_routes_dsl?, #links_container_node, #node_name, #parse_links, #set_package_name
Constructor Details
#initialize(ast, package_name = nil) ⇒ ParsedRouteDocument
Returns a new instance of ParsedRouteDocument.
4 5 6 7 8 |
# File 'lib/ruby_lsp/ruby_lsp_ree/parsing/parsed_route_document.rb', line 4 def initialize(ast, package_name = nil) super parse_class_includes end |
Instance Method Details
#has_route_option?(option_name) ⇒ Boolean
23 24 25 |
# File 'lib/ruby_lsp/ruby_lsp_ree/parsing/parsed_route_document.rb', line 23 def has_route_option?(option_name) .has_key?(option_name.to_s) end |
#parse_route_options ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/ruby_lsp/ruby_lsp_ree/parsing/parsed_route_document.rb', line 10 def ||= {} return unless @class_node @routes_node = @class_node.body.body.detect{ node_name(_1) == :routes } return if !@routes_node || !@routes_node.block @route_opts_node = @routes_node.block.body.body.detect{ node_name(_1) == :opts } @route_opts_node.value.elements.each do |assoc_node| [assoc_node.key.unescaped] = assoc_node.value.unescaped end end |
#route_option_value(option_name) ⇒ Object
27 28 29 |
# File 'lib/ruby_lsp/ruby_lsp_ree/parsing/parsed_route_document.rb', line 27 def route_option_value(option_name) [option_name.to_s] end |