chute 0.0.2 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. data/Gemfile +16 -2
  2. data/Gemfile.lock +52 -0
  3. data/LICENSE.txt +20 -0
  4. data/README.md +46 -0
  5. data/Rakefile +48 -6
  6. data/VERSION +1 -0
  7. data/chute.gemspec +120 -16
  8. data/lib/chute.rb +7 -20
  9. data/lib/chute/client.rb +42 -0
  10. data/lib/chute/configuration.rb +40 -0
  11. data/lib/chute/connection.rb +64 -0
  12. data/lib/chute/response.rb +22 -0
  13. data/lib/chute/v2/albums.rb +60 -0
  14. data/lib/chute/v2/assets.rb +55 -0
  15. data/lib/chute/v2/comments.rb +29 -0
  16. data/lib/chute/v2/flags.rb +21 -0
  17. data/lib/chute/v2/hearts.rb +21 -0
  18. data/lib/chute/v2/parcels.rb +21 -0
  19. data/lib/chute/v2/tags.rb +36 -0
  20. data/lib/chute/v2/triggers.rb +26 -0
  21. data/lib/chute/v2/users.rb +18 -0
  22. data/lib/chute/v2/votes.rb +21 -0
  23. data/lib/chute/version.rb +7 -1
  24. data/spec/chute/chute_spec.rb +64 -0
  25. data/spec/chute/client_spec.rb +82 -0
  26. data/spec/chute/connection_spec.rb +47 -0
  27. data/spec/chute/response_spec.rb +16 -0
  28. data/spec/chute/v2/albums_spec.rb +197 -0
  29. data/spec/chute/v2/assets_spec.rb +171 -0
  30. data/spec/chute/v2/comments_spec.rb +88 -0
  31. data/spec/chute/v2/flags_spec.rb +56 -0
  32. data/spec/chute/v2/hearts_spec.rb +57 -0
  33. data/spec/chute/v2/parcels_spec.rb +24 -0
  34. data/spec/chute/v2/tags_spec.rb +79 -0
  35. data/spec/chute/v2/trigger_spec.rb +127 -0
  36. data/spec/chute/v2/users_spec.rb +53 -0
  37. data/spec/chute/v2/votes_spec.rb +56 -0
  38. data/spec/fixtures/chute_cassettes/albums/album_create_with_permission_view.yml +69 -0
  39. data/spec/fixtures/chute_cassettes/albums/albums_add_remove_assets.yml +187 -0
  40. data/spec/fixtures/chute_cassettes/albums/albums_create.yml +69 -0
  41. data/spec/fixtures/chute_cassettes/albums/albums_delete.yml +128 -0
  42. data/spec/fixtures/chute_cassettes/albums/albums_get.yml +135 -0
  43. data/spec/fixtures/chute_cassettes/albums/albums_list.yml +89 -0
  44. data/spec/fixtures/chute_cassettes/albums/albums_stats.yml +128 -0
  45. data/spec/fixtures/chute_cassettes/albums/albums_update.yml +135 -0
  46. data/spec/fixtures/chute_cassettes/assets/assets_delete.yml +131 -0
  47. data/spec/fixtures/chute_cassettes/assets/assets_geo.yml +197 -0
  48. data/spec/fixtures/chute_cassettes/assets/assets_get.yml +138 -0
  49. data/spec/fixtures/chute_cassettes/assets/assets_import.yml +76 -0
  50. data/spec/fixtures/chute_cassettes/assets/assets_list.yml +77 -0
  51. data/spec/fixtures/chute_cassettes/assets/assets_update.yml +138 -0
  52. data/spec/fixtures/chute_cassettes/comments/comments_create.yml +196 -0
  53. data/spec/fixtures/chute_cassettes/comments/comments_list.yml +259 -0
  54. data/spec/fixtures/chute_cassettes/flags/flags_methods.yml +313 -0
  55. data/spec/fixtures/chute_cassettes/hearts/hearts_methods.yml +254 -0
  56. data/spec/fixtures/chute_cassettes/tags/tags_assets.yml +311 -0
  57. data/spec/fixtures/chute_cassettes/triggers/trigger_errors.yml +62 -0
  58. data/spec/fixtures/chute_cassettes/triggers/triggers_cleanup.yml +184 -0
  59. data/spec/fixtures/chute_cassettes/triggers/triggers_create.yml +65 -0
  60. data/spec/fixtures/chute_cassettes/triggers/triggers_delete.yml +124 -0
  61. data/spec/fixtures/chute_cassettes/triggers/triggers_list.yml +66 -0
  62. data/spec/fixtures/chute_cassettes/triggers/triggers_update.yml +127 -0
  63. data/spec/fixtures/chute_cassettes/users/users_get.yml +128 -0
  64. data/spec/fixtures/chute_cassettes/users/users_me.yml +66 -0
  65. data/spec/fixtures/chute_cassettes/votes/votes_methods.yml +313 -0
  66. data/spec/spec_helper.rb +27 -0
  67. metadata +210 -33
  68. data/.gitignore +0 -5
  69. data/README +0 -125
  70. data/config/chute.rb +0 -0
  71. data/lib/chute/account.rb +0 -58
  72. data/lib/chute/app.rb +0 -32
  73. data/lib/chute/asset.rb +0 -124
  74. data/lib/chute/bundle.rb +0 -72
  75. data/lib/chute/chute.rb +0 -203
  76. data/lib/chute/collection.rb +0 -47
  77. data/lib/chute/comment.rb +0 -32
  78. data/lib/chute/exception.rb +0 -7
  79. data/lib/chute/http_service.rb +0 -114
  80. data/lib/chute/inbox.rb +0 -41
  81. data/lib/chute/parcel.rb +0 -45
  82. data/lib/chute/resource.rb +0 -354
  83. data/lib/chute/user.rb +0 -113
  84. data/lib/chute/util.rb +0 -14
  85. data/test/test_sudoku.rb +0 -7
