tagcrumbs 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +5 -0
- data/Manifest.txt +79 -56
- data/README.rdoc +9 -1
- data/Rakefile +2 -1
- data/TODO.txt +0 -7
- data/config/website.yml +2 -0
- data/examples/filter_new.rb +7 -3
- data/examples/placemark_new_suggestions.rb +4 -2
- data/examples/request_authorization.rb +1 -1
- data/examples/tagcrumbs_find.rb +3 -3
- data/examples/user.rb +1 -1
- data/lib/console.rb +14 -0
- data/lib/tagcrumbs.rb +41 -14
- data/lib/tagcrumbs/cli.rb +1 -1
- data/lib/tagcrumbs/config_store.rb +3 -3
- data/lib/tagcrumbs/core_extensions.rb +19 -0
- data/lib/tagcrumbs/parsers/json_parser.rb +7 -3
- data/lib/tagcrumbs/proxy.rb +6 -3
- data/lib/tagcrumbs/requestor.rb +22 -5
- data/lib/tagcrumbs/resources/{array.rb → collection.rb} +8 -7
- data/lib/tagcrumbs/resources/models/access_token.rb +8 -0
- data/lib/tagcrumbs/resources/models/accessors.rb +17 -3
- data/lib/tagcrumbs/resources/models/activity.rb +1 -0
- data/lib/tagcrumbs/resources/models/application.rb +9 -0
- data/lib/tagcrumbs/resources/models/comment.rb +2 -0
- data/lib/tagcrumbs/resources/models/email_recommendation.rb +17 -0
- data/lib/tagcrumbs/resources/models/favorite.rb +2 -1
- data/lib/tagcrumbs/resources/models/filter.rb +2 -2
- data/lib/tagcrumbs/resources/models/flag.rb +3 -0
- data/lib/tagcrumbs/resources/models/model.rb +8 -7
- data/lib/tagcrumbs/resources/models/paragraph.rb +8 -0
- data/lib/tagcrumbs/resources/models/picture.rb +4 -4
- data/lib/tagcrumbs/resources/models/place.rb +3 -3
- data/lib/tagcrumbs/resources/models/placemark.rb +3 -2
- data/lib/tagcrumbs/resources/models/profile.rb +0 -1
- data/lib/tagcrumbs/resources/models/profile_link.rb +1 -1
- data/lib/tagcrumbs/resources/models/root.rb +3 -3
- data/lib/tagcrumbs/resources/models/settings.rb +2 -1
- data/lib/tagcrumbs/resources/models/tagcrumb.rb +4 -12
- data/lib/tagcrumbs/resources/models/user.rb +27 -6
- data/lib/tagcrumbs/resources/models/user_recommendation.rb +1 -1
- data/lib/tagcrumbs/resources/resource.rb +4 -4
- data/script/console +8 -3
- data/spec/fixtures_external/README.rdoc +15 -0
- data/spec/fixtures_external/json/access_token.json +11 -0
- data/spec/{fixtures → fixtures_external/json}/activity.json +32 -25
- data/spec/{fixtures → fixtures_external/json}/address.json +22 -25
- data/spec/fixtures_external/json/application.json +13 -0
- data/spec/{fixtures → fixtures_external/json}/city.json +2 -11
- data/spec/{fixtures → fixtures_external/json}/comment.json +51 -44
- data/spec/{fixtures → fixtures_external/json}/country.json +1 -4
- data/spec/fixtures_external/json/email_recommendation.json +286 -0
- data/spec/{fixtures → fixtures_external/json}/fanship.json +30 -30
- data/spec/{fixtures → fixtures_external/json}/favorite.json +45 -47
- data/spec/{fixtures → fixtures_external/json}/filter.json +30 -42
- data/spec/{fixtures → fixtures_external/json}/friendship.json +30 -30
- data/spec/fixtures_external/json/geoname.json +18 -0
- data/spec/{fixtures → fixtures_external/json}/link.json +41 -44
- data/spec/{fixtures → fixtures_external/json}/location.json +21 -31
- data/spec/fixtures_external/json/paragraph.json +12 -0
- data/spec/fixtures_external/json/picture.json +129 -0
- data/spec/fixtures_external/json/picture_upload.json +9 -0
- data/spec/{fixtures → fixtures_external/json}/placemark.json +136 -142
- data/spec/fixtures_external/json/placemarks.json +851 -0
- data/spec/{fixtures → fixtures_external/json}/profile.json +65 -94
- data/spec/fixtures_external/json/profile_link.json +123 -0
- data/spec/{fixtures → fixtures_external/json}/root.json +17 -21
- data/spec/{fixtures → fixtures_external/json}/settings.json +26 -19
- data/spec/{fixtures → fixtures_external/json}/state.json +2 -8
- data/spec/{fixtures → fixtures_external/json}/subscription.json +41 -44
- data/spec/fixtures_external/json/suggestions.json +302 -0
- data/spec/{fixtures → fixtures_external/json}/tag.json +0 -0
- data/spec/{fixtures → fixtures_external/json}/user.json +44 -20
- data/spec/{fixtures → fixtures_external/json}/user_recommendation.json +52 -55
- data/spec/fixtures_external/json/validation_errors.json +6 -0
- data/spec/fixtures_external/kml/network_link.kml +24 -0
- data/spec/fixtures_external/kml/tagcrumbs.kml +64 -0
- data/spec/fixtures_external/rdf/placemark.rdf +56 -0
- data/spec/fixtures_external/rss/tagcrumbs.rss +24 -0
- data/spec/fixtures_external/xml/access_token.xml +5 -0
- data/spec/fixtures_external/xml/activity.xml +62 -0
- data/spec/fixtures_external/xml/address.xml +51 -0
- data/spec/fixtures_external/xml/application.xml +5 -0
- data/spec/fixtures_external/xml/city.xml +27 -0
- data/spec/fixtures_external/xml/comment.xml +81 -0
- data/spec/fixtures_external/xml/country.xml +10 -0
- data/spec/fixtures_external/xml/email_recommendation.xml +78 -0
- data/spec/fixtures_external/xml/fanship.xml +49 -0
- data/spec/fixtures_external/xml/favorite.xml +97 -0
- data/spec/fixtures_external/xml/filter.xml +68 -0
- data/spec/fixtures_external/xml/friendship.xml +49 -0
- data/spec/fixtures_external/xml/geoname.xml +6 -0
- data/spec/fixtures_external/xml/link.xml +78 -0
- data/spec/fixtures_external/xml/location.xml +58 -0
- data/spec/fixtures_external/xml/paragraph.xml +8 -0
- data/spec/fixtures_external/xml/picture.xml +36 -0
- data/spec/fixtures_external/xml/picture_upload.xml +153 -0
- data/spec/fixtures_external/xml/placemark.xml +54 -0
- data/spec/fixtures_external/xml/placemarks.xml +336 -0
- data/spec/fixtures_external/xml/profile.xml +77 -0
- data/spec/fixtures_external/xml/profile_link.xml +34 -0
- data/spec/fixtures_external/xml/root.xml +12 -0
- data/spec/fixtures_external/xml/settings.xml +42 -0
- data/spec/fixtures_external/xml/state.xml +19 -0
- data/spec/fixtures_external/xml/subscription.xml +76 -0
- data/spec/fixtures_external/xml/suggestions.xml +106 -0
- data/spec/{fixtures → fixtures_external/xml}/tag.xml +2 -2
- data/spec/fixtures_external/xml/user.xml +37 -0
- data/spec/fixtures_external/xml/user_recommendation.xml +94 -0
- data/spec/fixtures_external/xml/validation_errors.xml +5 -0
- data/spec/spec_helper.rb +12 -2
- data/spec/tagcrumbs/requestor_spec.rb +2 -2
- data/spec/tagcrumbs/resources/array_spec.rb +38 -38
- data/spec/tagcrumbs/resources/models/access_token_spec.rb +16 -0
- data/spec/tagcrumbs/resources/models/accessors_spec.rb +2 -2
- data/spec/tagcrumbs/resources/models/activity_spec.rb +5 -1
- data/spec/tagcrumbs/resources/models/address_spec.rb +1 -1
- data/spec/tagcrumbs/resources/models/application_spec.rb +17 -0
- data/spec/tagcrumbs/resources/models/city_spec.rb +2 -5
- data/spec/tagcrumbs/resources/models/comment_spec.rb +8 -2
- data/spec/tagcrumbs/resources/models/country_spec.rb +2 -4
- data/spec/tagcrumbs/resources/models/email_recommendation_spec.rb +31 -0
- data/spec/tagcrumbs/resources/models/fanship_spec.rb +1 -1
- data/spec/tagcrumbs/resources/models/favorite_spec.rb +5 -1
- data/spec/tagcrumbs/resources/models/filter_spec.rb +3 -4
- data/spec/tagcrumbs/resources/models/friendship_spec.rb +1 -1
- data/spec/tagcrumbs/resources/models/geoname_spec.rb +1 -1
- data/spec/tagcrumbs/resources/models/link_spec.rb +1 -1
- data/spec/tagcrumbs/resources/models/location_spec.rb +1 -1
- data/spec/tagcrumbs/resources/models/model_spec.rb +20 -3
- data/spec/tagcrumbs/resources/models/paragraph_spec.rb +21 -0
- data/spec/tagcrumbs/resources/models/picture_spec.rb +13 -21
- data/spec/tagcrumbs/resources/models/place_spec.rb +3 -3
- data/spec/tagcrumbs/resources/models/placemark_spec.rb +11 -9
- data/spec/tagcrumbs/resources/models/profile_link_spec.rb +6 -12
- data/spec/tagcrumbs/resources/models/profile_spec.rb +5 -12
- data/spec/tagcrumbs/resources/models/root_spec.rb +15 -19
- data/spec/tagcrumbs/resources/models/settings_spec.rb +3 -1
- data/spec/tagcrumbs/resources/models/state_spec.rb +2 -5
- data/spec/tagcrumbs/resources/models/subscription_spec.rb +1 -1
- data/spec/tagcrumbs/resources/models/suggestions_spec.rb +7 -7
- data/spec/tagcrumbs/resources/models/tag_spec.rb +1 -1
- data/spec/tagcrumbs/resources/models/tagcrumb_spec.rb +3 -11
- data/spec/tagcrumbs/resources/models/user_recommendation_spec.rb +1 -1
- data/spec/tagcrumbs/resources/models/user_spec.rb +35 -27
- data/spec/tagcrumbs/resources/resource_spec.rb +3 -3
- data/spec/tagcrumbs_spec.rb +7 -7
- data/tagcrumbs.gemspec +2 -2
- metadata +82 -58
- data/examples/tagcrumbs_search.rb +0 -7
- data/lib/tagcrumbs/validations.rb +0 -301
- data/spec/fixtures/activity.xml +0 -66
- data/spec/fixtures/address.xml +0 -58
- data/spec/fixtures/city.xml +0 -34
- data/spec/fixtures/comment.xml +0 -87
- data/spec/fixtures/country.xml +0 -13
- data/spec/fixtures/fanship.xml +0 -54
- data/spec/fixtures/favorite.xml +0 -109
- data/spec/fixtures/filter.xml +0 -80
- data/spec/fixtures/friendship.xml +0 -54
- data/spec/fixtures/geoname.json +0 -18
- data/spec/fixtures/geoname.xml +0 -6
- data/spec/fixtures/link.xml +0 -88
- data/spec/fixtures/location.xml +0 -71
- data/spec/fixtures/picture.json +0 -154
- data/spec/fixtures/picture.xml +0 -49
- data/spec/fixtures/placemark.xml +0 -58
- data/spec/fixtures/placemarks.json +0 -887
- data/spec/fixtures/placemarks.xml +0 -348
- data/spec/fixtures/profile.xml +0 -100
- data/spec/fixtures/profile_link.json +0 -156
- data/spec/fixtures/profile_link.xml +0 -49
- data/spec/fixtures/root.xml +0 -14
- data/spec/fixtures/settings.xml +0 -45
- data/spec/fixtures/state.xml +0 -23
- data/spec/fixtures/subscription.xml +0 -86
- data/spec/fixtures/suggestions.json +0 -1877
- data/spec/fixtures/suggestions.xml +0 -724
- data/spec/fixtures/user.xml +0 -31
- data/spec/fixtures/user_recommendation.xml +0 -106
- data/spec/fixtures/validation_errors.json +0 -5
- data/spec/fixtures/validation_errors.xml +0 -5
- data/spec/tagcrumbs/validations_spec.rb +0 -27
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
@@ -6,6 +6,7 @@ README.rdoc
|
|
6
6
|
Rakefile
|
7
7
|
TODO.txt
|
8
8
|
bin/tagcrumbs
|
9
|
+
config/website.yml
|
9
10
|
examples/address_update.rb
|
10
11
|
examples/comment_new.rb
|
11
12
|
examples/favorite_new.rb
|
@@ -22,15 +23,16 @@ examples/request_authorization.rb
|
|
22
23
|
examples/settings_update.rb
|
23
24
|
examples/subscription_new.rb
|
24
25
|
examples/tagcrumbs_find.rb
|
25
|
-
examples/tagcrumbs_search.rb
|
26
26
|
examples/user.rb
|
27
27
|
examples/user_recommendation_new.rb
|
28
|
+
lib/console.rb
|
28
29
|
lib/tagcrumbs.rb
|
29
30
|
lib/tagcrumbs/builders/builder.rb
|
30
31
|
lib/tagcrumbs/builders/json_builder.rb
|
31
32
|
lib/tagcrumbs/builders/xml_builder.rb
|
32
33
|
lib/tagcrumbs/cli.rb
|
33
34
|
lib/tagcrumbs/config_store.rb
|
35
|
+
lib/tagcrumbs/core_extensions.rb
|
34
36
|
lib/tagcrumbs/exceptions.rb
|
35
37
|
lib/tagcrumbs/node.rb
|
36
38
|
lib/tagcrumbs/parsers/json_parser.rb
|
@@ -38,13 +40,16 @@ lib/tagcrumbs/parsers/parser.rb
|
|
38
40
|
lib/tagcrumbs/parsers/xml_parser.rb
|
39
41
|
lib/tagcrumbs/proxy.rb
|
40
42
|
lib/tagcrumbs/requestor.rb
|
41
|
-
lib/tagcrumbs/resources/
|
43
|
+
lib/tagcrumbs/resources/collection.rb
|
44
|
+
lib/tagcrumbs/resources/models/access_token.rb
|
42
45
|
lib/tagcrumbs/resources/models/accessors.rb
|
43
46
|
lib/tagcrumbs/resources/models/activity.rb
|
44
47
|
lib/tagcrumbs/resources/models/address.rb
|
48
|
+
lib/tagcrumbs/resources/models/application.rb
|
45
49
|
lib/tagcrumbs/resources/models/city.rb
|
46
50
|
lib/tagcrumbs/resources/models/comment.rb
|
47
51
|
lib/tagcrumbs/resources/models/country.rb
|
52
|
+
lib/tagcrumbs/resources/models/email_recommendation.rb
|
48
53
|
lib/tagcrumbs/resources/models/fanship.rb
|
49
54
|
lib/tagcrumbs/resources/models/favorite.rb
|
50
55
|
lib/tagcrumbs/resources/models/filter.rb
|
@@ -54,6 +59,7 @@ lib/tagcrumbs/resources/models/geoname.rb
|
|
54
59
|
lib/tagcrumbs/resources/models/link.rb
|
55
60
|
lib/tagcrumbs/resources/models/location.rb
|
56
61
|
lib/tagcrumbs/resources/models/model.rb
|
62
|
+
lib/tagcrumbs/resources/models/paragraph.rb
|
57
63
|
lib/tagcrumbs/resources/models/picture.rb
|
58
64
|
lib/tagcrumbs/resources/models/place.rb
|
59
65
|
lib/tagcrumbs/resources/models/placemark.rb
|
@@ -69,65 +75,79 @@ lib/tagcrumbs/resources/models/tagcrumb.rb
|
|
69
75
|
lib/tagcrumbs/resources/models/user.rb
|
70
76
|
lib/tagcrumbs/resources/models/user_recommendation.rb
|
71
77
|
lib/tagcrumbs/resources/resource.rb
|
72
|
-
lib/tagcrumbs/validations.rb
|
73
78
|
script/console
|
74
79
|
script/destroy
|
75
80
|
script/generate
|
76
|
-
spec/fixtures/activity.json
|
77
|
-
spec/fixtures/activity.xml
|
78
|
-
spec/fixtures/address.json
|
79
|
-
spec/fixtures/address.xml
|
80
|
-
spec/fixtures/city.json
|
81
|
-
spec/fixtures/city.xml
|
82
|
-
spec/fixtures/comment.json
|
83
|
-
spec/fixtures/comment.xml
|
84
|
-
spec/fixtures/country.json
|
85
|
-
spec/fixtures/country.xml
|
86
|
-
spec/fixtures/fanship.json
|
87
|
-
spec/fixtures/fanship.xml
|
88
|
-
spec/fixtures/favorite.json
|
89
|
-
spec/fixtures/favorite.xml
|
90
|
-
spec/fixtures/filter.json
|
91
|
-
spec/fixtures/filter.xml
|
92
|
-
spec/fixtures/friendship.json
|
93
|
-
spec/fixtures/friendship.xml
|
94
|
-
spec/fixtures/geoname.json
|
95
|
-
spec/fixtures/geoname.xml
|
96
81
|
spec/fixtures/json_parser.json
|
97
|
-
spec/fixtures/link.json
|
98
|
-
spec/fixtures/link.xml
|
99
|
-
spec/fixtures/location.json
|
100
|
-
spec/fixtures/location.xml
|
101
|
-
spec/fixtures/picture.json
|
102
82
|
spec/fixtures/picture.png
|
103
|
-
spec/fixtures/picture.xml
|
104
|
-
spec/fixtures/placemark.json
|
105
|
-
spec/fixtures/placemark.xml
|
106
|
-
spec/fixtures/placemarks.json
|
107
|
-
spec/fixtures/placemarks.xml
|
108
|
-
spec/fixtures/profile.json
|
109
|
-
spec/fixtures/profile.xml
|
110
|
-
spec/fixtures/profile_link.json
|
111
|
-
spec/fixtures/profile_link.xml
|
112
|
-
spec/fixtures/root.json
|
113
|
-
spec/fixtures/root.xml
|
114
|
-
spec/fixtures/settings.json
|
115
|
-
spec/fixtures/settings.xml
|
116
|
-
spec/fixtures/state.json
|
117
|
-
spec/fixtures/state.xml
|
118
|
-
spec/fixtures/subscription.json
|
119
|
-
spec/fixtures/subscription.xml
|
120
|
-
spec/fixtures/suggestions.json
|
121
|
-
spec/fixtures/suggestions.xml
|
122
|
-
spec/fixtures/tag.json
|
123
|
-
spec/fixtures/tag.xml
|
124
|
-
spec/fixtures/user.json
|
125
|
-
spec/fixtures/user.xml
|
126
|
-
spec/fixtures/user_recommendation.json
|
127
|
-
spec/fixtures/user_recommendation.xml
|
128
|
-
spec/fixtures/validation_errors.json
|
129
|
-
spec/fixtures/validation_errors.xml
|
130
83
|
spec/fixtures/xml_parser.xml
|
84
|
+
spec/fixtures_external/README.rdoc
|
85
|
+
spec/fixtures_external/json/access_token.json
|
86
|
+
spec/fixtures_external/json/activity.json
|
87
|
+
spec/fixtures_external/json/address.json
|
88
|
+
spec/fixtures_external/json/application.json
|
89
|
+
spec/fixtures_external/json/city.json
|
90
|
+
spec/fixtures_external/json/comment.json
|
91
|
+
spec/fixtures_external/json/country.json
|
92
|
+
spec/fixtures_external/json/email_recommendation.json
|
93
|
+
spec/fixtures_external/json/fanship.json
|
94
|
+
spec/fixtures_external/json/favorite.json
|
95
|
+
spec/fixtures_external/json/filter.json
|
96
|
+
spec/fixtures_external/json/friendship.json
|
97
|
+
spec/fixtures_external/json/geoname.json
|
98
|
+
spec/fixtures_external/json/link.json
|
99
|
+
spec/fixtures_external/json/location.json
|
100
|
+
spec/fixtures_external/json/paragraph.json
|
101
|
+
spec/fixtures_external/json/picture.json
|
102
|
+
spec/fixtures_external/json/picture_upload.json
|
103
|
+
spec/fixtures_external/json/placemark.json
|
104
|
+
spec/fixtures_external/json/placemarks.json
|
105
|
+
spec/fixtures_external/json/profile.json
|
106
|
+
spec/fixtures_external/json/profile_link.json
|
107
|
+
spec/fixtures_external/json/root.json
|
108
|
+
spec/fixtures_external/json/settings.json
|
109
|
+
spec/fixtures_external/json/state.json
|
110
|
+
spec/fixtures_external/json/subscription.json
|
111
|
+
spec/fixtures_external/json/suggestions.json
|
112
|
+
spec/fixtures_external/json/tag.json
|
113
|
+
spec/fixtures_external/json/user.json
|
114
|
+
spec/fixtures_external/json/user_recommendation.json
|
115
|
+
spec/fixtures_external/json/validation_errors.json
|
116
|
+
spec/fixtures_external/kml/network_link.kml
|
117
|
+
spec/fixtures_external/kml/tagcrumbs.kml
|
118
|
+
spec/fixtures_external/rdf/placemark.rdf
|
119
|
+
spec/fixtures_external/rss/tagcrumbs.rss
|
120
|
+
spec/fixtures_external/xml/access_token.xml
|
121
|
+
spec/fixtures_external/xml/activity.xml
|
122
|
+
spec/fixtures_external/xml/address.xml
|
123
|
+
spec/fixtures_external/xml/application.xml
|
124
|
+
spec/fixtures_external/xml/city.xml
|
125
|
+
spec/fixtures_external/xml/comment.xml
|
126
|
+
spec/fixtures_external/xml/country.xml
|
127
|
+
spec/fixtures_external/xml/email_recommendation.xml
|
128
|
+
spec/fixtures_external/xml/fanship.xml
|
129
|
+
spec/fixtures_external/xml/favorite.xml
|
130
|
+
spec/fixtures_external/xml/filter.xml
|
131
|
+
spec/fixtures_external/xml/friendship.xml
|
132
|
+
spec/fixtures_external/xml/geoname.xml
|
133
|
+
spec/fixtures_external/xml/link.xml
|
134
|
+
spec/fixtures_external/xml/location.xml
|
135
|
+
spec/fixtures_external/xml/paragraph.xml
|
136
|
+
spec/fixtures_external/xml/picture.xml
|
137
|
+
spec/fixtures_external/xml/picture_upload.xml
|
138
|
+
spec/fixtures_external/xml/placemark.xml
|
139
|
+
spec/fixtures_external/xml/placemarks.xml
|
140
|
+
spec/fixtures_external/xml/profile.xml
|
141
|
+
spec/fixtures_external/xml/profile_link.xml
|
142
|
+
spec/fixtures_external/xml/root.xml
|
143
|
+
spec/fixtures_external/xml/settings.xml
|
144
|
+
spec/fixtures_external/xml/state.xml
|
145
|
+
spec/fixtures_external/xml/subscription.xml
|
146
|
+
spec/fixtures_external/xml/suggestions.xml
|
147
|
+
spec/fixtures_external/xml/tag.xml
|
148
|
+
spec/fixtures_external/xml/user.xml
|
149
|
+
spec/fixtures_external/xml/user_recommendation.xml
|
150
|
+
spec/fixtures_external/xml/validation_errors.xml
|
131
151
|
spec/spec.opts
|
132
152
|
spec/spec_helper.rb
|
133
153
|
spec/tagcrumbs/builders/builder_spec.rb
|
@@ -141,12 +161,15 @@ spec/tagcrumbs/parsers/xml_parser_spec.rb
|
|
141
161
|
spec/tagcrumbs/proxy_spec.rb
|
142
162
|
spec/tagcrumbs/requestor_spec.rb
|
143
163
|
spec/tagcrumbs/resources/array_spec.rb
|
164
|
+
spec/tagcrumbs/resources/models/access_token_spec.rb
|
144
165
|
spec/tagcrumbs/resources/models/accessors_spec.rb
|
145
166
|
spec/tagcrumbs/resources/models/activity_spec.rb
|
146
167
|
spec/tagcrumbs/resources/models/address_spec.rb
|
168
|
+
spec/tagcrumbs/resources/models/application_spec.rb
|
147
169
|
spec/tagcrumbs/resources/models/city_spec.rb
|
148
170
|
spec/tagcrumbs/resources/models/comment_spec.rb
|
149
171
|
spec/tagcrumbs/resources/models/country_spec.rb
|
172
|
+
spec/tagcrumbs/resources/models/email_recommendation_spec.rb
|
150
173
|
spec/tagcrumbs/resources/models/fanship_spec.rb
|
151
174
|
spec/tagcrumbs/resources/models/favorite_spec.rb
|
152
175
|
spec/tagcrumbs/resources/models/filter_spec.rb
|
@@ -156,6 +179,7 @@ spec/tagcrumbs/resources/models/geoname_spec.rb
|
|
156
179
|
spec/tagcrumbs/resources/models/link_spec.rb
|
157
180
|
spec/tagcrumbs/resources/models/location_spec.rb
|
158
181
|
spec/tagcrumbs/resources/models/model_spec.rb
|
182
|
+
spec/tagcrumbs/resources/models/paragraph_spec.rb
|
159
183
|
spec/tagcrumbs/resources/models/picture_spec.rb
|
160
184
|
spec/tagcrumbs/resources/models/place_spec.rb
|
161
185
|
spec/tagcrumbs/resources/models/placemark_spec.rb
|
@@ -171,7 +195,6 @@ spec/tagcrumbs/resources/models/tagcrumb_spec.rb
|
|
171
195
|
spec/tagcrumbs/resources/models/user_recommendation_spec.rb
|
172
196
|
spec/tagcrumbs/resources/models/user_spec.rb
|
173
197
|
spec/tagcrumbs/resources/resource_spec.rb
|
174
|
-
spec/tagcrumbs/validations_spec.rb
|
175
198
|
spec/tagcrumbs_spec.rb
|
176
199
|
tagcrumbs.gemspec
|
177
200
|
tasks/rspec.rake
|
data/README.rdoc
CHANGED
@@ -7,7 +7,7 @@ This is a RubyGem that provides an ActiveRecord-like interface to the www.tagcru
|
|
7
7
|
== WEBSITES:
|
8
8
|
|
9
9
|
* http://www.tagcrumbs.com/
|
10
|
-
* http://
|
10
|
+
* http://wiki.tagcrumbs.com/developers
|
11
11
|
* http://github.com/tagcrumbs/tagcrumbs_gem
|
12
12
|
* http://tagcrumbs.rubyforge.org/
|
13
13
|
|
@@ -22,6 +22,7 @@ This is a RubyGem that provides an ActiveRecord-like interface to the www.tagcru
|
|
22
22
|
* Validation error messages are read from the server and loaded into the objects
|
23
23
|
* Find Tagcrumbs by many filter criteria
|
24
24
|
* Load name, tag and city suggestions to help a user create a new placemark
|
25
|
+
* Create new User Accounts on tagcrumbs.com
|
25
26
|
|
26
27
|
== SYNOPSIS:
|
27
28
|
|
@@ -41,5 +42,12 @@ This is a RubyGem that provides an ActiveRecord-like interface to the www.tagcru
|
|
41
42
|
|
42
43
|
* sudo gem install tagcrumbs
|
43
44
|
|
45
|
+
== SPECS:
|
46
|
+
|
47
|
+
Some fixtures are in a git submodule, this makes them reusable for different libraries. If you want to run the tests execute the following first:
|
48
|
+
|
49
|
+
git submodule init
|
50
|
+
git submodule update
|
51
|
+
|
44
52
|
== LICENSE:
|
45
53
|
* see License.txt for more information
|
data/Rakefile
CHANGED
@@ -24,7 +24,8 @@ $hoe = Hoe.new('tagcrumbs', Tagcrumbs::VERSION) do |p|
|
|
24
24
|
|
25
25
|
p.clean_globs |= %w[**/.DS_Store tmp *.log]
|
26
26
|
path = (p.rubyforge_name == p.name) ? p.rubyforge_name : "\#{p.rubyforge_name}/\#{p.name}"
|
27
|
-
p.remote_rdoc_dir = File.join(path.gsub(/^#{p.rubyforge_name}\/?/,''), 'rdoc')
|
27
|
+
# p.remote_rdoc_dir = File.join(path.gsub(/^#{p.rubyforge_name}\/?/,''), 'rdoc')
|
28
|
+
# p.remote_rdoc_dir = ''
|
28
29
|
p.rsync_args = '-av --delete --ignore-errors'
|
29
30
|
end
|
30
31
|
|
data/TODO.txt
CHANGED
@@ -1,17 +1,10 @@
|
|
1
|
-
- push to rubyforge
|
2
|
-
|
3
|
-
- have more examples in rdoc
|
4
1
|
- test on windows
|
5
2
|
- filter activities by location
|
6
|
-
- direct access to total_entries in proxy if present in document
|
7
3
|
|
8
4
|
== next steps
|
9
|
-
- implement http-basic to oauth proxy
|
10
5
|
- migrate to ruby 1.9
|
11
6
|
|
12
7
|
== future version
|
13
8
|
- add distances with georuby?
|
14
|
-
- email recommendations?
|
15
|
-
- client_application?
|
16
9
|
|
17
10
|
|
data/config/website.yml
ADDED
data/examples/filter_new.rb
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
require File.dirname(__FILE__) + '/request_authorization'
|
4
4
|
|
5
|
-
filter = Tagcrumbs::Filter.new(:name => 'Friends Favs in
|
6
|
-
:
|
5
|
+
filter = Tagcrumbs::Filter.new(:name => 'Friends Favs in Stuttgart', :from => 'friends', :tagcrumb_type => 'Favorite',
|
6
|
+
:city => Tagcrumbs::City.search('stuttgart').first)
|
7
7
|
|
8
8
|
if filter.save
|
9
9
|
puts "Saved Filter successfully at #{filter.created_at}. URL: #{filter.resource_url}"
|
@@ -12,4 +12,8 @@ else
|
|
12
12
|
puts filter.errors.full_messages.join("\n")
|
13
13
|
end
|
14
14
|
|
15
|
-
|
15
|
+
if filter.tagcrumbs.present?
|
16
|
+
puts "First Favorite: #{filter.tagcrumbs.first.placemark.name}"
|
17
|
+
end
|
18
|
+
|
19
|
+
filter.destroy
|
@@ -10,11 +10,13 @@ placemark.latitude = 49
|
|
10
10
|
placemark.longitude = 9
|
11
11
|
|
12
12
|
suggestions = placemark.suggestions # load suggestions from the webservice
|
13
|
-
|
13
|
+
#require 'ruby-debug'
|
14
|
+
#debugger
|
14
15
|
# Of course you would let the user pick from the suggestions
|
15
16
|
placemark.name = suggestions.names.first || 'no suggestions found'
|
17
|
+
placemark.private = false
|
16
18
|
placemark.city = suggestions.cities.first
|
17
|
-
placemark.tag_list = suggestions.popular_tags.first.name
|
19
|
+
placemark.tag_list = suggestions.popular_tags.first && suggestions.popular_tags.first.name
|
18
20
|
|
19
21
|
if placemark.save
|
20
22
|
puts "Saved Placemark successfully at #{placemark.created_at}. URL: #{placemark.resource_url}"
|
@@ -13,7 +13,7 @@ unless Tagcrumbs.valid_credentials?
|
|
13
13
|
print "Press Enter to continue..."
|
14
14
|
gets
|
15
15
|
|
16
|
-
if Tagcrumbs.
|
16
|
+
if Tagcrumbs.access_token_from_request_token
|
17
17
|
puts "Authorization succeeded."
|
18
18
|
|
19
19
|
config_store.update(Tagcrumbs.options.slice(:access_token, :access_secret))
|
data/examples/tagcrumbs_find.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby -rubygems
|
2
2
|
|
3
|
-
require File.dirname(__FILE__) + '
|
3
|
+
require File.dirname(__FILE__) + '/request_authorization' # this would not be needed if we only search for public Tagcrumbs
|
4
4
|
|
5
5
|
# Find the latest Tagcrumbs in Stuttgart, Germany
|
6
6
|
stuttgart = Tagcrumbs::City.search('stuttgart').first
|
@@ -13,11 +13,11 @@ from_cornelius = Tagcrumbs::Tagcrumb.find(:username => 'cornelius', :from => :us
|
|
13
13
|
puts "Total Favorites of Cornelius in the last two weeks: #{from_cornelius.total_entries}"
|
14
14
|
|
15
15
|
# Find all Placemarks near the current location
|
16
|
-
nearby = Tagcrumbs::Tagcrumb.find(:from => :everybody, :
|
16
|
+
nearby = Tagcrumbs::Tagcrumb.find(:from => :everybody, :range => :medium)
|
17
17
|
puts "A total of #{nearby.total_entries} Tagcrumbs near your current location"
|
18
18
|
|
19
19
|
# Find all Placemarks near any other location
|
20
|
-
nearby_other = Tagcrumbs::Tagcrumb.find(:from => :everybody, :
|
20
|
+
nearby_other = Tagcrumbs::Tagcrumb.find(:from => :everybody, :range => :long, :latitude => 49, :longitude => 9, :sort => :distance, :order => :asc, :per_page => 50)
|
21
21
|
puts "A total of #{nearby_other.total_entries} Tagcrumbs nearby (49, 9)"
|
22
22
|
|
23
23
|
# Find Placemarks with certain tags
|
data/examples/user.rb
CHANGED
data/lib/console.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# Custom initializer script so that different Tagcrumbs configurations can easily be loaded when using script/console
|
2
|
+
require 'ruby-debug'
|
3
|
+
|
4
|
+
config_file = ENV['HOME'] + '/.tagcrumbs'
|
5
|
+
|
6
|
+
# optionally load another config file
|
7
|
+
if ENV['TC_ENV']
|
8
|
+
config_file += '_' + ENV['TC_ENV']
|
9
|
+
end
|
10
|
+
|
11
|
+
puts "* Loading Tagcrumbs configuration from #{config_file} and merging with defaults"
|
12
|
+
@config = Tagcrumbs::ConfigStore.load(config_file)
|
13
|
+
|
14
|
+
Tagcrumbs.configure(@config.options)
|
data/lib/tagcrumbs.rb
CHANGED
@@ -2,7 +2,6 @@ $:.unshift(File.dirname(__FILE__)) unless
|
|
2
2
|
$:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
|
3
3
|
|
4
4
|
require 'rubygems'
|
5
|
-
#require 'ruby-debug'
|
6
5
|
|
7
6
|
gem 'activesupport', '2.3.2'
|
8
7
|
require 'active_support'
|
@@ -25,6 +24,9 @@ require 'mime/types'
|
|
25
24
|
gem 'builder', '2.1.2'
|
26
25
|
require 'builder'
|
27
26
|
|
27
|
+
require 'zlib'
|
28
|
+
|
29
|
+
|
28
30
|
# Inflections must be available before classes are loaded, needed to automatically find the correct classes
|
29
31
|
ActiveSupport::Inflector.inflections do |inflect|
|
30
32
|
inflect.irregular 'address', 'address'
|
@@ -32,7 +34,7 @@ ActiveSupport::Inflector.inflections do |inflect|
|
|
32
34
|
inflect.uncountable "suggestions"
|
33
35
|
end
|
34
36
|
|
35
|
-
require 'tagcrumbs/
|
37
|
+
require 'tagcrumbs/core_extensions'
|
36
38
|
require 'tagcrumbs/config_store'
|
37
39
|
require 'tagcrumbs/exceptions'
|
38
40
|
|
@@ -53,7 +55,7 @@ require 'tagcrumbs/proxy'
|
|
53
55
|
|
54
56
|
# resources
|
55
57
|
require 'tagcrumbs/resources/resource'
|
56
|
-
require 'tagcrumbs/resources/
|
58
|
+
require 'tagcrumbs/resources/collection'
|
57
59
|
|
58
60
|
# models
|
59
61
|
require 'tagcrumbs/resources/models/accessors'
|
@@ -61,11 +63,14 @@ require 'tagcrumbs/resources/models/model'
|
|
61
63
|
require 'tagcrumbs/resources/models/tagcrumb'
|
62
64
|
require 'tagcrumbs/resources/models/place'
|
63
65
|
|
66
|
+
require 'tagcrumbs/resources/models/access_token'
|
64
67
|
require 'tagcrumbs/resources/models/address'
|
65
68
|
require 'tagcrumbs/resources/models/activity'
|
69
|
+
require 'tagcrumbs/resources/models/application'
|
66
70
|
require 'tagcrumbs/resources/models/city'
|
67
71
|
require 'tagcrumbs/resources/models/comment'
|
68
72
|
require 'tagcrumbs/resources/models/country'
|
73
|
+
require 'tagcrumbs/resources/models/email_recommendation'
|
69
74
|
require 'tagcrumbs/resources/models/fanship'
|
70
75
|
require 'tagcrumbs/resources/models/favorite'
|
71
76
|
require 'tagcrumbs/resources/models/filter'
|
@@ -74,6 +79,7 @@ require 'tagcrumbs/resources/models/friendship'
|
|
74
79
|
require 'tagcrumbs/resources/models/geoname'
|
75
80
|
require 'tagcrumbs/resources/models/link'
|
76
81
|
require 'tagcrumbs/resources/models/location'
|
82
|
+
require 'tagcrumbs/resources/models/paragraph'
|
77
83
|
require 'tagcrumbs/resources/models/picture'
|
78
84
|
require 'tagcrumbs/resources/models/placemark'
|
79
85
|
require 'tagcrumbs/resources/models/profile'
|
@@ -89,7 +95,7 @@ require 'tagcrumbs/resources/models/user_recommendation'
|
|
89
95
|
|
90
96
|
|
91
97
|
module Tagcrumbs
|
92
|
-
VERSION = '0.3.
|
98
|
+
VERSION = '0.3.2'
|
93
99
|
|
94
100
|
class << self
|
95
101
|
# Returns the default configuration options of the gem. You can overwrite the options with configure
|
@@ -98,10 +104,13 @@ module Tagcrumbs
|
|
98
104
|
:consumer_token => 'ZQAR3nW5D3S5JgU8EAKEfA',
|
99
105
|
:consumer_secret => 'vMc7NA77eraJc9TwyImshEEMVgrEy4C8YURVlwoyrHE',
|
100
106
|
:format => :xml,
|
107
|
+
:compression => true,
|
101
108
|
:consumer_options =>
|
102
109
|
{
|
103
|
-
:site => 'http://www.tagcrumbs.com'
|
104
|
-
|
110
|
+
:site => 'http://www.tagcrumbs.com',
|
111
|
+
:request_token_path => 'https://www.tagcrumbs.com/oauth/request_token',
|
112
|
+
:access_token_path => 'https://www.tagcrumbs.com/oauth/access_token',
|
113
|
+
:access_token_from_credentials_path => 'https://www.tagcrumbs.com/oauth/access_token_from_credentials'
|
105
114
|
}
|
106
115
|
}
|
107
116
|
end
|
@@ -124,12 +133,13 @@ module Tagcrumbs
|
|
124
133
|
# request_token:: The OAuth request token that you received that you can exchange against an access token
|
125
134
|
# request_secret:: The OAuth request secret that you received that you can exchange against an access token
|
126
135
|
# format:: The Tagcrumbs webservice supports XML and JSON. You can specify the format of your requests here
|
136
|
+
# compression:: Use gzip compression to save bandwidth
|
127
137
|
def configure(new_options={})
|
128
138
|
new_options.symbolize_keys!
|
129
139
|
new_options.assert_valid_keys(:consumer_secret, :consumer_token, :consumer_options,
|
130
140
|
:access_token, :access_secret,
|
131
141
|
:request_token, :request_secret,
|
132
|
-
:format)
|
142
|
+
:format, :compression)
|
133
143
|
|
134
144
|
self.options.merge!(new_options)
|
135
145
|
end
|
@@ -155,18 +165,35 @@ module Tagcrumbs
|
|
155
165
|
# After you redirected the user to the authorize_url and after the user authorized your application you can exchange
|
156
166
|
# the request_token against an access_token that you can use to make all further signed requests.
|
157
167
|
# You should use configure to pass in your access_token and access_secret for all further web service calls.
|
158
|
-
def
|
159
|
-
return @@
|
160
|
-
@@
|
168
|
+
def access_token_from_request_token
|
169
|
+
return @@access_token_from_request_token if defined?(@@access_token_from_request_token)
|
170
|
+
@@access_token_from_request_token = request_token.get_access_token
|
161
171
|
|
162
|
-
options[:access_token] = @@
|
163
|
-
options[:access_secret] = @@
|
172
|
+
options[:access_token] = @@access_token_from_request_token.token
|
173
|
+
options[:access_secret] = @@access_token_from_request_token.secret
|
164
174
|
|
165
|
-
@@
|
175
|
+
@@access_token_from_request_token
|
166
176
|
rescue OAuth::Unauthorized
|
167
177
|
nil
|
168
178
|
end
|
169
179
|
|
180
|
+
# Get an access token for all further requests by authenticating with the user's username and password.
|
181
|
+
# Access to this must be requested from Tagcrumbs. It makes dealing with certain types of applications easier (mobile).
|
182
|
+
# You should not ask for access_tokens all the time but keep the access token that you received around and not store the username and password
|
183
|
+
# of the user.
|
184
|
+
def access_token_from_credentials(username, password)
|
185
|
+
return @@access_token_from_credentials if defined?(@@access_token_from_credentials)
|
186
|
+
|
187
|
+
@@access_token_from_credentials = Requestor.new.access_token_from_credentials(username, password)
|
188
|
+
|
189
|
+
options[:access_token] = @@access_token_from_credentials.token
|
190
|
+
options[:access_secret] = @@access_token_from_credentials.secret
|
191
|
+
|
192
|
+
@@access_token_from_credentials
|
193
|
+
rescue OAuth::Unauthorized
|
194
|
+
nil
|
195
|
+
end
|
196
|
+
|
170
197
|
# Returns the current user that approved the application and owns the current access_token
|
171
198
|
# This is also used internally to automatically request all the URLs to POST new resources to.
|
172
199
|
def current_user
|
@@ -184,7 +211,7 @@ module Tagcrumbs
|
|
184
211
|
:per_page => [1, 5, 7, 10, 25, 50, 100],
|
185
212
|
:from => [:you, :friends, :fans, :recommendations, :everybody, :user],
|
186
213
|
:tagcrumb_type => ['Placemark', 'Favorite'],
|
187
|
-
:
|
214
|
+
:range => [:short, :medium, :long],
|
188
215
|
:sort => [:date, :distance, :name, :favorites, :comments],
|
189
216
|
:order => [:asc, :desc],
|
190
217
|
:w => [:unknown, :country, :state, :city, :zip, :street, :intersection, :address, :premise, :nearby, :everywhere]
|