Skip to content

Commit b23ec4c

Browse files
committed
Fix Rails rake tasks with clean namespacing
- Added rake_tasks block so tasks appear in Rails apps - Namespaced under ruby_llm: to avoid conflicts - Cleared original task names in Rails to prevent pollution - Gem development keeps clean names, Rails gets namespaced Closes #136
1 parent 705969a commit b23ec4c

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

lib/ruby_llm/railtie.rb

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,25 @@ class Railtie < Rails::Railtie
88
include RubyLLM::ActiveRecord::ActsAs
99
end
1010
end
11+
12+
rake_tasks do
13+
# Load original tasks
14+
path = File.expand_path(__dir__)
15+
Dir.glob("#{path}/../tasks/**/*.rake").each { |f| load f }
16+
17+
# Create namespaced aliases for Rails apps
18+
namespace :ruby_llm do
19+
task 'aliases:generate' => 'aliases:generate'
20+
task 'models:update' => 'models:update'
21+
task 'models:docs' => 'models:docs'
22+
task 'release:verify_cassettes' => 'release:verify_cassettes'
23+
task 'vcr:record' => 'vcr:record'
24+
end
25+
26+
# Remove original tasks to avoid namespace pollution in Rails apps
27+
%w[aliases:generate models:update models:docs release:verify_cassettes vcr:record].each do |task_name|
28+
Rake::Task[task_name].clear if Rake::Task.task_defined?(task_name)
29+
end
30+
end
1131
end
1232
end

0 commit comments

Comments
 (0)