Sha256: e0c0c85961847b4a29c5e97e045de3207be3819695e652ede13fa01245241c3a

Contents?: true

Size: 1.66 KB

Versions: 42

Compression:

Stored size: 1.66 KB

Contents

require 'rails/generators'
require 'rails/generators/named_base'

module Rollbar
  module Generators
    class RollbarGenerator < ::Rails::Generators::Base
      argument :access_token, :type => :string, :banner => 'access_token', :default => :use_env_sentinel

      source_root File.expand_path(File.join(File.dirname(__FILE__), 'templates'))

      def create_initializer
        say "creating initializer..."
        if access_token_configured?
          say "It looks like you've already configured Rollbar."
          say "To re-create the config file, remove it first: config/initializers/rollbar.rb"
          exit
        end

        if access_token === :use_env_sentinel
          say "Generator run without an access token; assuming you want to configure using an environment variable."
          say "You'll need to add an environment variable ROLLBAR_ACCESS_TOKEN with your access token:"
          say "\n$ export ROLLBAR_ACCESS_TOKEN=yourtokenhere"
          say "\nIf that's not what you wanted to do:"
          say "\n$ rm config/initializers/rollbar.rb"
          say "$ rails generate rollbar yourtokenhere"
          say "\n"
        else
          say "access token: " << access_token
        end

        template 'initializer.rb', 'config/initializers/rollbar.rb',
          :assigns => { :access_token => access_token_expr }

        # TODO run rake test task
      end

      def access_token_expr
        if access_token === :use_env_sentinel
          "ENV['ROLLBAR_ACCESS_TOKEN']"
        else
          "'#{access_token}'"
        end
      end

      def access_token_configured?
        File.exists?('config/initializers/rollbar.rb')
      end
    end
  end
end

Version data entries

42 entries across 42 versions & 1 rubygems

Version Path
rollbar-0.12.11 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.12.10 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.12.9 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.12.8 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.12.7 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.12.6 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.12.5 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.12.3 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.12.2 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.12.1 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.12.0 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.11.8 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.11.7 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.11.6 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.11.5 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.11.4 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.11.3 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.11.2 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.11.1 lib/generators/rollbar/rollbar_generator.rb
rollbar-0.10.14 lib/generators/rollbar/rollbar_generator.rb