class StyleGuide::InstallGenerator

Public Instance Methods

application_rb() click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 24
def application_rb
  @application_rb ||= File.open(application_rb_path).read
end
default_partial_path() click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 36
def default_partial_path
  'Rails.root.join("app/views/style-guide/**/*")'
end
development_rb() click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 28
def development_rb
  @development_rb ||= File.open(development_rb_path).read
end
guardfile() click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 18
def guardfile
  @guardfile ||= if File.exists?(guardfile_path)
    File.open(guardfile_path).read
  end
end
install() click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 6
def install
  should_bundle = ensure_rack_livereload.nil?
  should_bundle = ensure_guard_livereload.nil? || should_bundle
  bundle_command("install") if should_bundle

  configure_guard_livereload
  configure_application
  configure_development
  mount_style_guide
end
routes_rb() click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 32
def routes_rb
  @routes_rb ||= File.open(routes_rb_path).read
end

Private Instance Methods

application_rb_path() click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 46
def application_rb_path
  Rails.root.join("config", "application.rb")
end
bundle_command(command) click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 72
def bundle_command(command)
  say_status :run, "bundle #{command}"

  Dir.chdir(Rails.root) do
    oldrubyopt = ENV["RUBYOPT"]
    ENV["RUBYOPT"] = nil
    system("#{Gem.bin_path('bundler', 'bundle')} #{command}")
    ENV["RUBYOPT"] = oldrubyopt
  end
end
configure_application() click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 89
def configure_application
  unless application_rb && application_rb.include?("config.style_guide.paths")
    application("config.style_guide.paths << #{default_partial_path}")
  end
end
configure_development() click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 95
def configure_development
  unless development_rb && development_rb.include?("Rack::LiveReload")
    application("config.middleware.insert_before(::Rack::Lock, ::Rack::LiveReload, :min_delay => 500) if defined?(Rack::LiveReload)", :env => "development")
  end
end
configure_guard_livereload() click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 83
def configure_guard_livereload
  unless guardfile && guardfile.include?("guard 'livereload'")
    bundle_command("exec guard init livereload")
  end
end
development_rb_path() click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 50
def development_rb_path
  Rails.root.join("config", "environments", "development.rb")
end
ensure_guard_livereload() click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 65
def ensure_guard_livereload
  Guard.const_get("LiveReload")
rescue NameError
  gem "guard-livereload", :group => "development"
  nil
end
ensure_rack_livereload() click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 58
def ensure_rack_livereload
  Rack.const_get("LiveReload")
rescue NameError
  gem "rack-livereload", :group => "development"
  nil
end
guardfile_path() click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 42
def guardfile_path
  Rails.root.join("Guardfile")
end
mount_style_guide() click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 101
def mount_style_guide
  unless routes_rb && routes_rb.include?("mount StyleGuide::Engine")
    route(%(mount StyleGuide::Engine => "/style-guide"))
  end
end
routes_rb_path() click to toggle source
# File lib/generators/style_guide/install_generator.rb, line 54
def routes_rb_path
  Rails.root.join("config", "routes.rb")
end