Sha256: 24ccdb9f1b0312128c1d9f3a578f50883233dfa79d96c8f5b07993b6afa9970c

Contents?: true

Size: 944 Bytes

Versions: 2

Compression:

Stored size: 944 Bytes

Contents

require 'rails/generators'

class CrashlogGenerator < Rails::Generators::Base

  class_option :api_key, :aliases => "-k", :type => :string, :desc => "Your CrashLog API key"

  def self.source_root
    @_crashlog_source_root ||= File.expand_path("../../../../../generators/crashlog/templates", __FILE__)
  end

  def install
    ensure_api_key_was_configured
    generate_initializer unless api_key_configured?
    test_crashlog
  end

  private

  def ensure_api_key_was_configured
    if !options[:api_key] && !api_key_configured?
      puts "Must pass --api-key or create config/initializers/crashlog.rb"
      exit
    end
  end

  def api_key_expression
    "'#{options[:api_key]}'"
  end

  def generate_initializer
    template 'initializer.rb', 'config/initializers/crashlog.rb'
  end

  def api_key_configured?
    File.exists?('config/initializers/crashlog.rb')
  end

  def test_crashlog
    puts run("rake crashlog:test")
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
crashlog-1.0.0.rc1 lib/rails/generators/crashlog/crashlog_generator.rb
crashlog-0.0.2 lib/rails/generators/crashlog/crashlog_generator.rb