chute 0.0.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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