class EotbGenerator < Rails::Generator::Base def add_options!(opt) opt.on('-k', '--api-key=key', String, "Your Beholder API key") {|v| options[:api_key] = v} opt.on('-l', '--login=login', String, "Your Beholder app login") {|v| options[:email] = v} opt.on('-d', '--password=password', String, "Your Beholder app password") {|v| options[:password] = v} end def manifest record do |m| ensure_parameter_was_set m.template "initializer.rb", "config/initializers/eotb.rb", :assigns => {:api_key => api_key_exp, :login => login_exp, :password => password_exp} end end def api_key_exp "#{options[:api_key]}" end def login_exp "#{options[:login]}" end def password_exp "#{options[:password]}" end def ensure_parameter_was_set if !options[:api_key] puts "Must pass --api-key='your_api_key' or -k 'your_api_key'" exit elsif !options[:login] puts "Must pass --login='app_login' or -l 'app_login'" exit elsif !options[:password] puts "Must pass --password='app_password' or -d 'app_password'" exit end end end