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,62 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ describe Tagcrumbs::Resource do
4
+ before(:each) do
5
+ @resource = Tagcrumbs::Resource.new
6
+ end
7
+
8
+ it "should reset" do
9
+ @resource.properties = {1 => 2}
10
+ @resource.resource_url = 'test.de'
11
+ @resource.loaded = true
12
+
13
+ @resource.reset!
14
+
15
+ @resource.properties.should == {}
16
+ @resource.resource_url.should be_nil
17
+ @resource.loaded.should be_false
18
+ end
19
+
20
+ it "should have loaded helper" do
21
+ @resource.should_not be_loaded
22
+ end
23
+
24
+ it "should have an requestor" do
25
+ @resource.requestor.should be_an_instance_of(Tagcrumbs::Requestor)
26
+ end
27
+
28
+ it "should set properties with indifferent access" do
29
+ @resource.properties = {:hello => 'world', 'hallo' => 'welt'}
30
+ @resource.properties['hello'].should == 'world'
31
+ @resource.properties[:hallo].should == 'welt'
32
+ end
33
+
34
+ it "should reload" do
35
+ response = mock("Response", :body => '')
36
+
37
+ requestor = mock("Requestor", :response_format => :xml)
38
+ requestor.stub!(:response).and_return(response)
39
+ requestor.should_receive(:get)
40
+
41
+ @resource.stub!(:requestor).and_return(requestor)
42
+ @resource.stub!(:initialize_from_document)
43
+ @resource.should_receive(:initialize_from_document)
44
+
45
+ @resource.reload
46
+ end
47
+
48
+ it "should load a new resource" do
49
+ stub_get('/sascha.xml', 'user.xml', [200])
50
+ resource = Tagcrumbs::Resource.load('/sascha.xml')
51
+
52
+ resource.username.should == 'sascha'
53
+ end
54
+
55
+ it "should initialize from document" do
56
+ @resource.initialize_from_document(fixture_file('user.xml'))
57
+
58
+ @resource.resource_url.should == 'http://www.tagcrumbs.com/sascha.xml'
59
+ @resource.loaded.should == true
60
+ @resource.properties.should be_present
61
+ end
62
+ end
@@ -0,0 +1,27 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ class Tagcrumbs::ValidationTestModel < Tagcrumbs::Model
4
+ writeable_attributes :one, :two
5
+
6
+ end
7
+
8
+ describe Tagcrumbs::Errors do
9
+ it "should get error from xml" do
10
+ model = Tagcrumbs::ValidationTestModel.new
11
+
12
+ model.errors.from_format(fixture_file('/validation_errors.xml'), :xml)
13
+ model.should_not be_valid
14
+
15
+ model.should have(2).errors
16
+ end
17
+
18
+ it "should get error from json" do
19
+ model = Tagcrumbs::ValidationTestModel.new
20
+
21
+ model.errors.from_format(fixture_file('/validation_errors.json'), :json)
22
+
23
+ model.should_not be_valid
24
+
25
+ model.should have(2).errors
26
+ end
27
+ end
@@ -0,0 +1,103 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe Tagcrumbs do
4
+ before(:each) do
5
+ Tagcrumbs.reset_options!
6
+ end
7
+
8
+ it "should have default options" do
9
+ Tagcrumbs.default_options.should be_an_instance_of(Hash)
10
+
11
+ Tagcrumbs.default_options[:format].should == :xml
12
+ Tagcrumbs.default_options[:consumer_options][:site].should be_present
13
+ Tagcrumbs.default_options[:consumer_token].should be_present
14
+ Tagcrumbs.default_options[:consumer_secret].should be_present
15
+ end
16
+
17
+ it "should have constants" do
18
+ Tagcrumbs.constants[:per_page].should be_an_instance_of(Array)
19
+ Tagcrumbs.constants[:from].should be_an_instance_of(Array)
20
+ Tagcrumbs.constants[:tagcrumb_type].should be_an_instance_of(Array)
21
+ Tagcrumbs.constants[:within].should be_an_instance_of(Array)
22
+ Tagcrumbs.constants[:sort].should be_an_instance_of(Array)
23
+ Tagcrumbs.constants[:order].should be_an_instance_of(Array)
24
+ Tagcrumbs.constants[:w].should be_an_instance_of(Array)
25
+ end
26
+
27
+ it "should validate a key and value valid" do
28
+ Tagcrumbs.validate(:per_page, 5).should be_true
29
+
30
+ lambda {
31
+ Tagcrumbs.validate(:per_page, 11)
32
+ }.should raise_error(ArgumentError)
33
+ end
34
+
35
+ it "should be configurable" do
36
+ Tagcrumbs.configure(:consumer_secret => 'secret', :consumer_token => 'token', :consumer_options => 'options', :format => 'format')
37
+
38
+ Tagcrumbs.options[:consumer_secret].should == 'secret'
39
+ Tagcrumbs.options[:consumer_token].should == 'token'
40
+ Tagcrumbs.options[:consumer_options].should == 'options'
41
+ Tagcrumbs.options[:format].should == 'format'
42
+
43
+ Tagcrumbs.options['format'].should == 'format'
44
+ end
45
+
46
+ it "should get a class by type" do
47
+ Tagcrumbs.class_by_type('array').should == Tagcrumbs::Array
48
+ Tagcrumbs.class_by_type('user').should == Tagcrumbs::User
49
+
50
+ # irregular names
51
+ Tagcrumbs.class_by_type('settings').should == Tagcrumbs::Settings
52
+ Tagcrumbs.class_by_type('address').should == Tagcrumbs::Address
53
+ end
54
+
55
+ it "should get the current user" do
56
+ stub_get('/you', 'user.xml', [200])
57
+
58
+ Tagcrumbs.current_user.should be_an_instance_of(Tagcrumbs::User)
59
+ Tagcrumbs.current_user.username.should == 'sascha'
60
+ end
61
+
62
+ it "should get the root" do
63
+ stub_get('/index', 'root.xml', [200])
64
+
65
+ Tagcrumbs.root.should be_an_instance_of(Tagcrumbs::Root)
66
+ Tagcrumbs.root.tagcrumbs.resource_url.should == tagcrumbs_url('/tagcrumbs.xml')
67
+ end
68
+
69
+ it "should have supported formats" do
70
+ Tagcrumbs.supported_formats.should == {
71
+ :xml => ['application/xml', 'text/xml'],
72
+ :json => ['application/json', 'text/json']
73
+ }
74
+ end
75
+
76
+ describe "should validate credentials" do
77
+ it "with valid credentials and tokens" do
78
+ stub_get('/you', 'user.xml', [200])
79
+ Tagcrumbs.configure(:access_token => 123, :access_secret => 456)
80
+
81
+ Tagcrumbs.valid_credentials?.should be_true
82
+ end
83
+
84
+ it "with no tokens" do
85
+ Tagcrumbs.valid_credentials?.should be_false
86
+ end
87
+
88
+ it "with invalid credentials" do
89
+ stub_get('/you', '', [401])
90
+
91
+ Tagcrumbs.valid_credentials?.should be_false
92
+ end
93
+
94
+ it "with tokens and no server" do
95
+ stub_get('/you', '', [503])
96
+ Tagcrumbs.configure(:access_token => 123, :access_secret => 456)
97
+
98
+ lambda {
99
+ Tagcrumbs.valid_credentials?
100
+ }.should raise_error(Net::HTTPFatalError)
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,59 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{tagcrumbs}
5
+ s.version = "0.3.1"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Sascha Konietzke"]
9
+ s.date = %q{2009-06-14}
10
+ s.default_executable = %q{tagcrumbs}
11
+ s.description = %q{This is a RubyGem that provides an ActiveRecord-like interface to the www.tagcrumbs.com web service.}
12
+ s.email = ["sascha@tagcrumbs.com"]
13
+ s.executables = ["tagcrumbs"]
14
+ s.extra_rdoc_files = ["History.txt", "License.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc", "TODO.txt"]
15
+ s.files = ["History.txt", "License.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc", "Rakefile", "TODO.txt", "bin/tagcrumbs", "examples/address_update.rb", "examples/comment_new.rb", "examples/favorite_new.rb", "examples/filter_new.rb", "examples/friendship_create.rb", "examples/link_new.rb", "examples/location_update.rb", "examples/picture_update.rb", "examples/placemark_new_simple.rb", "examples/placemark_new_suggestions.rb", "examples/profile_link_new.rb", "examples/profile_update.rb", "examples/request_authorization.rb", "examples/settings_update.rb", "examples/subscription_new.rb", "examples/tagcrumbs_find.rb", "examples/tagcrumbs_search.rb", "examples/user.rb", "examples/user_recommendation_new.rb", "lib/tagcrumbs.rb", "lib/tagcrumbs/builders/builder.rb", "lib/tagcrumbs/builders/json_builder.rb", "lib/tagcrumbs/builders/xml_builder.rb", "lib/tagcrumbs/cli.rb", "lib/tagcrumbs/config_store.rb", "lib/tagcrumbs/exceptions.rb", "lib/tagcrumbs/node.rb", "lib/tagcrumbs/parsers/json_parser.rb", "lib/tagcrumbs/parsers/parser.rb", "lib/tagcrumbs/parsers/xml_parser.rb", "lib/tagcrumbs/proxy.rb", "lib/tagcrumbs/requestor.rb", "lib/tagcrumbs/resources/array.rb", "lib/tagcrumbs/resources/models/accessors.rb", "lib/tagcrumbs/resources/models/activity.rb", "lib/tagcrumbs/resources/models/address.rb", "lib/tagcrumbs/resources/models/city.rb", "lib/tagcrumbs/resources/models/comment.rb", "lib/tagcrumbs/resources/models/country.rb", "lib/tagcrumbs/resources/models/fanship.rb", "lib/tagcrumbs/resources/models/favorite.rb", "lib/tagcrumbs/resources/models/filter.rb", "lib/tagcrumbs/resources/models/flag.rb", "lib/tagcrumbs/resources/models/friendship.rb", "lib/tagcrumbs/resources/models/geoname.rb", "lib/tagcrumbs/resources/models/link.rb", "lib/tagcrumbs/resources/models/location.rb", "lib/tagcrumbs/resources/models/model.rb", "lib/tagcrumbs/resources/models/picture.rb", "lib/tagcrumbs/resources/models/place.rb", "lib/tagcrumbs/resources/models/placemark.rb", "lib/tagcrumbs/resources/models/profile.rb", "lib/tagcrumbs/resources/models/profile_link.rb", "lib/tagcrumbs/resources/models/root.rb", "lib/tagcrumbs/resources/models/settings.rb", "lib/tagcrumbs/resources/models/state.rb", "lib/tagcrumbs/resources/models/subscription.rb", "lib/tagcrumbs/resources/models/suggestions.rb", "lib/tagcrumbs/resources/models/tag.rb", "lib/tagcrumbs/resources/models/tagcrumb.rb", "lib/tagcrumbs/resources/models/user.rb", "lib/tagcrumbs/resources/models/user_recommendation.rb", "lib/tagcrumbs/resources/resource.rb", "lib/tagcrumbs/validations.rb", "script/console", "script/destroy", "script/generate", "spec/fixtures/activity.json", "spec/fixtures/activity.xml", "spec/fixtures/address.json", "spec/fixtures/address.xml", "spec/fixtures/city.json", "spec/fixtures/city.xml", "spec/fixtures/comment.json", "spec/fixtures/comment.xml", "spec/fixtures/country.json", "spec/fixtures/country.xml", "spec/fixtures/fanship.json", "spec/fixtures/fanship.xml", "spec/fixtures/favorite.json", "spec/fixtures/favorite.xml", "spec/fixtures/filter.json", "spec/fixtures/filter.xml", "spec/fixtures/friendship.json", "spec/fixtures/friendship.xml", "spec/fixtures/geoname.json", "spec/fixtures/geoname.xml", "spec/fixtures/json_parser.json", "spec/fixtures/link.json", "spec/fixtures/link.xml", "spec/fixtures/location.json", "spec/fixtures/location.xml", "spec/fixtures/picture.json", "spec/fixtures/picture.png", "spec/fixtures/picture.xml", "spec/fixtures/placemark.json", "spec/fixtures/placemark.xml", "spec/fixtures/placemarks.json", "spec/fixtures/placemarks.xml", "spec/fixtures/profile.json", "spec/fixtures/profile.xml", "spec/fixtures/profile_link.json", "spec/fixtures/profile_link.xml", "spec/fixtures/root.json", "spec/fixtures/root.xml", "spec/fixtures/settings.json", "spec/fixtures/settings.xml", "spec/fixtures/state.json", "spec/fixtures/state.xml", "spec/fixtures/subscription.json", "spec/fixtures/subscription.xml", "spec/fixtures/suggestions.json", "spec/fixtures/suggestions.xml", "spec/fixtures/tag.json", "spec/fixtures/tag.xml", "spec/fixtures/user.json", "spec/fixtures/user.xml", "spec/fixtures/user_recommendation.json", "spec/fixtures/user_recommendation.xml", "spec/fixtures/validation_errors.json", "spec/fixtures/validation_errors.xml", "spec/fixtures/xml_parser.xml", "spec/spec.opts", "spec/spec_helper.rb", "spec/tagcrumbs/builders/builder_spec.rb", "spec/tagcrumbs/builders/json_builder_spec.rb", "spec/tagcrumbs/builders/xml_builder_spec.rb", "spec/tagcrumbs/exceptions_spec.rb", "spec/tagcrumbs/node_spec.rb", "spec/tagcrumbs/parsers/json_parser_spec.rb", "spec/tagcrumbs/parsers/parser_spec.rb", "spec/tagcrumbs/parsers/xml_parser_spec.rb", "spec/tagcrumbs/proxy_spec.rb", "spec/tagcrumbs/requestor_spec.rb", "spec/tagcrumbs/resources/array_spec.rb", "spec/tagcrumbs/resources/models/accessors_spec.rb", "spec/tagcrumbs/resources/models/activity_spec.rb", "spec/tagcrumbs/resources/models/address_spec.rb", "spec/tagcrumbs/resources/models/city_spec.rb", "spec/tagcrumbs/resources/models/comment_spec.rb", "spec/tagcrumbs/resources/models/country_spec.rb", "spec/tagcrumbs/resources/models/fanship_spec.rb", "spec/tagcrumbs/resources/models/favorite_spec.rb", "spec/tagcrumbs/resources/models/filter_spec.rb", "spec/tagcrumbs/resources/models/flag_spec.rb", "spec/tagcrumbs/resources/models/friendship_spec.rb", "spec/tagcrumbs/resources/models/geoname_spec.rb", "spec/tagcrumbs/resources/models/link_spec.rb", "spec/tagcrumbs/resources/models/location_spec.rb", "spec/tagcrumbs/resources/models/model_spec.rb", "spec/tagcrumbs/resources/models/picture_spec.rb", "spec/tagcrumbs/resources/models/place_spec.rb", "spec/tagcrumbs/resources/models/placemark_spec.rb", "spec/tagcrumbs/resources/models/profile_link_spec.rb", "spec/tagcrumbs/resources/models/profile_spec.rb", "spec/tagcrumbs/resources/models/root_spec.rb", "spec/tagcrumbs/resources/models/settings_spec.rb", "spec/tagcrumbs/resources/models/state_spec.rb", "spec/tagcrumbs/resources/models/subscription_spec.rb", "spec/tagcrumbs/resources/models/suggestions_spec.rb", "spec/tagcrumbs/resources/models/tag_spec.rb", "spec/tagcrumbs/resources/models/tagcrumb_spec.rb", "spec/tagcrumbs/resources/models/user_recommendation_spec.rb", "spec/tagcrumbs/resources/models/user_spec.rb", "spec/tagcrumbs/resources/resource_spec.rb", "spec/tagcrumbs/validations_spec.rb", "spec/tagcrumbs_spec.rb", "tagcrumbs.gemspec", "tasks/rspec.rake"]
16
+ s.post_install_message = %q{PostInstall.txt}
17
+ s.rdoc_options = ["--main", "README.rdoc"]
18
+ s.require_paths = ["lib"]
19
+ s.rubyforge_project = %q{tagcrumbs}
20
+ s.rubygems_version = %q{1.3.3}
21
+ s.summary = %q{This is a RubyGem that provides an ActiveRecord-like interface to the www.tagcrumbs.com web service.}
22
+
23
+ if s.respond_to? :specification_version then
24
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
25
+ s.specification_version = 3
26
+
27
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
28
+ s.add_runtime_dependency(%q<activesupport>, ["= 2.3.2"])
29
+ s.add_runtime_dependency(%q<hpricot>, ["= 0.8.1"])
30
+ s.add_runtime_dependency(%q<htmlentities>, ["= 4.0.0"])
31
+ s.add_runtime_dependency(%q<json>, ["= 1.1.6"])
32
+ s.add_runtime_dependency(%q<oauth>, ["= 0.3.4"])
33
+ s.add_runtime_dependency(%q<mime-types>, ["= 1.16"])
34
+ s.add_runtime_dependency(%q<builder>, ["= 2.1.2"])
35
+ s.add_development_dependency(%q<newgem>, [">= 1.4.1"])
36
+ s.add_development_dependency(%q<hoe>, [">= 1.8.0"])
37
+ else
38
+ s.add_dependency(%q<activesupport>, ["= 2.3.2"])
39
+ s.add_dependency(%q<hpricot>, ["= 0.8.1"])
40
+ s.add_dependency(%q<htmlentities>, ["= 4.0.0"])
41
+ s.add_dependency(%q<json>, ["= 1.1.6"])
42
+ s.add_dependency(%q<oauth>, ["= 0.3.4"])
43
+ s.add_dependency(%q<mime-types>, ["= 1.16"])
44
+ s.add_dependency(%q<builder>, ["= 2.1.2"])
45
+ s.add_dependency(%q<newgem>, [">= 1.4.1"])
46
+ s.add_dependency(%q<hoe>, [">= 1.8.0"])
47
+ end
48
+ else
49
+ s.add_dependency(%q<activesupport>, ["= 2.3.2"])
50
+ s.add_dependency(%q<hpricot>, ["= 0.8.1"])
51
+ s.add_dependency(%q<htmlentities>, ["= 4.0.0"])
52
+ s.add_dependency(%q<json>, ["= 1.1.6"])
53
+ s.add_dependency(%q<oauth>, ["= 0.3.4"])
54
+ s.add_dependency(%q<mime-types>, ["= 1.16"])
55
+ s.add_dependency(%q<builder>, ["= 2.1.2"])
56
+ s.add_dependency(%q<newgem>, [">= 1.4.1"])
57
+ s.add_dependency(%q<hoe>, [">= 1.8.0"])
58
+ end
59
+ end
@@ -0,0 +1,21 @@
1
+ begin
2
+ require 'spec'
3
+ rescue LoadError
4
+ require 'rubygems' unless ENV['NO_RUBYGEMS']
5
+ require 'spec'
6
+ end
7
+ begin
8
+ require 'spec/rake/spectask'
9
+ rescue LoadError
10
+ puts <<-EOS
11
+ To use rspec for testing you must install rspec gem:
12
+ gem install rspec
13
+ EOS
14
+ exit(0)
15
+ end
16
+
17
+ desc "Run the specs under spec/models"
18
+ Spec::Rake::SpecTask.new do |t|
19
+ t.spec_opts = ['--options', "spec/spec.opts"]
20
+ t.spec_files = FileList['spec/**/*_spec.rb']
21
+ end
metadata ADDED
@@ -0,0 +1,325 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tagcrumbs-tagcrumbs
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.1
5
+ platform: ruby
6
+ authors:
7
+ - Sascha Konietzke
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-06-14 00:00:00 -07:00
13
+ default_executable: tagcrumbs
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: activesupport
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - "="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.3.2
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: hpricot
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.8.1
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: htmlentities
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "="
42
+ - !ruby/object:Gem::Version
43
+ version: 4.0.0
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: json
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.1.6
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: oauth
57
+ type: :runtime
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "="
62
+ - !ruby/object:Gem::Version
63
+ version: 0.3.4
64
+ version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: mime-types
67
+ type: :runtime
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "="
72
+ - !ruby/object:Gem::Version
73
+ version: "1.16"
74
+ version:
75
+ - !ruby/object:Gem::Dependency
76
+ name: builder
77
+ type: :runtime
78
+ version_requirement:
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "="
82
+ - !ruby/object:Gem::Version
83
+ version: 2.1.2
84
+ version:
85
+ - !ruby/object:Gem::Dependency
86
+ name: newgem
87
+ type: :development
88
+ version_requirement:
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: 1.4.1
94
+ version:
95
+ - !ruby/object:Gem::Dependency
96
+ name: hoe
97
+ type: :development
98
+ version_requirement:
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: 1.8.0
104
+ version:
105
+ description: This is a RubyGem that provides an ActiveRecord-like interface to the www.tagcrumbs.com web service.
106
+ email:
107
+ - sascha@tagcrumbs.com
108
+ executables:
109
+ - tagcrumbs
110
+ extensions: []
111
+
112
+ extra_rdoc_files:
113
+ - History.txt
114
+ - License.txt
115
+ - Manifest.txt
116
+ - PostInstall.txt
117
+ - README.rdoc
118
+ - TODO.txt
119
+ files:
120
+ - History.txt
121
+ - License.txt
122
+ - Manifest.txt
123
+ - PostInstall.txt
124
+ - README.rdoc
125
+ - Rakefile
126
+ - TODO.txt
127
+ - bin/tagcrumbs
128
+ - examples/address_update.rb
129
+ - examples/comment_new.rb
130
+ - examples/favorite_new.rb
131
+ - examples/filter_new.rb
132
+ - examples/friendship_create.rb
133
+ - examples/link_new.rb
134
+ - examples/location_update.rb
135
+ - examples/picture_update.rb
136
+ - examples/placemark_new_simple.rb
137
+ - examples/placemark_new_suggestions.rb
138
+ - examples/profile_link_new.rb
139
+ - examples/profile_update.rb
140
+ - examples/request_authorization.rb
141
+ - examples/settings_update.rb
142
+ - examples/subscription_new.rb
143
+ - examples/tagcrumbs_find.rb
144
+ - examples/tagcrumbs_search.rb
145
+ - examples/user.rb
146
+ - examples/user_recommendation_new.rb
147
+ - lib/tagcrumbs.rb
148
+ - lib/tagcrumbs/builders/builder.rb
149
+ - lib/tagcrumbs/builders/json_builder.rb
150
+ - lib/tagcrumbs/builders/xml_builder.rb
151
+ - lib/tagcrumbs/cli.rb
152
+ - lib/tagcrumbs/config_store.rb
153
+ - lib/tagcrumbs/exceptions.rb
154
+ - lib/tagcrumbs/node.rb
155
+ - lib/tagcrumbs/parsers/json_parser.rb
156
+ - lib/tagcrumbs/parsers/parser.rb
157
+ - lib/tagcrumbs/parsers/xml_parser.rb
158
+ - lib/tagcrumbs/proxy.rb
159
+ - lib/tagcrumbs/requestor.rb
160
+ - lib/tagcrumbs/resources/array.rb
161
+ - lib/tagcrumbs/resources/models/accessors.rb
162
+ - lib/tagcrumbs/resources/models/activity.rb
163
+ - lib/tagcrumbs/resources/models/address.rb
164
+ - lib/tagcrumbs/resources/models/city.rb
165
+ - lib/tagcrumbs/resources/models/comment.rb
166
+ - lib/tagcrumbs/resources/models/country.rb
167
+ - lib/tagcrumbs/resources/models/fanship.rb
168
+ - lib/tagcrumbs/resources/models/favorite.rb
169
+ - lib/tagcrumbs/resources/models/filter.rb
170
+ - lib/tagcrumbs/resources/models/flag.rb
171
+ - lib/tagcrumbs/resources/models/friendship.rb
172
+ - lib/tagcrumbs/resources/models/geoname.rb
173
+ - lib/tagcrumbs/resources/models/link.rb
174
+ - lib/tagcrumbs/resources/models/location.rb
175
+ - lib/tagcrumbs/resources/models/model.rb
176
+ - lib/tagcrumbs/resources/models/picture.rb
177
+ - lib/tagcrumbs/resources/models/place.rb
178
+ - lib/tagcrumbs/resources/models/placemark.rb
179
+ - lib/tagcrumbs/resources/models/profile.rb
180
+ - lib/tagcrumbs/resources/models/profile_link.rb
181
+ - lib/tagcrumbs/resources/models/root.rb
182
+ - lib/tagcrumbs/resources/models/settings.rb
183
+ - lib/tagcrumbs/resources/models/state.rb
184
+ - lib/tagcrumbs/resources/models/subscription.rb
185
+ - lib/tagcrumbs/resources/models/suggestions.rb
186
+ - lib/tagcrumbs/resources/models/tag.rb
187
+ - lib/tagcrumbs/resources/models/tagcrumb.rb
188
+ - lib/tagcrumbs/resources/models/user.rb
189
+ - lib/tagcrumbs/resources/models/user_recommendation.rb
190
+ - lib/tagcrumbs/resources/resource.rb
191
+ - lib/tagcrumbs/validations.rb
192
+ - script/console
193
+ - script/destroy
194
+ - script/generate
195
+ - spec/fixtures/activity.json
196
+ - spec/fixtures/activity.xml
197
+ - spec/fixtures/address.json
198
+ - spec/fixtures/address.xml
199
+ - spec/fixtures/city.json
200
+ - spec/fixtures/city.xml
201
+ - spec/fixtures/comment.json
202
+ - spec/fixtures/comment.xml
203
+ - spec/fixtures/country.json
204
+ - spec/fixtures/country.xml
205
+ - spec/fixtures/fanship.json
206
+ - spec/fixtures/fanship.xml
207
+ - spec/fixtures/favorite.json
208
+ - spec/fixtures/favorite.xml
209
+ - spec/fixtures/filter.json
210
+ - spec/fixtures/filter.xml
211
+ - spec/fixtures/friendship.json
212
+ - spec/fixtures/friendship.xml
213
+ - spec/fixtures/geoname.json
214
+ - spec/fixtures/geoname.xml
215
+ - spec/fixtures/json_parser.json
216
+ - spec/fixtures/link.json
217
+ - spec/fixtures/link.xml
218
+ - spec/fixtures/location.json
219
+ - spec/fixtures/location.xml
220
+ - spec/fixtures/picture.json
221
+ - spec/fixtures/picture.png
222
+ - spec/fixtures/picture.xml
223
+ - spec/fixtures/placemark.json
224
+ - spec/fixtures/placemark.xml
225
+ - spec/fixtures/placemarks.json
226
+ - spec/fixtures/placemarks.xml
227
+ - spec/fixtures/profile.json
228
+ - spec/fixtures/profile.xml
229
+ - spec/fixtures/profile_link.json
230
+ - spec/fixtures/profile_link.xml
231
+ - spec/fixtures/root.json
232
+ - spec/fixtures/root.xml
233
+ - spec/fixtures/settings.json
234
+ - spec/fixtures/settings.xml
235
+ - spec/fixtures/state.json
236
+ - spec/fixtures/state.xml
237
+ - spec/fixtures/subscription.json
238
+ - spec/fixtures/subscription.xml
239
+ - spec/fixtures/suggestions.json
240
+ - spec/fixtures/suggestions.xml
241
+ - spec/fixtures/tag.json
242
+ - spec/fixtures/tag.xml
243
+ - spec/fixtures/user.json
244
+ - spec/fixtures/user.xml
245
+ - spec/fixtures/user_recommendation.json
246
+ - spec/fixtures/user_recommendation.xml
247
+ - spec/fixtures/validation_errors.json
248
+ - spec/fixtures/validation_errors.xml
249
+ - spec/fixtures/xml_parser.xml
250
+ - spec/spec.opts
251
+ - spec/spec_helper.rb
252
+ - spec/tagcrumbs/builders/builder_spec.rb
253
+ - spec/tagcrumbs/builders/json_builder_spec.rb
254
+ - spec/tagcrumbs/builders/xml_builder_spec.rb
255
+ - spec/tagcrumbs/exceptions_spec.rb
256
+ - spec/tagcrumbs/node_spec.rb
257
+ - spec/tagcrumbs/parsers/json_parser_spec.rb
258
+ - spec/tagcrumbs/parsers/parser_spec.rb
259
+ - spec/tagcrumbs/parsers/xml_parser_spec.rb
260
+ - spec/tagcrumbs/proxy_spec.rb
261
+ - spec/tagcrumbs/requestor_spec.rb
262
+ - spec/tagcrumbs/resources/array_spec.rb
263
+ - spec/tagcrumbs/resources/models/accessors_spec.rb
264
+ - spec/tagcrumbs/resources/models/activity_spec.rb
265
+ - spec/tagcrumbs/resources/models/address_spec.rb
266
+ - spec/tagcrumbs/resources/models/city_spec.rb
267
+ - spec/tagcrumbs/resources/models/comment_spec.rb
268
+ - spec/tagcrumbs/resources/models/country_spec.rb
269
+ - spec/tagcrumbs/resources/models/fanship_spec.rb
270
+ - spec/tagcrumbs/resources/models/favorite_spec.rb
271
+ - spec/tagcrumbs/resources/models/filter_spec.rb
272
+ - spec/tagcrumbs/resources/models/flag_spec.rb
273
+ - spec/tagcrumbs/resources/models/friendship_spec.rb
274
+ - spec/tagcrumbs/resources/models/geoname_spec.rb
275
+ - spec/tagcrumbs/resources/models/link_spec.rb
276
+ - spec/tagcrumbs/resources/models/location_spec.rb
277
+ - spec/tagcrumbs/resources/models/model_spec.rb
278
+ - spec/tagcrumbs/resources/models/picture_spec.rb
279
+ - spec/tagcrumbs/resources/models/place_spec.rb
280
+ - spec/tagcrumbs/resources/models/placemark_spec.rb
281
+ - spec/tagcrumbs/resources/models/profile_link_spec.rb
282
+ - spec/tagcrumbs/resources/models/profile_spec.rb
283
+ - spec/tagcrumbs/resources/models/root_spec.rb
284
+ - spec/tagcrumbs/resources/models/settings_spec.rb
285
+ - spec/tagcrumbs/resources/models/state_spec.rb
286
+ - spec/tagcrumbs/resources/models/subscription_spec.rb
287
+ - spec/tagcrumbs/resources/models/suggestions_spec.rb
288
+ - spec/tagcrumbs/resources/models/tag_spec.rb
289
+ - spec/tagcrumbs/resources/models/tagcrumb_spec.rb
290
+ - spec/tagcrumbs/resources/models/user_recommendation_spec.rb
291
+ - spec/tagcrumbs/resources/models/user_spec.rb
292
+ - spec/tagcrumbs/resources/resource_spec.rb
293
+ - spec/tagcrumbs/validations_spec.rb
294
+ - spec/tagcrumbs_spec.rb
295
+ - tagcrumbs.gemspec
296
+ - tasks/rspec.rake
297
+ has_rdoc: false
298
+ homepage:
299
+ post_install_message: PostInstall.txt
300
+ rdoc_options:
301
+ - --main
302
+ - README.rdoc
303
+ require_paths:
304
+ - lib
305
+ required_ruby_version: !ruby/object:Gem::Requirement
306
+ requirements:
307
+ - - ">="
308
+ - !ruby/object:Gem::Version
309
+ version: "0"
310
+ version:
311
+ required_rubygems_version: !ruby/object:Gem::Requirement
312
+ requirements:
313
+ - - ">="
314
+ - !ruby/object:Gem::Version
315
+ version: "0"
316
+ version:
317
+ requirements: []
318
+
319
+ rubyforge_project: tagcrumbs
320
+ rubygems_version: 1.2.0
321
+ signing_key:
322
+ specification_version: 3
323
+ summary: This is a RubyGem that provides an ActiveRecord-like interface to the www.tagcrumbs.com web service.
324
+ test_files: []
325
+