tagcrumbs-tagcrumbs 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. data/History.txt +9 -0
  2. data/License.txt +22 -0
  3. data/Manifest.txt +177 -0
  4. data/PostInstall.txt +2 -0
  5. data/README.rdoc +45 -0
  6. data/Rakefile +35 -0
  7. data/TODO.txt +17 -0
  8. data/bin/tagcrumbs +5 -0
  9. data/examples/address_update.rb +15 -0
  10. data/examples/comment_new.rb +19 -0
  11. data/examples/favorite_new.rb +17 -0
  12. data/examples/filter_new.rb +15 -0
  13. data/examples/friendship_create.rb +19 -0
  14. data/examples/link_new.rb +16 -0
  15. data/examples/location_update.rb +16 -0
  16. data/examples/picture_update.rb +16 -0
  17. data/examples/placemark_new_simple.rb +24 -0
  18. data/examples/placemark_new_suggestions.rb +24 -0
  19. data/examples/profile_link_new.rb +14 -0
  20. data/examples/profile_update.rb +12 -0
  21. data/examples/request_authorization.rb +25 -0
  22. data/examples/settings_update.rb +12 -0
  23. data/examples/subscription_new.rb +15 -0
  24. data/examples/tagcrumbs_find.rb +25 -0
  25. data/examples/tagcrumbs_search.rb +7 -0
  26. data/examples/user.rb +28 -0
  27. data/examples/user_recommendation_new.rb +15 -0
  28. data/lib/tagcrumbs.rb +232 -0
  29. data/lib/tagcrumbs/builders/builder.rb +45 -0
  30. data/lib/tagcrumbs/builders/json_builder.rb +38 -0
  31. data/lib/tagcrumbs/builders/xml_builder.rb +30 -0
  32. data/lib/tagcrumbs/cli.rb +268 -0
  33. data/lib/tagcrumbs/config_store.rb +35 -0
  34. data/lib/tagcrumbs/exceptions.rb +13 -0
  35. data/lib/tagcrumbs/node.rb +43 -0
  36. data/lib/tagcrumbs/parsers/json_parser.rb +79 -0
  37. data/lib/tagcrumbs/parsers/parser.rb +24 -0
  38. data/lib/tagcrumbs/parsers/xml_parser.rb +54 -0
  39. data/lib/tagcrumbs/proxy.rb +32 -0
  40. data/lib/tagcrumbs/requestor.rb +140 -0
  41. data/lib/tagcrumbs/resources/array.rb +108 -0
  42. data/lib/tagcrumbs/resources/models/accessors.rb +252 -0
  43. data/lib/tagcrumbs/resources/models/activity.rb +19 -0
  44. data/lib/tagcrumbs/resources/models/address.rb +16 -0
  45. data/lib/tagcrumbs/resources/models/city.rb +13 -0
  46. data/lib/tagcrumbs/resources/models/comment.rb +12 -0
  47. data/lib/tagcrumbs/resources/models/country.rb +15 -0
  48. data/lib/tagcrumbs/resources/models/fanship.rb +12 -0
  49. data/lib/tagcrumbs/resources/models/favorite.rb +22 -0
  50. data/lib/tagcrumbs/resources/models/filter.rb +32 -0
  51. data/lib/tagcrumbs/resources/models/flag.rb +10 -0
  52. data/lib/tagcrumbs/resources/models/friendship.rb +12 -0
  53. data/lib/tagcrumbs/resources/models/geoname.rb +8 -0
  54. data/lib/tagcrumbs/resources/models/link.rb +13 -0
  55. data/lib/tagcrumbs/resources/models/location.rb +13 -0
  56. data/lib/tagcrumbs/resources/models/model.rb +148 -0
  57. data/lib/tagcrumbs/resources/models/picture.rb +28 -0
  58. data/lib/tagcrumbs/resources/models/place.rb +17 -0
  59. data/lib/tagcrumbs/resources/models/placemark.rb +30 -0
  60. data/lib/tagcrumbs/resources/models/profile.rb +16 -0
  61. data/lib/tagcrumbs/resources/models/profile_link.rb +12 -0
  62. data/lib/tagcrumbs/resources/models/root.rb +19 -0
  63. data/lib/tagcrumbs/resources/models/settings.rb +14 -0
  64. data/lib/tagcrumbs/resources/models/state.rb +14 -0
  65. data/lib/tagcrumbs/resources/models/subscription.rb +13 -0
  66. data/lib/tagcrumbs/resources/models/suggestions.rb +11 -0
  67. data/lib/tagcrumbs/resources/models/tag.rb +6 -0
  68. data/lib/tagcrumbs/resources/models/tagcrumb.rb +58 -0
  69. data/lib/tagcrumbs/resources/models/user.rb +101 -0
  70. data/lib/tagcrumbs/resources/models/user_recommendation.rb +18 -0
  71. data/lib/tagcrumbs/resources/resource.rb +76 -0
  72. data/lib/tagcrumbs/validations.rb +301 -0
  73. data/script/console +10 -0
  74. data/script/destroy +14 -0
  75. data/script/generate +14 -0
  76. data/spec/fixtures/activity.json +210 -0
  77. data/spec/fixtures/activity.xml +66 -0
  78. data/spec/fixtures/address.json +183 -0
  79. data/spec/fixtures/address.xml +58 -0
  80. data/spec/fixtures/city.json +88 -0
  81. data/spec/fixtures/city.xml +34 -0
  82. data/spec/fixtures/comment.json +286 -0
  83. data/spec/fixtures/comment.xml +87 -0
  84. data/spec/fixtures/country.json +32 -0
  85. data/spec/fixtures/country.xml +13 -0
  86. data/spec/fixtures/fanship.json +180 -0
  87. data/spec/fixtures/fanship.xml +54 -0
  88. data/spec/fixtures/favorite.json +332 -0
  89. data/spec/fixtures/favorite.xml +109 -0
  90. data/spec/fixtures/filter.json +243 -0
  91. data/spec/fixtures/filter.xml +80 -0
  92. data/spec/fixtures/friendship.json +180 -0
  93. data/spec/fixtures/friendship.xml +54 -0
  94. data/spec/fixtures/geoname.json +18 -0
  95. data/spec/fixtures/geoname.xml +6 -0
  96. data/spec/fixtures/json_parser.json +25 -0
  97. data/spec/fixtures/link.json +288 -0
  98. data/spec/fixtures/link.xml +88 -0
  99. data/spec/fixtures/location.json +204 -0
  100. data/spec/fixtures/location.xml +71 -0
  101. data/spec/fixtures/picture.json +154 -0
  102. data/spec/fixtures/picture.png +0 -0
  103. data/spec/fixtures/picture.xml +49 -0
  104. data/spec/fixtures/placemark.json +357 -0
  105. data/spec/fixtures/placemark.xml +58 -0
  106. data/spec/fixtures/placemarks.json +887 -0
  107. data/spec/fixtures/placemarks.xml +348 -0
  108. data/spec/fixtures/profile.json +282 -0
  109. data/spec/fixtures/profile.xml +100 -0
  110. data/spec/fixtures/profile_link.json +156 -0
  111. data/spec/fixtures/profile_link.xml +49 -0
  112. data/spec/fixtures/root.json +46 -0
  113. data/spec/fixtures/root.xml +14 -0
  114. data/spec/fixtures/settings.json +147 -0
  115. data/spec/fixtures/settings.xml +45 -0
  116. data/spec/fixtures/state.json +62 -0
  117. data/spec/fixtures/state.xml +23 -0
  118. data/spec/fixtures/subscription.json +283 -0
  119. data/spec/fixtures/subscription.xml +86 -0
  120. data/spec/fixtures/suggestions.json +1877 -0
  121. data/spec/fixtures/suggestions.xml +724 -0
  122. data/spec/fixtures/tag.json +9 -0
  123. data/spec/fixtures/tag.xml +4 -0
  124. data/spec/fixtures/user.json +105 -0
  125. data/spec/fixtures/user.xml +31 -0
  126. data/spec/fixtures/user_recommendation.json +349 -0
  127. data/spec/fixtures/user_recommendation.xml +106 -0
  128. data/spec/fixtures/validation_errors.json +5 -0
  129. data/spec/fixtures/validation_errors.xml +5 -0
  130. data/spec/fixtures/xml_parser.xml +13 -0
  131. data/spec/spec.opts +1 -0
  132. data/spec/spec_helper.rb +75 -0
  133. data/spec/tagcrumbs/builders/builder_spec.rb +57 -0
  134. data/spec/tagcrumbs/builders/json_builder_spec.rb +47 -0
  135. data/spec/tagcrumbs/builders/xml_builder_spec.rb +34 -0
  136. data/spec/tagcrumbs/exceptions_spec.rb +16 -0
  137. data/spec/tagcrumbs/node_spec.rb +42 -0
  138. data/spec/tagcrumbs/parsers/json_parser_spec.rb +117 -0
  139. data/spec/tagcrumbs/parsers/parser_spec.rb +25 -0
  140. data/spec/tagcrumbs/parsers/xml_parser_spec.rb +117 -0
  141. data/spec/tagcrumbs/proxy_spec.rb +48 -0
  142. data/spec/tagcrumbs/requestor_spec.rb +62 -0
  143. data/spec/tagcrumbs/resources/array_spec.rb +62 -0
  144. data/spec/tagcrumbs/resources/models/accessors_spec.rb +123 -0
  145. data/spec/tagcrumbs/resources/models/activity_spec.rb +33 -0
  146. data/spec/tagcrumbs/resources/models/address_spec.rb +24 -0
  147. data/spec/tagcrumbs/resources/models/city_spec.rb +33 -0
  148. data/spec/tagcrumbs/resources/models/comment_spec.rb +23 -0
  149. data/spec/tagcrumbs/resources/models/country_spec.rb +26 -0
  150. data/spec/tagcrumbs/resources/models/fanship_spec.rb +28 -0
  151. data/spec/tagcrumbs/resources/models/favorite_spec.rb +28 -0
  152. data/spec/tagcrumbs/resources/models/filter_spec.rb +43 -0
  153. data/spec/tagcrumbs/resources/models/flag_spec.rb +5 -0
  154. data/spec/tagcrumbs/resources/models/friendship_spec.rb +28 -0
  155. data/spec/tagcrumbs/resources/models/geoname_spec.rb +18 -0
  156. data/spec/tagcrumbs/resources/models/link_spec.rb +24 -0
  157. data/spec/tagcrumbs/resources/models/location_spec.rb +28 -0
  158. data/spec/tagcrumbs/resources/models/model_spec.rb +27 -0
  159. data/spec/tagcrumbs/resources/models/picture_spec.rb +42 -0
  160. data/spec/tagcrumbs/resources/models/place_spec.rb +12 -0
  161. data/spec/tagcrumbs/resources/models/placemark_spec.rb +61 -0
  162. data/spec/tagcrumbs/resources/models/profile_link_spec.rb +29 -0
  163. data/spec/tagcrumbs/resources/models/profile_spec.rb +43 -0
  164. data/spec/tagcrumbs/resources/models/root_spec.rb +57 -0
  165. data/spec/tagcrumbs/resources/models/settings_spec.rb +32 -0
  166. data/spec/tagcrumbs/resources/models/state_spec.rb +30 -0
  167. data/spec/tagcrumbs/resources/models/subscription_spec.rb +28 -0
  168. data/spec/tagcrumbs/resources/models/suggestions_spec.rb +33 -0
  169. data/spec/tagcrumbs/resources/models/tag_spec.rb +16 -0
  170. data/spec/tagcrumbs/resources/models/tagcrumb_spec.rb +21 -0
  171. data/spec/tagcrumbs/resources/models/user_recommendation_spec.rb +35 -0
  172. data/spec/tagcrumbs/resources/models/user_spec.rb +128 -0
  173. data/spec/tagcrumbs/resources/resource_spec.rb +62 -0
  174. data/spec/tagcrumbs/validations_spec.rb +27 -0
  175. data/spec/tagcrumbs_spec.rb +103 -0
  176. data/tagcrumbs.gemspec +59 -0
  177. data/tasks/rspec.rake +21 -0
  178. metadata +325 -0
