Class: RailsHttpLab::Generators::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#copy_initializerObject



11
12
13
# File 'lib/generators/rails_http_lab/install/install_generator.rb', line 11

def copy_initializer
  template "initializer.rb.tt", "config/initializers/rails_http_lab.rb"
end

#create_storage_rootObject



25
26
27
28
29
30
# File 'lib/generators/rails_http_lab/install/install_generator.rb', line 25

def create_storage_root
  # Just the empty root. `bruno.json` and any subfolders
  # (environments/, collections, ...) are created lazily on first use
  # via Storage::Filesystem#ensure_root!.
  empty_directory "docs/http-lab"
end

#mount_engineObject



15
16
17
18
19
20
21
22
23
# File 'lib/generators/rails_http_lab/install/install_generator.rb', line 15

def mount_engine
  route_line = 'mount RailsHttpLab::Engine => RailsHttpLab.config.mount_path'
  routes_file = "config/routes.rb"
  if File.exist?(routes_file) && File.read(routes_file).include?(route_line)
    say_status :exist, "mount already present in #{routes_file}", :blue
  else
    route route_line
  end
end

#post_install_messageObject



32
33
34
35
36
37
38
# File 'lib/generators/rails_http_lab/install/install_generator.rb', line 32

def post_install_message
  say ""
  say "rails-http-lab installed.", :green
  say "Mounted at /rails/http-lab (configurable in config/initializers/rails_http_lab.rb)"
  say "Collections live in docs/http-lab/ (Bruno-compatible .bru files)"
  say ""
end