Class: Gluttonberg::Member

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
Gluttonberg::Membership::Export, Gluttonberg::Membership::Import
Defined in:
app/models/gluttonberg/member.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#image_deleteObject

Returns the value of attribute image_delete.



24
25
26
# File 'app/models/gluttonberg/member.rb', line 24

def image_delete
  @image_delete
end

#return_urlObject

Returns the value of attribute return_url.



23
24
25
# File 'app/models/gluttonberg/member.rb', line 23

def return_url
  @return_url
end

#term_and_conditionsObject

Returns the value of attribute term_and_conditions.



23
24
25
# File 'app/models/gluttonberg/member.rb', line 23

def term_and_conditions
  @term_and_conditions
end

Class Method Details

.does_email_verification_requiredObject



65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'app/models/gluttonberg/member.rb', line 65

def self.does_email_verification_required
  if Rails.configuration.enable_members == true
    true
  elsif Rails.configuration.enable_members.kind_of? Hash
    if Rails.configuration.enable_members.has_key?(:email_verification)
      Rails.configuration.enable_members[:email_verification]
    else
      true
    end
  else
    false
  end
end

.enable_membersObject



61
62
63
# File 'app/models/gluttonberg/member.rb', line 61

def self.enable_members
  Rails.configuration.enable_members == true || Rails.configuration.enable_members.kind_of?(Hash)
end

.generate_password_hashObject



83
84
85
86
87
88
89
# File 'app/models/gluttonberg/member.rb', line 83

def self.generate_password_hash
  password = self.generateRandomString
  password_hash = {
      :password => password ,
      :password_confirmation => password
  }
end

.generateRandomString(length = 10) ⇒ Object



79
80
81
# File 'app/models/gluttonberg/member.rb', line 79

def self.generateRandomString(length=10)
  RandomStringGenerator.generate(length)
end

Instance Method Details

#assign_groups(group_ids) ⇒ Object



91
92
93
94
95
96
97
# File 'app/models/gluttonberg/member.rb', line 91

def assign_groups(group_ids)
  if !group_ids.blank? && group_ids.kind_of?(String)
    self.group_ids = [group_ids]
  else
    self.group_ids = group_ids
  end
end

#can_login?Boolean

Returns:

  • (Boolean)


57
58
59
# File 'app/models/gluttonberg/member.rb', line 57

def can_login?
  !respond_to?(:can_login) || self. == true
end

#deliver_password_reset_instructions!(current_localization_slug = "") ⇒ Object



44
45
46
47
# File 'app/models/gluttonberg/member.rb', line 44

def deliver_password_reset_instructions!(current_localization_slug = "")
  reset_perishable_token!
  MemberNotifier.password_reset_instructions(self.id,current_localization_slug).deliver
end

#does_member_have_access_to_the_page?(page) ⇒ Boolean

Returns:

  • (Boolean)


99
100
101
# File 'app/models/gluttonberg/member.rb', line 99

def does_member_have_access_to_the_page?( page)
  self.have_group?(page.groups)
end

#full_nameObject



40
41
42
# File 'app/models/gluttonberg/member.rb', line 40

def full_name
  "#{self.first_name} #{self.last_name}".strip
end

#generate_confirmation_keyObject



111
112
113
# File 'app/models/gluttonberg/member.rb', line 111

def generate_confirmation_key
  self.confirmation_key = Digest::SHA1.hexdigest(Time.now.to_s + rand(12341234).to_s)[1..24]
end

#groups_name(join_str = ", ") ⇒ Object



49
50
51
52
53
54
55
# File 'app/models/gluttonberg/member.rb', line 49

def groups_name(join_str=", ")
  unless groups.blank?
    groups.map{|g| g.name}.join(join_str)
  else
    ""
  end
end

#have_group?(groups) ⇒ Boolean

Returns:

  • (Boolean)


103
104
105
106
107
108
109
# File 'app/models/gluttonberg/member.rb', line 103

def have_group?(groups)
  if groups.find_all{|g| self.group_ids.include?(g.id)  }.blank?
    false
  else
    true
  end
end