Class: Binocs::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/binocs/install/install_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object



13
14
15
# File 'lib/generators/binocs/install/install_generator.rb', line 13

def self.next_migration_number(dirname)
  ActiveRecord::Generators::Base.next_migration_number(dirname)
end

Instance Method Details

#add_routeObject



25
26
27
# File 'lib/generators/binocs/install/install_generator.rb', line 25

def add_route
  route "mount Binocs::Engine => '/binocs' unless Rails.env.production?"
end

#copy_migrationsObject



17
18
19
# File 'lib/generators/binocs/install/install_generator.rb', line 17

def copy_migrations
  migration_template "create_binocs_requests.rb", "db/migrate/create_binocs_requests.rb"
end

#create_initializerObject



21
22
23
# File 'lib/generators/binocs/install/install_generator.rb', line 21

def create_initializer
  template "initializer.rb", "config/initializers/binocs.rb"
end

#show_readmeObject



49
50
51
52
53
54
55
56
57
58
# File 'lib/generators/binocs/install/install_generator.rb', line 49

def show_readme
  say ""
  say "Binocs installed successfully!", :green
  say ""
  say "Next steps:"
  say "  1. Run migrations: bin/rails db:migrate"
  say "  2. Start your server: bin/rails server"
  say "  3. Visit: http://localhost:3000/binocs"
  say ""
end

#update_gitignoreObject



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/generators/binocs/install/install_generator.rb', line 29

def update_gitignore
  gitignore_path = Rails.root.join(".gitignore")
  return unless File.exist?(gitignore_path)

  gitignore_entries = <<~GITIGNORE

    # Binocs AI Agent files
    .binocs-context.md
    .binocs-prompt.md
  GITIGNORE

  gitignore_content = File.read(gitignore_path)

  # Check if already added
  return if gitignore_content.include?(".binocs-context.md")

  append_to_file ".gitignore", gitignore_entries
  say "Updated .gitignore with Binocs entries", :green
end