lib/svelte_on_rails/railtie.rb



module SvelteOnRails
  class Railtie < Rails::Railtie

    initializer "svelte_on_rails.view_helpers" do
      ActiveSupport.on_load(:action_view) do
        include SvelteOnRails::ViewHelpers
      end
    end

    initializer "svelte-on-rails.initialize_configuration" do
      # Zugriff auf die Singleton-Instanz, um sie zu initialisieren
      SvelteOnRails::Configuration.instance
    end

    initializer 'svelte_on_rails.active_record_extensions' do
      ActiveSupport.on_load(:active_record) do
        # Include instance-level extensions for ActiveRecord instances (e.g., @article)
        include SvelteOnRails::ActiveRecordExtensions

        # Extend ActiveRecord::Base with class-level extensions (e.g., Article)
        ActiveRecord::Base.extend SvelteOnRails::ActiveRecordClassExtensions

        # This also extends ActiveRecord::Relation (e.g., @articles)
        ActiveRecord::Relation.include SvelteOnRails::ActiveRecordRelationExtensions

      end

    end

    rake_tasks do
      load File.expand_path("../../tasks/svelte_on_rails_tasks.rake", __FILE__)
    end

  end
end