class HoptoadGenerator
Public Class Methods
source_root()
click to toggle source
# File lib/rails/generators/hoptoad/hoptoad_generator.rb, line 8 def self.source_root @_hoptoad_source_root ||= File.expand_path("../../../../../generators/hoptoad/templates", __FILE__) end
Public Instance Methods
install()
click to toggle source
# File lib/rails/generators/hoptoad/hoptoad_generator.rb, line 12 def install ensure_api_key_was_configured ensure_plugin_is_not_present append_capistrano_hook generate_initializer unless api_key_configured? determine_api_key if heroku? test_hoptoad end
Private Instance Methods
api_key_configured?()
click to toggle source
# File lib/rails/generators/hoptoad/hoptoad_generator.rb, line 83 def api_key_configured? File.exists?('config/initializers/hoptoad.rb') end
api_key_expression()
click to toggle source
# File lib/rails/generators/hoptoad/hoptoad_generator.rb, line 47 def api_key_expression s = if options[:api_key] "'#{options[:api_key]}'" elsif options[:heroku] "ENV['HOPTOAD_API_KEY']" end end
append_capistrano_hook()
click to toggle source
# File lib/rails/generators/hoptoad/hoptoad_generator.rb, line 37 def append_capistrano_hook if File.exists?('config/deploy.rb') && File.exists?('Capfile') append_file('config/deploy.rb', " require './config/boot' require 'hoptoad_notifier/capistrano' ") end end
determine_api_key()
click to toggle source
# File lib/rails/generators/hoptoad/hoptoad_generator.rb, line 59 def determine_api_key puts "Attempting to determine your API Key from Heroku..." ENV['HOPTOAD_API_KEY'] = heroku_api_key if ENV['HOPTOAD_API_KEY'].blank? puts "... Failed." puts "WARNING: We were unable to detect the Hoptoad API Key from your Heroku environment." puts "Your Heroku application environment may not be configured correctly." exit 1 else puts "... Done." puts "Heroku's Hoptoad API Key is '#{ENV['HOPTOAD_API_KEY']}'" end end
ensure_api_key_was_configured()
click to toggle source
# File lib/rails/generators/hoptoad/hoptoad_generator.rb, line 23 def ensure_api_key_was_configured if !options[:api_key] && !options[:heroku] && !api_key_configured? puts "Must pass --api-key or --heroku or create config/initializers/hoptoad.rb" exit end end
ensure_plugin_is_not_present()
click to toggle source
# File lib/rails/generators/hoptoad/hoptoad_generator.rb, line 30 def ensure_plugin_is_not_present if plugin_is_present? puts "You must first remove the hoptoad_notifier plugin. Please run: script/plugin remove hoptoad_notifier" exit end end
generate_initializer()
click to toggle source
# File lib/rails/generators/hoptoad/hoptoad_generator.rb, line 55 def generate_initializer template 'initializer.rb', 'config/initializers/hoptoad.rb' end
heroku?()
click to toggle source
# File lib/rails/generators/hoptoad/hoptoad_generator.rb, line 77 def heroku? options[:heroku] || system("grep HOPTOAD_API_KEY config/initializers/hoptoad.rb") || system("grep HOPTOAD_API_KEY config/environment.rb") end
heroku_api_key()
click to toggle source
# File lib/rails/generators/hoptoad/hoptoad_generator.rb, line 73 def heroku_api_key %x`heroku console 'puts ENV[%{HOPTOAD_API_KEY}]'`.split("\n").first end
plugin_is_present?()
click to toggle source
# File lib/rails/generators/hoptoad/hoptoad_generator.rb, line 91 def plugin_is_present? File.exists?('vendor/plugins/hoptoad_notifier') end
test_hoptoad()
click to toggle source
# File lib/rails/generators/hoptoad/hoptoad_generator.rb, line 87 def test_hoptoad puts run("rake hoptoad:test --trace") end