I am trying to use Sija's Garb in my rails app. But I am having trouble parsing the response after getting the profiles. Here is a summary of what I am doing to get the profiles:
Garb::Session.access_token = token
subs = Garb::Management::Profile.all
@subsInfo = []
subs.each do |sub|
sub_info = {:sid => sub.id,
:sname => sub.name,
:surl => sub.websiteUrl
}
@subsInfo << sub_info
end
The problem is that, even though sub.id and sub.name work, I get an "undefined method 'websiteUrl'" message. This is what the subs response looks like when I raise to_yaml:
---
- !ruby/object:Garb::Management::Profile
entry:
id: '12345678'
kind: analytics#profile
selfLink: https://www.googleapis.com/analytics/v3/management/accounts/01234567/webproperties/UA-01234567-1/profiles/12345678
accountId: '01234567'
webPropertyId: UA-01234567-1
internalWebPropertyId: '12345678'
name: first property
currency: USD
timezone: America/New_York
websiteUrl: http://www.firstproperty.com
defaultPage: http://www.firstproperty.com/home.html
type: WEB
created: '2010-05-21T14:40:46.600Z'
updated: '2011-02-02T16:51:12.910Z'
eCommerceTracking: true
parentLink:
type: analytics#webproperty
href: https://www.googleapis.com/analytics/v3/management/accounts/01234567/webproperties/UA-12345678-1
childLink:
type: analytics#goals
href: https://www.googleapis.com/analytics/v3/management/accounts/01234567/webproperties/UA-01234567-1/profiles/12345678/goals
session: &12345678901234 !ruby/class 'Garb::Session'
- !ruby/object:Garb::Management::Profile
entry:
id: '23456789'
kind: analytics#profile
selfLink: https://www.googleapis.com/analytics/v3/management/accounts/01234567/webproperties/UA-01234567-2/profiles/23456789
accountId: '01234567'
webPropertyId: UA-01234567-2
internalWebPropertyId: '23456789'
name: Second Property
currency: USD
timezone: America/Los_Angeles
websiteUrl: http://www.secondproperty.com/
defaultPage: http://www.secondproperty.com/index.html
type: WEB
created: '2010-07-05T19:58:33.611Z'
updated: '2011-02-02T16:51:12.922Z'
eCommerceTracking: true
parentLink:
type: analytics#webproperty
href: https://www.googleapis.com/analytics/v3/management/accounts/01234567/webproperties/UA-01234567-2
childLink:
type: analytics#goals
href: https://www.googleapis.com/analytics/v3/management/accounts/01234567/webproperties/UA-01234567-2/profiles/23456789/goals
session: *012345678901234
I cannot for the life of me figure out why the websiteUrl is telling me that it's undefined. It's not just that property either, it's several other properties but for some reason id and name work just fine.
Found the answer here. The attribute was renamed from websiteUrl to website_url. Whoops.