@@ -0,0 +1,27 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'chute'
5
+ require 'vcr'
6
+
7
+
8
+ # Requires supporting files with custom matchers and macros, etc,
9
+ # in ./support/ and its subdirectories.
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
11
+
12
+ RSpec.configure do |config|
13
+
14
+ config.color_enabled = true
15
+ # Use color not only in STDOUT but also in pagers and files
16
+ config.tty = true
17
+
18
+ end
19
+
20
+ #VCR config
21
+ VCR.configure do |c|
22
+ c.ignore_localhost = true
23
+ c.cassette_library_dir = 'spec/fixtures/chute_cassettes'
24
+ c.hook_into :webmock # or :fakeweb
25
+ c.filter_sensitive_data('API KEY') { Chute.access_token }
26
+ c.allow_http_connections_when_no_cassette = false
27
+ end
metadata CHANGED
@@ -1,48 +1,223 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chute
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 2.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
- - Payal Gupta
8
+ - Darko Grozdanovski
9
+ - Chris Burkhart
10
+ - Petr Bela
9
11
  autorequire:
10
12
  bindir: bin
11
13
  cert_chain: []
12
- date: 2011-10-07 00:00:00.000000000Z
13
- dependencies: []
14
- description: This gem allows to map your models with a chute.
15
- email:
16
- - payal@getchute.com
14
+ date: 2013-04-11 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: httparty
18
+ requirement: !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ! '>='
22
+ - !ruby/object:Gem::Version
23
+ version: '0'
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ! '>='
30
+ - !ruby/object:Gem::Version
31
+ version: '0'
32
+ - !ruby/object:Gem::Dependency
33
+ name: hashie
34
+ requirement: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - ! '>='
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ - !ruby/object:Gem::Dependency
49
+ name: rspec
50
+ requirement: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: 2.8.0
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ~>
62
+ - !ruby/object:Gem::Version
63
+ version: 2.8.0
64
+ - !ruby/object:Gem::Dependency
65
+ name: rdoc
66
+ requirement: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ~>
70
+ - !ruby/object:Gem::Version
71
+ version: '3.12'
72
+ type: :development
73
+ prerelease: false
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ version: '3.12'
80
+ - !ruby/object:Gem::Dependency
81
+ name: bundler
82
+ requirement: !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ! '>='
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: jeweler
98
+ requirement: !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: 1.8.4
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ~>
110
+ - !ruby/object:Gem::Version
111
+ version: 1.8.4
112
+ - !ruby/object:Gem::Dependency
113
+ name: simplecov
114
+ requirement: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ! '>='
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
128
+ - !ruby/object:Gem::Dependency
129
+ name: httparty
130
+ requirement: !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ! '>='
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ type: :runtime
137
+ prerelease: false
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ description: wrapper for the API for getchute.com
145
+ email: support@gmail.com
17
146
  executables: []
