Module: RailsMcpServer::GuideLoaderTemplate
- Included in:
- CustomGuidesResource, CustomGuidesResources, KamalGuidesResource, KamalGuidesResources, RailsGuidesResource, RailsGuidesResources, StimulusGuidesResource, StimulusGuidesResources, TurboGuidesResource, TurboGuidesResources
- Defined in:
- lib/rails-mcp-server/resources/guide_loader_template.rb
Overview
Template module that provides complete guide loading implementation Eliminates the need to implement load_specific_guide in each resource
Class Method Summary collapse
Instance Method Summary collapse
-
#content ⇒ Object
Complete single guide content implementation.
-
#list_content ⇒ Object
Complete guides list implementation.
Class Method Details
.included(base) ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/rails-mcp-server/resources/guide_loader_template.rb', line 5 def self.included(base) # Ensure all required modules are included base.include GuideFrameworkContract unless base.included_modules.include?(GuideFrameworkContract) base.include GuideManifestOperations unless base.included_modules.include?(GuideManifestOperations) base.include GuideFileFinder unless base.included_modules.include?(GuideFileFinder) base.include GuideContentFormatter unless base.included_modules.include?(GuideContentFormatter) base.include GuideErrorHandler unless base.included_modules.include?(GuideErrorHandler) end |
Instance Method Details
#content ⇒ Object
Complete single guide content implementation
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/rails-mcp-server/resources/guide_loader_template.rb', line 15 def content guide_name = params[:guide_name] begin manifest = load_manifest rescue => e return handle_manifest_error(e) end if !guide_name.nil? && !guide_name.strip.empty? log(:debug, "Loading #{framework_name} guide: #{guide_name}") load_specific_guide(guide_name, manifest) else log(:debug, "Provide a name for a #{framework_name} guide") "Provide a name for a #{framework_name} guide" end end |
#list_content ⇒ Object
Complete guides list implementation
34 35 36 37 38 39 40 41 42 43 |
# File 'lib/rails-mcp-server/resources/guide_loader_template.rb', line 34 def list_content begin manifest = load_manifest rescue => e return handle_manifest_error(e) end log(:debug, "Loading #{framework_name} guides...") format_guides_index(manifest) end |