Class: Lutaml::UmlRepository::Queries::ClassQuery
- Defined in:
- lib/lutaml/uml_repository/queries/class_query.rb
Overview
Query service for class/classifier operations.
Provides methods to find and query classes, data types, and enums using the qualified_names and stereotypes indexes.
Instance Method Summary collapse
-
#find_by_qname(qualified_name_string) ⇒ Lutaml::Uml::Class, ...
Find a class by its qualified name.
-
#find_by_stereotype(stereotype) ⇒ Array
Find all classes with a specific stereotype.
-
#in_package(package_path_string, recursive: false) ⇒ Array
Get classes in a specific package.
Methods inherited from BaseQuery
Constructor Details
This class inherits a constructor from Lutaml::UmlRepository::Queries::BaseQuery
Instance Method Details
#find_by_qname(qualified_name_string) ⇒ Lutaml::Uml::Class, ...
Find a class by its qualified name.
Lutaml::Uml::Enum, nil]
The class object, or nil if not found
34 35 36 37 38 39 40 |
# File 'lib/lutaml/uml_repository/queries/class_query.rb', line 34 def find_by_qname(qualified_name_string) if qualified_name_string.nil? || qualified_name_string.empty? return nil end indexes[:qualified_names][qualified_name_string] end |
#find_by_stereotype(stereotype) ⇒ Array
Find all classes with a specific stereotype.
49 50 51 52 53 |
# File 'lib/lutaml/uml_repository/queries/class_query.rb', line 49 def find_by_stereotype(stereotype) return [] if stereotype.nil? || stereotype.empty? indexes[:stereotypes][stereotype] || [] end |
#in_package(package_path_string, recursive: false) ⇒ Array
Get classes in a specific package.
69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/lutaml/uml_repository/queries/class_query.rb', line 69 def in_package(package_path_string, recursive: false) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity return [] if package_path_string.nil? || package_path_string.empty? pkg_to_classes = indexes[:package_to_classes] if pkg_to_classes in_package_indexed(package_path_string, pkg_to_classes, recursive: recursive) else in_package_scan(package_path_string, recursive: recursive) end end |