Skip to content

Instantly share code, notes, and snippets.

@r38y
Created November 13, 2008 18:23
Show Gist options
  • Save r38y/24543 to your computer and use it in GitHub Desktop.
Save r38y/24543 to your computer and use it in GitHub Desktop.
randy $ git blame app/models/organization.rb
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 1) class Organization < ActiveRecord::Base
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 2) set_table_name 'org_prefs'
db80906a (Randy Schmidt 2008-08-17 00:31:13 +0000 3) validates_uniqueness_of :sfdc_id, :s3_bucket_name, :allow_blank => true
16dc1146 (Chris Conley 2008-07-17 14:53:05 +0000 4) serialize :test_types
be980649 (Randy Schmidt 2008-08-16 22:28:32 +0000 5)
be980649 (Randy Schmidt 2008-08-16 22:28:32 +0000 6) validates_presence_of :display_name, :short_name, :time_zone
be980649 (Randy Schmidt 2008-08-16 22:28:32 +0000 7) validates_presence_of :sfdc_id, :sfdc_username, :sfdc_password, :sfdc_token
be980649 (Randy Schmidt 2008-08-16 22:28:32 +0000 8) validates_presence_of :s3_access_key_id, :s3_secret_access_key, :s3_bucket_name
011a7e81 (Chris Conley 2008-11-11 20:27:47 +0000 9) validates_presence_of :min_number_of_enrollments, :min_number_of_test_scores, :min_number_of_recommendat
e0672cb9 (Randy Schmidt 2008-08-17 00:28:46 +0000 10)
f05acdc5 (Chris Conley 2008-08-27 13:59:32 +0000 11) def to_param
f05acdc5 (Chris Conley 2008-08-27 13:59:32 +0000 12) sfdc_id.to_s
f05acdc5 (Chris Conley 2008-08-27 13:59:32 +0000 13) end
f05acdc5 (Chris Conley 2008-08-27 13:59:32 +0000 14)
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 15) # Iterate through the database names. In +test+ environment,
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 16) # add the +dummy+ database, too.
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 17) def self.each_database_name
1af6fb17 (Randy Schmidt 2008-01-17 01:09:41 +0000 18) ActiveRecord::Base.establish_connection(RAILS_ENV)
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 19) dbs = self.find(:all, :order => 'id ASC')
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 20) dbs.each do |db|
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 21) yield db.database_name #:yield: database_name
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 22) end
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 23) yield 'dummy' if RAILS_ENV == 'test'
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 24) end
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 25)
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 26) # Return the display name as a database name (lowercase)
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 27) def database_name
1af6fb17 (Randy Schmidt 2008-01-17 01:09:41 +0000 28) self.short_name.strip.downcase.gsub(/\s+/,'_')
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 29) end
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 30)
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 31) # Render organization in some printable way
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 32) def to_s
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 33) display_name.strip
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 34) end
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 35)
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 36) # Setup the current database for this organization
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 37) def setup_database
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 38) OrgSpecific::Base::setup_database(self.database_name)
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 39) end
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 40)
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 41) def setup_asf
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 42) asf_config = { :adapter => 'activesalesforce',
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 43) :username => sfdc_username,
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 44) :password => sfdc_api_password }
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 45) silence_warnings{
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 46) OrgSpecific::AsfBase::setup_asf(asf_config, database_name)
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 47) }
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 48) end
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 49)
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 50) # Clear the cached ASF connection for this organization. This is
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 51) # necessary if the SFDC schema for this organization has changed and
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 52) # we need to make sure it is refreshed.
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 53) def clear_asf_connection
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 54) OrgSpecific::AsfBase::clear_cached_connection(database_name)
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 55) end
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 56)
de73182a (Andrew Libby 2008-03-05 16:26:45 +0000 57) def setup
de73182a (Andrew Libby 2008-03-05 16:26:45 +0000 58) setup_database
de73182a (Andrew Libby 2008-03-05 16:26:45 +0000 59) setup_asf
de73182a (Andrew Libby 2008-03-05 16:26:45 +0000 60) end
de73182a (Andrew Libby 2008-03-05 16:26:45 +0000 61)
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 62) def sfdc_api_password
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 63) return sfdc_password + sfdc_token
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 64) end
51896eeb (Andrew Libby 2008-03-17 18:22:05 +0000 65)
51896eeb (Andrew Libby 2008-03-17 18:22:05 +0000 66) def s3_config
51896eeb (Andrew Libby 2008-03-17 18:22:05 +0000 67) { :bucket_name => s3_bucket_name,
51896eeb (Andrew Libby 2008-03-17 18:22:05 +0000 68) :access_key_id => s3_access_key_id,
51896eeb (Andrew Libby 2008-03-17 18:22:05 +0000 69) :secret_access_key => s3_secret_access_key
51896eeb (Andrew Libby 2008-03-17 18:22:05 +0000 70) }
51896eeb (Andrew Libby 2008-03-17 18:22:05 +0000 71) end
51896eeb (Andrew Libby 2008-03-17 18:22:05 +0000 72)
070b49b4 (Chris Conley 2008-06-13 21:27:47 +0000 73) def payment_voucher_instructions
070b49b4 (Chris Conley 2008-06-13 21:27:47 +0000 74) read_attribute(:payment_voucher_instructions).blank? ? DEFAULT_PAYMENT_VOUCHER_INSTRUCTIONS : read_at
070b49b4 (Chris Conley 2008-06-13 21:27:47 +0000 75) end
f6022971 (Chris Conley 2008-06-21 17:40:00 +0000 76)
097be46f (Chris Conley 2008-10-10 17:16:35 +0000 77) def expected_list_of_majors
097be46f (Chris Conley 2008-10-10 17:16:35 +0000 78) read_attribute(:expected_list_of_majors).blank? ? DEFAULT_LIST_OF_MAJORS : read_attribute(:expected_l
16dc1146 (Chris Conley 2008-07-17 14:53:05 +0000 79) end
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 80) end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment