class PossibleEmail::Profile
Attributes
data[R]
email[R]
first_name[R]
friendly_name[R]
headline[R]
images[R]
last_name[R]
location[R]
memberships[R]
name[R]
occupations[R]
phones[R]
success[R]
Public Class Methods
new(data)
click to toggle source
# File lib/possible_email/profile/profile.rb, line 12 def initialize(data) @data = data retrieve_attribute retrieve_attribute_collection end
Public Instance Methods
attributes()
click to toggle source
# File lib/possible_email/profile/profile.rb, line 19 def attributes instance_variables.select { |i| i != :@data }.map { |i| i.to_s[1..-1] } end
to_s()
click to toggle source
# File lib/possible_email/profile/profile.rb, line 23 def to_s "#{@name} - #{email}" end
Private Instance Methods
build_collection_instance_variable(collection)
click to toggle source
# File lib/possible_email/profile/profile.rb, line 42 def build_collection_instance_variable(collection) collection_array = @data['contact'][collection].reduce([]) do |col, c| col << find_klass_name(collection).new(c) end instance_variable_set("@#{collection}", collection_array) end
find_klass_name(collection)
click to toggle source
# File lib/possible_email/profile/profile.rb, line 50 def find_klass_name(collection) PossibleEmail.const_get collection[0..-2].capitalize # 'images' => 'Image' end
retrieve_attribute()
click to toggle source
# File lib/possible_email/profile/profile.rb, line 29 def retrieve_attribute %w(email name first_name last_name friendly_name location headline).each do |attr| instance_variable_set("@#{attr}", @data['contact'][attr]) end @success = @data['success'] end
retrieve_attribute_collection()
click to toggle source
# File lib/possible_email/profile/profile.rb, line 36 def retrieve_attribute_collection %w(occupations memberships images phones).each do |collection| build_collection_instance_variable(collection) end end