18
147
  extensions: []
19
- extra_rdoc_files: []
148
+ extra_rdoc_files:
149
+ - LICENSE.txt
150
+ - README.md
20
151
  files:
21
- - .gitignore
22
152
  - Gemfile
23
- - README
153
+ - Gemfile.lock
154
+ - LICENSE.txt
155
+ - README.md
24
156
  - Rakefile
157
+ - VERSION
25
158
  - chute.gemspec
26
- - config/chute.rb
27
159
  - lib/chute.rb
28
- - lib/chute/account.rb
29
- - lib/chute/app.rb
30
- - lib/chute/asset.rb
31
- - lib/chute/bundle.rb
32
- - lib/chute/chute.rb
33
- - lib/chute/collection.rb
34
- - lib/chute/comment.rb
35
- - lib/chute/exception.rb
36
- - lib/chute/http_service.rb
37
- - lib/chute/inbox.rb
38
- - lib/chute/parcel.rb
39
- - lib/chute/resource.rb
40
- - lib/chute/user.rb
41
- - lib/chute/util.rb
160
+ - lib/chute/client.rb
161
+ - lib/chute/configuration.rb
162
+ - lib/chute/connection.rb
163
+ - lib/chute/response.rb
164
+ - lib/chute/v2/albums.rb
165
+ - lib/chute/v2/assets.rb
166
+ - lib/chute/v2/comments.rb
167
+ - lib/chute/v2/flags.rb
168
+ - lib/chute/v2/hearts.rb
169
+ - lib/chute/v2/parcels.rb
170
+ - lib/chute/v2/tags.rb
171
+ - lib/chute/v2/triggers.rb
172
+ - lib/chute/v2/users.rb
173
+ - lib/chute/v2/votes.rb
42
174
  - lib/chute/version.rb