@@ -0,0 +1,9 @@
1
+ {
2
+ "tag": {
3
+ "@xlink:href": "http://www.tagcrumbs.com/tags/tag1.json",
4
+ "name": {
5
+ "$": "tag1"
6
+ },
7
+ "@type": "Tag"
8
+ }
9
+ }
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <tag type="Tag" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.tagcrumbs.com/tags/tag1.xml">
3
+ <name>tag1</name>
4
+ </tag>
@@ -0,0 +1,105 @@
1
+ {
2
+ "user": {
3
+ "tagcrumbs_fans": {
4
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/fans/tagcrumbs.json",
5
+ "@type": "array"
6
+ },
7
+ "tags": {
8
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/tags.json",
9
+ "@type": "array"
10
+ },
11
+ "activities": {
12
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/activities.json",
13
+ "@type": "array"
14
+ },
15
+ "tagcrumbs": {
16
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/tagcrumbs.json",
17
+ "@type": "array"
18
+ },
19
+ "subscriptions": {
20
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/subscriptions.json",
21
+ "@type": "array"
22
+ },
23
+ "profile": {
24
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/profile.json",
25
+ "@type": "Profile"
26
+ },
27
+ "username": {
28
+ "$": "sascha"
29
+ },
30
+ "@xlink:href": "http://www.tagcrumbs.com/sascha.json",
31
+ "places": {
32
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/places.json",
33
+ "@type": "array"
34
+ },
35
+ "picture": {
36
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/profile/picture.json",
37
+ "@type": "Picture"
38
+ },
39
+ "comments": {
40
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/comments.json",
41
+ "@type": "array"
42
+ },
43
+ "fanships": {
44
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/fans.json",
45
+ "@type": "array"
46
+ },
47
+ "favorites": {
48
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/favorites.json",
49
+ "@type": "array"
50
+ },
51
+ "settings": {
52
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/settings.json",
53
+ "@type": "Settings"
54
+ },
55
+ "created_at": {
56
+ "@type": "timestamp",
57
+ "$": "2008-06-12T09:34:00+02:00"
58
+ },
59
+ "placemarks": {
60
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/placemarks.json",
61
+ "@type": "array"
62
+ },
63
+ "@type": "User",
64
+ "profile_links": {
65
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/profile/links.json",
66
+ "@type": "array"
67
+ },
68
+ "links": {
69
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/links.json",
70
+ "@type": "array"
71
+ },
72
+ "suggestions": {
73
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/tagcrumbs/suggestions.json",
74
+ "@type": "Suggestions"
75
+ },
76
+ "location": {
77
+ "@xlink:href": "http://www.tagcrumbs.com/location.json",
78
+ "@type": "Location"
79
+ },
80
+ "flags": {
81
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/flags.json",
82
+ "@type": "array"
83
+ },
84
+ "filters": {
85
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/filters.json",
86
+ "@type": "array"
87
+ },
88
+ "tagcrumbs_friends": {
89
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/friends/tagcrumbs.json",
90
+ "@type": "array"
91
+ },
92
+ "received_recommendations": {
93
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/recommendations/received.json",
94
+ "@type": "array"
95
+ },
96
+ "recommendations": {
97
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/recommendations.json",
98
+ "@type": "array"
99
+ },
100
+ "friendships": {
101
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/friends.json",
102
+ "@type": "array"
103
+ }
104
+ }
105
+ }
@@ -0,0 +1,31 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <user type="User" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.tagcrumbs.com/sascha.xml">
3
+ <username>sascha</username>
4
+ <created_at type="timestamp">2008-06-12T09:34:00+02:00</created_at>
5
+ <profile type="Profile" xlink:href="http://www.tagcrumbs.com/sascha/profile.xml"/>
6
+ <settings type="Settings" xlink:href="http://www.tagcrumbs.com/sascha/settings.xml"/>
7
+ <location type="Location" xlink:href="http://www.tagcrumbs.com/location.xml"/>
8
+ <suggestions type="Suggestions" xlink:href="http://www.tagcrumbs.com/sascha/tagcrumbs/suggestions.xml"/>
9
+ <filters type="array" xlink:href="http://www.tagcrumbs.com/sascha/filters.xml"/>
10
+
11
+ <links type="array" xlink:href="http://www.tagcrumbs.com/sascha/links.xml"/>
12
+ <comments type="array" xlink:href="http://www.tagcrumbs.com/sascha/comments.xml"/>
13
+ <flags type="array" xlink:href="http://www.tagcrumbs.com/sascha/flags.xml"/>
14
+ <recommendations type="array" xlink:href="http://www.tagcrumbs.com/sascha/recommendations.xml"/>
15
+ <received_recommendations type="array" xlink:href="http://www.tagcrumbs.com/sascha/recommendations/received.xml"/>
16
+ <subscriptions type="array" xlink:href="http://www.tagcrumbs.com/sascha/subscriptions.xml"/>
17
+ <picture type="Picture" xlink:href="http://www.tagcrumbs.com/sascha/profile/picture.xml"/>
18
+ <profile_links type="array" xlink:href="http://www.tagcrumbs.com/sascha/profile/links.xml"/>
19
+ <tagcrumbs type="array" xlink:href="http://www.tagcrumbs.com/sascha/tagcrumbs.xml"/>
20
+
21
+ <placemarks type="array" xlink:href="http://www.tagcrumbs.com/sascha/placemarks.xml"/>
22
+ <favorites type="array" xlink:href="http://www.tagcrumbs.com/sascha/favorites.xml"/>
23
+ <activities type="array" xlink:href="http://www.tagcrumbs.com/sascha/activities.xml"/>
24
+ <tags type="array" xlink:href="http://www.tagcrumbs.com/sascha/tags.xml"/>
25
+ <places type="array" xlink:href="http://www.tagcrumbs.com/sascha/places.xml"/>
26
+ <friendships type="array" xlink:href="http://www.tagcrumbs.com/sascha/friends.xml"/>
27
+ <fanships type="array" xlink:href="http://www.tagcrumbs.com/sascha/fans.xml"/>
28
+ <tagcrumbs_friends type="array" xlink:href="http://www.tagcrumbs.com/sascha/friends/tagcrumbs.xml"/>
29
+ <tagcrumbs_fans type="array" xlink:href="http://www.tagcrumbs.com/sascha/fans/tagcrumbs.xml"/>
30
+
31
+ </user>
@@ -0,0 +1,349 @@
1
+ {
2
+ "recommendation": {
3
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/recommendations/70.json",
4
+ "tagcrumb": {
5
+ "favorites_count": {
6
+ "@type": "integer",
7
+ "$": 0
8
+ },
9
+ "city": {
10
+ "@xlink:href": "http://www.tagcrumbs.com/places/germany/states/land-baden-w%C3%BCrttemberg/cities/b%C3%B6blingen.json",
11
+ "@type": "City"
12
+ },
13
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/placemarks/placemark-name.json",
14
+ "comments": {
15
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/placemarks/placemark-name/comments.json",
16
+ "@type": "array"
17
+ },
18
+ "longitude": {
19
+ "@type": "float",
20
+ "$": 8.96329879760742
21
+ },
22
+ "created_at": {
23
+ "@type": "timestamp",
24
+ "$": "2009-02-01T14:41:11+01:00"
25
+ },
26
+ "permalink": {
27
+ "$": "placemark-name"
28
+ },
29
+ "notes": {
30
+ "$": "PLACEMARK NOTES"
31
+ },
32
+ "user": {
33
+ "tagcrumbs_fans": {
34
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/fans/tagcrumbs.json",
35
+ "@type": "array"
36
+ },
37
+ "tags": {
38
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/tags.json",
39
+ "@type": "array"
40
+ },
41
+ "activities": {
42
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/activities.json",
43
+ "@type": "array"
44
+ },
45
+ "tagcrumbs": {
46
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/tagcrumbs.json",
47
+ "@type": "array"
48
+ },
49
+ "subscriptions": {
50
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/subscriptions.json",
51
+ "@type": "array"
52
+ },
53
+ "profile": {
54
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/profile.json",
55
+ "@type": "Profile"
56
+ },
57
+ "username": {
58
+ "$": "sascha"
59
+ },
60
+ "@xlink:href": "http://www.tagcrumbs.com/sascha.json",
61
+ "places": {
62
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/places.json",
63
+ "@type": "array"
64
+ },
65
+ "picture": {
66
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/profile/picture.json",
67
+ "@type": "Picture"
68
+ },
69
+ "comments": {
70
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/comments.json",
71
+ "@type": "array"
72
+ },
73
+ "fanships": {
74
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/fans.json",
75
+ "@type": "array"
76
+ },
77
+ "favorites": {
78
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/favorites.json",
79
+ "@type": "array"
80
+ },
81
+ "settings": {
82
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/settings.json",
83
+ "@type": "Settings"
84
+ },
85
+ "created_at": {
86
+ "@type": "timestamp",
87
+ "$": "2008-06-12T09:34:00+02:00"
88
+ },
89
+ "placemarks": {
90
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/placemarks.json",
91
+ "@type": "array"
92
+ },
93
+ "@type": "User",
94
+ "profile_links": {
95
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/profile/links.json",
96
+ "@type": "array"
97
+ },
98
+ "links": {
99
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/links.json",
100
+ "@type": "array"
101
+ },
102
+ "suggestions": {
103
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/tagcrumbs/suggestions.json",
104
+ "@type": "Suggestions"
105
+ },
106
+ "location": {
107
+ "@xlink:href": "http://www.tagcrumbs.com/location.json",
108
+ "@type": "Location"
109
+ },
110
+ "flags": {
111
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/flags.json",
112
+ "@type": "array"
113
+ },
114
+ "filters": {
115
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/filters.json",
116
+ "@type": "array"
117
+ },
118
+ "tagcrumbs_friends": {
119
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/friends/tagcrumbs.json",
120
+ "@type": "array"
121
+ },
122
+ "received_recommendations": {
123
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/recommendations/received.json",
124
+ "@type": "array"
125
+ },
126
+ "recommendations": {
127
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/recommendations.json",
128
+ "@type": "array"
129
+ },
130
+ "friendships": {
131
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/friends.json",
132
+ "@type": "array"
133
+ }
134
+ },
135
+ "name": {
136
+ "$": "PLACEMARK NAME"
137
+ },
138
+ "@type": "Placemark",
139
+ "links": {
140
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/placemarks/placemark-name/links.json",
141
+ "@type": "array"
142
+ },
143
+ "private": {
144
+ "@type": "boolean",
145
+ "$": false
146
+ },
147
+ "address": {
148
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/placemarks/placemark-name/address.json",
149
+ "@type": "Address"
150
+ },
151
+ "short_url": {
152
+ "$": "http://www.tagcrumbs.com/p/ZGM2ZTk"
153
+ },
154
+ "recommendations": {
155
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/placemarks/placemark-name/recommendations.json",
156
+ "@type": "array"
157
+ },
158
+ "updated_at": {
159
+ "@type": "timestamp",
160
+ "$": "2009-02-20T07:53:06+01:00"
161
+ },
162
+ "tag_list": {
163
+ "$": "test, gpsbabel"
164
+ },
165
+ "latitude": {
166
+ "@type": "float",
167
+ "$": 48.7189419455889
168
+ }
169
+ },
170
+ "recommended_user": {
171
+ "tagcrumbs_fans": {
172
+ "@xlink:href": "http://www.tagcrumbs.com/peter/fans/tagcrumbs.json",
173
+ "@type": "array"
174
+ },
175
+ "tags": {
176
+ "@xlink:href": "http://www.tagcrumbs.com/peter/tags.json",
177
+ "@type": "array"
178
+ },
179
+ "activities": {
180
+ "@xlink:href": "http://www.tagcrumbs.com/peter/activities.json",
181
+ "@type": "array"
182
+ },
183
+ "tagcrumbs": {
184
+ "@xlink:href": "http://www.tagcrumbs.com/peter/tagcrumbs.json",
185
+ "@type": "array"
186
+ },
187
+ "profile": {
188
+ "@xlink:href": "http://www.tagcrumbs.com/peter/profile.json",
189
+ "@type": "Profile"
190
+ },
191
+ "username": {
192
+ "$": "peter"
193
+ },
194
+ "@xlink:href": "http://www.tagcrumbs.com/peter.json",
195
+ "places": {
196
+ "@xlink:href": "http://www.tagcrumbs.com/peter/places.json",
197
+ "@type": "array"
198
+ },
199
+ "picture": {
200
+ "@xlink:href": "http://www.tagcrumbs.com/peter/profile/picture.json",
201
+ "@type": "Picture"
202
+ },
203
+ "fanships": {
204
+ "@xlink:href": "http://www.tagcrumbs.com/peter/fans.json",
205
+ "@type": "array"
206
+ },
207
+ "favorites": {
208
+ "@xlink:href": "http://www.tagcrumbs.com/peter/favorites.json",
209
+ "@type": "array"
210
+ },
211
+ "created_at": {
212
+ "@type": "timestamp",
213
+ "$": "2008-06-13T11:45:22+02:00"
214
+ },
215
+ "placemarks": {
216
+ "@xlink:href": "http://www.tagcrumbs.com/peter/placemarks.json",
217
+ "@type": "array"
218
+ },
219
+ "@type": "User",
220
+ "profile_links": {
221
+ "@xlink:href": "http://www.tagcrumbs.com/peter/profile/links.json",
222
+ "@type": "array"
223
+ },
224
+ "tagcrumbs_friends": {
225
+ "@xlink:href": "http://www.tagcrumbs.com/peter/friends/tagcrumbs.json",
226
+ "@type": "array"
227
+ },
228
+ "friendships": {
229
+ "@xlink:href": "http://www.tagcrumbs.com/peter/friends.json",
230
+ "@type": "array"
231
+ }
232
+ },
233
+ "created_at": {
234
+ "@type": "timestamp",
235
+ "$": "2009-02-01T14:41:12+01:00"
236
+ },
237
+ "user": {
238
+ "tagcrumbs_fans": {
239
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/fans/tagcrumbs.json",
240
+ "@type": "array"
241
+ },
242
+ "tags": {
243
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/tags.json",
244
+ "@type": "array"
245
+ },
246
+ "activities": {
247
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/activities.json",
248
+ "@type": "array"
249
+ },
250
+ "tagcrumbs": {
251
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/tagcrumbs.json",
252
+ "@type": "array"
253
+ },
254
+ "subscriptions": {
255
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/subscriptions.json",
256
+ "@type": "array"
257
+ },
258
+ "profile": {
259
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/profile.json",
260
+ "@type": "Profile"
261
+ },
262
+ "username": {
263
+ "$": "sascha"
264
+ },
265
+ "@xlink:href": "http://www.tagcrumbs.com/sascha.json",
266
+ "places": {
267
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/places.json",
268
+ "@type": "array"
269
+ },
270
+ "picture": {
271
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/profile/picture.json",
272
+ "@type": "Picture"
273
+ },
274
+ "comments": {
275
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/comments.json",
276
+ "@type": "array"
277
+ },
278
+ "fanships": {
279
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/fans.json",
280
+ "@type": "array"
281
+ },
282
+ "favorites": {
283
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/favorites.json",
284
+ "@type": "array"
285
+ },
286
+ "settings": {
287
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/settings.json",
288
+ "@type": "Settings"
289
+ },
290
+ "created_at": {
291
+ "@type": "timestamp",
292
+ "$": "2008-06-12T09:34:00+02:00"
293
+ },
294
+ "placemarks": {
295
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/placemarks.json",
296
+ "@type": "array"
297
+ },
298
+ "@type": "User",
299
+ "profile_links": {
300
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/profile/links.json",
301
+ "@type": "array"
302
+ },
303
+ "links": {
304
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/links.json",
305
+ "@type": "array"
306
+ },
307
+ "suggestions": {
308
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/tagcrumbs/suggestions.json",
309
+ "@type": "Suggestions"
310
+ },
311
+ "location": {
312
+ "@xlink:href": "http://www.tagcrumbs.com/location.json",
313
+ "@type": "Location"
314
+ },
315
+ "flags": {
316
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/flags.json",
317
+ "@type": "array"
318
+ },
319
+ "filters": {
320
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/filters.json",
321
+ "@type": "array"
322
+ },
323
+ "tagcrumbs_friends": {
324
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/friends/tagcrumbs.json",
325
+ "@type": "array"
326
+ },
327
+ "received_recommendations": {
328
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/recommendations/received.json",
329
+ "@type": "array"
330
+ },
331
+ "recommendations": {
332
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/recommendations.json",
333
+ "@type": "array"
334
+ },
335
+ "friendships": {
336
+ "@xlink:href": "http://www.tagcrumbs.com/sascha/friends.json",
337
+ "@type": "array"
338
+ }
339
+ },
340
+ "@type": "UserRecommendation",
341
+ "message": {
342
+ "$": "MESSAGE"
343
+ },
344
+ "updated_at": {
345
+ "@type": "timestamp",
346
+ "$": "2009-03-01T18:02:51+01:00"
347
+ }
348
+ }
349
+ }