Module: AuthlogicCrowd::ActsAsAuthentic::Methods

Defined in:
lib/authlogic_crowd/acts_as_authentic.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#crowd_recordObject

Returns the value of attribute crowd_record.



107
108
109
# File 'lib/authlogic_crowd/acts_as_authentic.rb', line 107

def crowd_record
  @crowd_record
end

#crowd_synchronizerObject

Returns the value of attribute crowd_synchronizer.



107
108
109
# File 'lib/authlogic_crowd/acts_as_authentic.rb', line 107

def crowd_synchronizer
  @crowd_synchronizer
end

Class Method Details

.included(klass) ⇒ Object



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/authlogic_crowd/acts_as_authentic.rb', line 89

def self.included(klass)
  klass.class_eval do
    extend ClassMethods

    after_create(:if => [:using_crowd?, :adding_crowd_records?], :unless => :has_crowd_record?) do |r|
      r.crowd_synchronizer.create_crowd_record
    end

    before_update :crowd_before_update_reset_password, :if => [:using_crowd?, :updating_crowd_records?, :has_crowd_record?]

    after_update(:if => [:using_crowd?, :updating_crowd_records?, :has_crowd_record?]) do |r|
      r.crowd_synchronizer.sync_to_crowd
    end

    validate_on_create :must_have_unique_crowd_login, :if => [:using_crowd?, :adding_crowd_records?], :unless => :has_crowd_record?
  end
end

Instance Method Details

#adding_crowd_records?Boolean

Returns:

  • (Boolean)


136
137
138
# File 'lib/authlogic_crowd/acts_as_authentic.rb', line 136

def adding_crowd_records?
  self.class.add_crowd_records
end

#crowd_clientObject



109
110
111
# File 'lib/authlogic_crowd/acts_as_authentic.rb', line 109

def crowd_client
  @crowd_client ||= self.class.crowd_client
end

#crowd_passwordObject



148
149
150
# File 'lib/authlogic_crowd/acts_as_authentic.rb', line 148

def crowd_password
  password
end

#crowd_password_changed?Boolean

Returns:

  • (Boolean)


152
153
154
# File 'lib/authlogic_crowd/acts_as_authentic.rb', line 152

def crowd_password_changed?
  password_changed?
end

#has_crowd_record?Boolean

Returns:

  • (Boolean)


144
145
146
# File 'lib/authlogic_crowd/acts_as_authentic.rb', line 144

def has_crowd_record?
  !!self.crowd_record
end

#updating_crowd_records?Boolean

Returns:

  • (Boolean)


140
141
142
# File 'lib/authlogic_crowd/acts_as_authentic.rb', line 140

def updating_crowd_records?
  self.class.update_crowd_records
end

#using_crowd?Boolean

Returns:

  • (Boolean)


132
133
134
# File 'lib/authlogic_crowd/acts_as_authentic.rb', line 132

def using_crowd?
  self.class.using_crowd?
end

#valid_crowd_password?(plaintext_password) ⇒ Boolean

Returns:

  • (Boolean)


156
157
158
159
160
161
162
163
164
165
166
# File 'lib/authlogic_crowd/acts_as_authentic.rb', line 156

def valid_crowd_password?(plaintext_password)
  if using_crowd?
    begin
      token = crowd_client.authenticate_user(self.unique_id, plaintext_password)
      return true if token
    rescue SimpleCrowd::CrowdError => e
      Rails.logger.warn "CROWD[#{__method__}]: Unexpected error.  #{e}"
    end
  end
  false
end