43
- - test/test_sudoku.rb
44
- homepage: ''
45
- licenses: []
175
+ - spec/chute/chute_spec.rb
176
+ - spec/chute/client_spec.rb
177
+ - spec/chute/connection_spec.rb
178
+ - spec/chute/response_spec.rb
179
+ - spec/chute/v2/albums_spec.rb
180
+ - spec/chute/v2/assets_spec.rb
181
+ - spec/chute/v2/comments_spec.rb
182
+ - spec/chute/v2/flags_spec.rb
183
+ - spec/chute/v2/hearts_spec.rb
184
+ - spec/chute/v2/parcels_spec.rb
185
+ - spec/chute/v2/tags_spec.rb
186
+ - spec/chute/v2/trigger_spec.rb
187
+ - spec/chute/v2/users_spec.rb
188
+ - spec/chute/v2/votes_spec.rb
189
+ - spec/fixtures/chute_cassettes/albums/album_create_with_permission_view.yml
190
+ - spec/fixtures/chute_cassettes/albums/albums_add_remove_assets.yml
191
+ - spec/fixtures/chute_cassettes/albums/albums_create.yml
192
+ - spec/fixtures/chute_cassettes/albums/albums_delete.yml
193
+ - spec/fixtures/chute_cassettes/albums/albums_get.yml
194
+ - spec/fixtures/chute_cassettes/albums/albums_list.yml
195
+ - spec/fixtures/chute_cassettes/albums/albums_stats.yml
196
+ - spec/fixtures/chute_cassettes/albums/albums_update.yml
197
+ - spec/fixtures/chute_cassettes/assets/assets_delete.yml
198
+ - spec/fixtures/chute_cassettes/assets/assets_geo.yml
199
+ - spec/fixtures/chute_cassettes/assets/assets_get.yml
200
+ - spec/fixtures/chute_cassettes/assets/assets_import.yml
201
+ - spec/fixtures/chute_cassettes/assets/assets_list.yml
202
+ - spec/fixtures/chute_cassettes/assets/assets_update.yml
203
+ - spec/fixtures/chute_cassettes/comments/comments_create.yml
204
+ - spec/fixtures/chute_cassettes/comments/comments_list.yml
205
+ - spec/fixtures/chute_cassettes/flags/flags_methods.yml
206
+ - spec/fixtures/chute_cassettes/hearts/hearts_methods.yml
207
+ - spec/fixtures/chute_cassettes/tags/tags_assets.yml
208
+ - spec/fixtures/chute_cassettes/triggers/trigger_errors.yml
209
+ - spec/fixtures/chute_cassettes/triggers/triggers_cleanup.yml
210
+ - spec/fixtures/chute_cassettes/triggers/triggers_create.yml
211
+ - spec/fixtures/chute_cassettes/triggers/triggers_delete.yml
212
+ - spec/fixtures/chute_cassettes/triggers/triggers_list.yml
213
+ - spec/fixtures/chute_cassettes/triggers/triggers_update.yml
214
+ - spec/fixtures/chute_cassettes/users/users_get.yml
215
+ - spec/fixtures/chute_cassettes/users/users_me.yml
216
+ - spec/fixtures/chute_cassettes/votes/votes_methods.yml
217
+ - spec/spec_helper.rb
218
+ homepage: https://github.com/chute/chute-sdk-2
219
+ licenses:
220
+ - MIT
46
221
  post_install_message:
47
222
  rdoc_options: []
48
223
  require_paths:
@@ -53,6 +228,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
53
228
  - - ! '>='
54
229
  - !ruby/object:Gem::Version
55
230
  version: '0'
231
+ segments:
232
+ - 0
233
+ hash: -4589347295381655793
56
234
  required_rubygems_version: !ruby/object:Gem::Requirement
57
235
  none: false
58
236
  requirements:
@@ -60,10 +238,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
60
238
  - !ruby/object:Gem::Version
61
239
  version: '0'
62
240
  requirements: []
63
- rubyforge_project: chute
64
- rubygems_version: 1.8.10
241
+ rubyforge_project:
242
+ rubygems_version: 1.8.25
65
243
  signing_key:
66
244
  specification_version: 3
