Class: Garb::Profile

Inherits:
Object
  • Object
show all
Includes:
ProfileReports
Defined in:
lib/garb/profile.rb

Defined Under Namespace

Classes: Entry, Property

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ProfileReports

add_report_method

Constructor Details

#initialize(entry, session) ⇒ Profile

Returns a new instance of Profile.



33
34
35
36
37
38
39
40
41
# File 'lib/garb/profile.rb', line 33

def initialize(entry, session)
  @session = session
  @title = entry.title
  @table_id = entry.tableId

  entry.properties.each do |p|
    instance_variable_set :"@#{p.instance_name}", p.value
  end
end

Instance Attribute Details

#account_idObject (readonly)

Returns the value of attribute account_id.



6
7
8
# File 'lib/garb/profile.rb', line 6

def 
  @account_id
end

#account_nameObject (readonly)

Returns the value of attribute account_name.



6
7
8
# File 'lib/garb/profile.rb', line 6

def 
  @account_name
end

#sessionObject (readonly)

Returns the value of attribute session.



6
7
8
# File 'lib/garb/profile.rb', line 6

def session
  @session
end

#table_idObject (readonly)

Returns the value of attribute table_id.



6
7
8
# File 'lib/garb/profile.rb', line 6

def table_id
  @table_id
end

#titleObject (readonly)

Returns the value of attribute title.



6
7
8
# File 'lib/garb/profile.rb', line 6

def title
  @title
end

#web_property_idObject (readonly)

Returns the value of attribute web_property_id.



6
7
8
# File 'lib/garb/profile.rb', line 6

def web_property_id
  @web_property_id
end

Class Method Details

.all(session = Session) ⇒ Object



47
48
49
50
51
# File 'lib/garb/profile.rb', line 47

def self.all(session = Session)
  url = "https://www.google.com/analytics/feeds/accounts/default"
  response = DataRequest.new(session, url).send_request      
  Entry.parse(response.body).map {|entry| new(entry, session)}
end

.first(id, session = Session) ⇒ Object



53
54
55
# File 'lib/garb/profile.rb', line 53

def self.first(id, session = Session)
  all(session).detect {|profile| profile.id == id || profile.web_property_id == id }
end

Instance Method Details

#idObject



43
44
45
# File 'lib/garb/profile.rb', line 43

def id
  Garb.from_google_analytics(@table_id)
end