From: Josh Stevenson Date: 2009-10-29T05:46:12+09:00 Subject: Re: Uninitialized Constant Marnen Laibow-Koser wrote: > Josh Stevenson wrote: > [...] >> On that line is this: >> proivisioner = GAppsProvisioning::ProvisioningAPI.new(p_domain, >> p_username, p_password) > > And are those classes defined anywhere? > > Best, > -- > Marnen Laibow-Koser > http://www.marnen.org > marnen@marnen.org Yes. Here is the entire script. ENV['RAILS_ENV'] = 'production' require '/usr/home/admin/rails/nusers/config/environment' require 'gappsprovisioning/provisioningapi' include GAppsProvisioning dual = ARGV.first == '--dual' # don't waste time with syncing password changes CONFIG["auth_plugins"]["enable"] = 'f' # dup'd from auth_plugins.rb p_domain = CONFIG['auth_plugins']['google']['domain'] p_username = CONFIG['auth_plugins']['google']['username'] p_password = CONFIG['auth_plugins']['google']['password'] proivisioner = GAppsProvisioning::ProvisioningAPI.new(p_domain, p_username, p_password) while username = $stdin.gets username.chomp! user = User.find_by_uname(username) unless user $stderr.puts "#{username} not found" next end # if their password doesn't meet requirements, gen a temp one # and use that to create the google account if necessary. # once the google account is created, the user can change their # password with the new reqs and their google account will update if user.pass.blank? || user.pass.length < 6 $stderr.puts "#{username} needs to change their password" google_pass = Password.phonemic(8,Password::ONE_DIGIT) else # otherwise just use their normal password google_pass = user.pass end # where to send mail so it lands in the user's google account google_destination = "#{user.uname}@extmail.yumaed.org" # where to send mail so it lands in both the user's google account # and their IMAP account dual_destination = [google_destination, user.mail].join(',') # if user is already set up to have their mail sent to google, # skip them. this lets us run this script multiple times with # the same usernames. next if user.mail_destination == google_destination # create an account if necessary begin unless proivisioner.retrieve_user(user.uname) proivisioner.create_user(user.fname, user.lname, google_pass, user.uname) end rescue => e $stderr.puts "#{username} trouble creating google account: #{e}" next end # unless the --dual argument was given, send the user's mail # just to google. otherwise, do dual delivery. unless dual destination = google_destination else destination = dual_destination end # set their destination to what we decided on user.mail_destination = destination if user.save puts "#{username} updated (#{user.mail_destination})" else $stderr.puts "#{username} problem saving: #{user.errors.full_messages.join(' / ')}" end end -- Posted via http://www.ruby-forum.com/.