67
- summary: Chute API Integration
68
- test_files:
69
- - test/test_sudoku.rb
245
+ summary: getchute API wrapper
246
+ test_files: []
data/.gitignore DELETED
@@ -1,5 +0,0 @@
1
- *.gem
2
- .bundle
3
- Gemfile.lock
4
- pkg/*
5
- .DS_Store
data/README DELETED
@@ -1,125 +0,0 @@
1
- Setup
2
- ====
3
-
4
- 1. Add to Gemfile
5
-
6
- gem install chute
7
-
8
- 2. Add configuration file 'config/chute.rb' with the following details:
9
-
10
- API_URL = "ADD API URL HERE"
11
- API_KEY = "ADD ACCESS TOKEN HERE"
12
-
13
-
14
- Key Concepts
15
- ========
16
-
17
- ## Client
18
- All Chute applications use OAuth and are referred to as 'Clients'
19
-
20
- ## Chute
21
- A container for assets. Chutes can be nested inside of each other.
22
-
23
- #initialize
24
- account= Chute::GCChute.new({:name => "Test chute"})
25
-
26
- #create chute
27
- #if successful, chute is created
28
- #if unsuccessful account.errors contains the details
29
- chute.create
30
-
31
-
32
- ## Asset
33
- Any photo or video managed by Chute
34
-
35
- #Find assets for a chute
36
- #Returns collection of GCAsset
37
- chute.assets
38
-
39
- ## Parcel
40
- A named collection of assets. Whenever you upload assets, they are grouped into parcels.
41
-
42
- ## Bundle
43
- An unnamed collection of assets.
44
-
45
- #initialize a bundle
46
- bundle = Chute::GCBundle.new
47
-
48
- #prefix the asset_ids for the bundle
49
- #string - array of asset_ids
50
- bundle.prefix_options = '["34", "56"]'
51
-
52
- #create the bundle
53
- #if successful, returns the newly created bundle
54
- #if unsuccessful, bundle.errors contains errors or raises an exception
55
- bundle.save
56
-
57
- bundle.id # id of the bundle
58
-
59
- #find a bundle
60
- bundle = Chute::GCBundle.find_by_id(id)
61
-
62
- #add assets to bundle
63
- #bundle.add_assets(array_of_asset_ids)
64
- #returns the new set of assets
65
- bundle.add_assets(["11", "22", "45"])
66
-
67
- #remove assets from bundle
68
- #bundle.remove_assets(array_of_asset_ids)
69
- #returns the new set of assets
70
- bundle.remove_assets(["22", "3"])
71
-
72
-
73
- Basic Tasks
74
- =========
75
-
76
- ## Uploading Assets
77
-
78
- ## Displaying Assets
79
-
80
- ## Organizing Assets
81
-
82
- ## Associating Your Data with Assets
83
-
84
- ## Bundling Assets
85
- #find a bundle
86
- bundle = Chute::GCBundle.find_by_id(id)
87
-
88
- #add assets to bundle
89
- #bundle.add_assets(array_of_asset_ids)
90
- #returns the new set of assets
91
- bundle.add_assets(["11", "22", "45"])
92
-
93
- #remove assets from bundle
94
- #bundle.remove_assets(array_of_asset_ids)
95
- #returns the new set of assets
96
- bundle.remove_assets(["22", "3"])
97
-
98
-
99
- Social Tasks
100
- ==========
101
-
102
- ## Hearting Assets
103
-
104
- #heart
105
- # id - Asset Identifier
106
- Chute::GCAsset.heart(id)
107
-
108
- #unheart
109
- Chute::GCAsset.unheart(id)
110
-
111
- ## Commenting on Assets
112
-
113
- #add a comment for an asset in a chute
114
- #chute.add_comment(comment_text, asset_id)
115
-
116
- chute.add_comment("test comment 2", 37)
117
-
118
- #find a comment
119
- comments = chute.comments(37)
120
- comment = comments.first
121
-
122
- #delete comment
123
- comment.destroy
124
-
125
-
File without changes
@@ -1,58 +0,0 @@
1
- module Chute
2
- class GCAccount < GCResource
3
-
4
- attr_accessor :id,
5
- :uid,
6
- :type,
7
- :email,
8
- :name,
9
- :access_key,
10
- :notifications_enabled
11
-
12
- def initialize(attributes = {})
13
- super
14
- @id = attributes[:id]
15
- @uid = attributes[:uid]
16
- @email = attributes[:email]
17
- @name = attributes[:name]
18
- @access_key = attributes[:access_key]
19
- @notifications_enabled = attributes[:notifications_enabled]
20
- end
21
-
22
- # Public: Pluralized name of the resource.
23
- def resource_name
24
- 'accounts'
25
- end
26
-
27
- # Public: Disable notifications for the account
28
- def mute
29
- perform(self.class.post("/#{resource_name}/#{id}/mute"))
30
- end
31
-
32
- # Public: Enable notifications for the account
33
- def unmute
34
- perform(self.class.post("/#{resource_name}/#{id}/unmute"))
35
- end
36
-
37
- # Public: Pluralized name of the resource.
38
- def self.class_path
39
- "accounts"
40
- end
41
-
42
- # Public: Fetch account from its id.
43
- # id - Integer: identifier.
44
- #
45
- # Example
46
- #
47
- # Chute::GAccount.find_by_id(23)
48
- # # => account
49
- # # => false if not found
50
- # Returns GCAccount.
51
-
52
- def self.find_by_id(id)
53
- account = Chute::GCAccount.new
54
- account.perform(get("/accounts/#{id}")) ? account : false
55
- end
56
-
57
- end
58
- end