Sha256: 623d5e71a36d0b06d1c40fc5537d25c272e4b2a0c1213891ca225fba08ebf3c9

Contents?: true

Size: 1.3 KB

Versions: 3

Compression:

Stored size: 1.3 KB

Contents

class UcbRails::UserLdapService
  
  class << self
    
    def create_user_from_uid(uid)
      ldap_entry = UcbRails::LdapPerson::Finder.find_by_uid!(uid)
      create_user_from_ldap_entry(ldap_entry)
    end
    
    def create_user_from_ldap_entry(ldap_entry)
      
      UcbRails::User.create! do |u|
        u.uid = ldap_entry.uid
        u.first_name = ldap_entry.first_name
        u.last_name = ldap_entry.last_name
        u.email = ldap_entry.email
        u.phone = ldap_entry.phone
        
      end
      
    end
    
    def update_user_from_ldap_entry(ldap_entry)
      # ldap_entry = UcbRails::LdapPerson::Finder.find_by_uid!(uid)
      UcbRails::User.find_by_uid!(ldap_entry.uid).tap do |user|
        user.first_name = ldap_entry.first_name
        user.last_name = ldap_entry.last_name
        user.email = ldap_entry.email
        user.phone = ldap_entry.phone
        user.save(validate: false)
      end
    end
    
    def create_or_update_user(uid)
      if user = UcbRails::User.find_by_uid(uid)
        update_user(uid)
      else
        create_user(uid)
      end
    end
    
    def create_or_update_user_from_entry(entry)
      if user = UcbRails::User.find_by_uid(entry.uid)
        update_user_from_ldap_entry(entry)
      else
        create_user_from_ldap_entry(entry)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ucb_rails-0.0.4 app/models/ucb_rails/user_ldap_service.rb
ucb_rails-0.0.3 app/models/ucb_rails/user_ldap_service.rb
ucb_rails-0.0.2 app/models/ucb_rails/user_ldap_service.rb