Class: RailsAiBridge::Introspectors::ModelIntrospector::MethodExtractor
- Inherits:
-
Object
- Object
- RailsAiBridge::Introspectors::ModelIntrospector::MethodExtractor
- Defined in:
- lib/rails_ai_bridge/introspectors/model_introspector/method_extractor.rb
Overview
Extracts public class and instance methods from an ActiveRecord model.
Filters out standard ActiveRecord and Object methods to highlight custom domain logic implemented on the model.
Instance Method Summary collapse
-
#extract_class_methods ⇒ Array<String>
Array of public class method names.
-
#extract_instance_methods ⇒ Array<String>
Array of public instance method names.
-
#initialize(model) ⇒ MethodExtractor
constructor
A new instance of MethodExtractor.
Constructor Details
#initialize(model) ⇒ MethodExtractor
Returns a new instance of MethodExtractor.
12 13 14 |
# File 'lib/rails_ai_bridge/introspectors/model_introspector/method_extractor.rb', line 12 def initialize(model) @model = model end |
Instance Method Details
#extract_class_methods ⇒ Array<String>
Returns array of public class method names.
17 18 19 20 21 22 23 24 25 |
# File 'lib/rails_ai_bridge/introspectors/model_introspector/method_extractor.rb', line 17 def extract_class_methods (model.methods - ActiveRecord::Base.methods - Object.methods) .reject { |method_name| method_name.to_s.start_with?('_', 'autosave') } .sort .first(30) .map(&:to_s) rescue StandardError [] end |
#extract_instance_methods ⇒ Array<String>
Returns array of public instance method names.
28 29 30 31 32 33 34 35 36 |
# File 'lib/rails_ai_bridge/introspectors/model_introspector/method_extractor.rb', line 28 def extract_instance_methods (model.instance_methods - ActiveRecord::Base.instance_methods - Object.instance_methods) .reject { |method_name| method_name.to_s.start_with?('_', 'autosave', 'validate_associated') } .sort .first(30) .map(&:to_s) rescue StandardError [] end |