Sha256: 700a80006db6cd1347e3e2f15d71b517b49dbcc99422c2d6d4b47c57b8bef522

Contents?: true

Size: 1.12 KB

Versions: 7

Compression:

Stored size: 1.12 KB

Contents

require 'rails/generators'

class CrashlogGenerator < Rails::Generators::Base

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

  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] &&
       !options[:secret] &&
       !api_key_configured?
      puts "Must pass --api-key and --secret or create config/initializers/crashlog.rb"
      exit
    end
  end

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

  def secret_expression
    "'#{options[:secret]}'"
  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

7 entries across 7 versions & 1 rubygems

Version Path
crashlog-1.0.4 lib/rails/generators/crashlog/crashlog_generator.rb
crashlog-1.0.3 lib/rails/generators/crashlog/crashlog_generator.rb
crashlog-1.0.2.1 lib/rails/generators/crashlog/crashlog_generator.rb
crashlog-1.0.2 lib/rails/generators/crashlog/crashlog_generator.rb
crashlog-1.0.1 lib/rails/generators/crashlog/crashlog_generator.rb
crashlog-1.0.0 lib/rails/generators/crashlog/crashlog_generator.rb
crashlog-1.0.0.rc2 lib/rails/generators/crashlog/crashlog_generator.rb