Class: Bugsage::Installer

Inherits:
Object
  • Object
show all
Defined in:
lib/bugsage/installer.rb

Constant Summary collapse

INITIALIZER_PATH =
"config/initializers/bugsage.rb"
TEMPLATE_PATH =
File.expand_path("../../generators/bugsage/install/templates/bugsage.rb", __dir__)

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(destination:, force: false) ⇒ Installer

Returns a new instance of Installer.



14
15
16
17
# File 'lib/bugsage/installer.rb', line 14

def initialize(destination:, force: false)
  @destination = File.expand_path(destination)
  @force = force
end

Class Method Details

.run(destination: Dir.pwd, force: false) ⇒ Object



10
11
12
# File 'lib/bugsage/installer.rb', line 10

def self.run(destination: Dir.pwd, force: false)
  new(destination: destination, force: force).run
end

Instance Method Details

#runObject



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/bugsage/installer.rb', line 19

def run
  validate_rails_app!

  path = File.join(@destination, INITIALIZER_PATH)
  created_initializer = write_initializer(path)
  config = Bugsage::AutoConfigurator.apply!

  {
    initializer_path: path,
    created_initializer: created_initializer,
    summary: Bugsage::AutoConfigurator.summary(config)
  }
end