Class: Wobauth::SearchAdUserService
- Inherits:
-
Object
- Object
- Wobauth::SearchAdUserService
- Defined in:
- app/services/wobauth/search_ad_user_service.rb
Constant Summary collapse
- Result =
::ImmutableStruct.new( :success?, :error_messages, :ad_users )
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(options = {}) ⇒ SearchAdUserService
constructor
A new instance of SearchAdUserService.
Constructor Details
#initialize(options = {}) ⇒ SearchAdUserService
Returns a new instance of SearchAdUserService.
6 7 8 9 10 11 12 13 |
# File 'app/services/wobauth/search_ad_user_service.rb', line 6 def initialize( = {}) @options = .symbolize_keys @ldap_options = .fetch(:ldap_options, Wobauth.) if @ldap_options.blank? raise RuntimeError, "ldap_options not set!" end @query = .fetch(:query, false) end |
Instance Method Details
#call ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'app/services/wobauth/search_ad_user_service.rb', line 15 def call unless query return Result.new(success: false, error_messages: ["no query given"], ad_users: []) end ldap = Wobaduser::LDAP.new(ldap_options: ) if ldap.errors.any? return Result.new(success: false, error_messages: ldap.errors, ad_users: []) end search = Wobaduser::User.search(ldap: ldap, filter: user_filter(query)) if search.success? result = Result.new(success: true, error_messages: [], ad_users: search.entries) else result = Result.new(success: false, error_messages: search.errors, ad_users: []) end end |