cocoafish 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # Overview
2
+
3
+ ## 0.1.5
4
+
5
+ * Require a Ruby File object in order to POST a file to Cocoafish instead of using just a file path.
6
+
7
+ * Accept a Ruby Hash object with query parameters.
data/README.md CHANGED
@@ -35,12 +35,16 @@ Then include it in your scripts:
35
35
 
36
36
  ## Usage
37
37
 
38
- ### Authenticating with Ccooafish
38
+ ### Authenticating with Cocoafish
39
39
 
40
40
  Find the OAuth consumer key and secret for your app on the [Cocoafish app management site](http://cocoafish.com/apps) and use them to set the credentials so that your app can talk to the Cocoafish API servers.
41
41
 
42
42
  Cocoafish::Client.set_credentials('key', 'secret')
43
43
 
44
+ By default the Ruby Client uses http. If you wish to use https (SSL) to send requests to Cocoafish, you can use the hostname option:
45
+
46
+ Cocoafish::Client.set_credentials('key', 'secret', {:hostname=>"https://api.cocoafish.com"})
47
+
44
48
  ### Making Requests
45
49
 
46
50
  Use the Cocoafish client http methods to store and retrive data with Cocoafish by passing a url path and optional parameters hash:
@@ -136,14 +140,16 @@ The following script shows how to perform actions required for a checkin app: cr
136
140
  place_1_id = result.response.places[0].id
137
141
 
138
142
  # checkin to the place with a photo and message
139
- result = Cocoafish::Client.post("checkins/create.json", {:message => "Working hard!", :photo => "/Users/mgoff/Desktop/atwork.jpg", "photo_sync_sizes[]" => "large_1024", :place_id => place_1_id})
143
+ photo = File.new("/Users/mgoff/Desktop/atwork.jpg", "rb")
144
+ result = Cocoafish::Client.post("checkins/create.json", {:message => "Working hard!", :photo => photo, "photo_sync_sizes[]" => "large_1024", :place_id => place_1_id})
140
145
 
141
146
  # create another place
142
147
  result = Cocoafish::Client.post("places/create.json", {:name => "Kingdom of Dumpling", :address => "1713 Taraval St", :city => "San Francisco", :state => "CA", :postal_code => "94116", :latitude => 37.742640, :longitude => -122.484597})
143
148
  place_2_id = result.response.places[0].id
144
149
 
145
150
  # checkin to the place with a photo and message
146
- result = Cocoafish::Client.post("checkins/create.json", {:message => "Eating some awesome Chinese dumplings!", :photo => "/Users/mgoff/Desktop/dumplings.jpg", "photo_sync_sizes[]" => "large_1024", :place_id => place_2_id})
151
+ photo = File.new("/Users/mgoff/Desktop/dumplings.jpg", "rb")
152
+ result = Cocoafish::Client.post("checkins/create.json", {:message => "Eating some awesome Chinese dumplings!", :photo => photo, "photo_sync_sizes[]" => "large_1024", :place_id => place_2_id})
147
153
 
148
154
  # search for checkins from my current location in Union Square
149
155
  result = Cocoafish::Client.get("checkins/search.json", {:latitude => 37.787930, :longitude => -122.407499})
data/Rakefile CHANGED
@@ -13,12 +13,12 @@ require 'jeweler'
13
13
  Jeweler::Tasks.new do |gem|
14
14
  # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15
15
  gem.name = "cocoafish"
16
- gem.homepage = "http://github.com/cocoafish"
16
+ gem.homepage = "http://cocoafish.com"
17
17
  gem.license = "MIT"
18
- gem.summary = %Q{A Cocoafish Ruby Client}
19
- gem.description = "Ruby client to access Cocoafish"%
20
- gem.email = "wei@cocoafish.com"
21
- gem.authors = ["Wei Kong"]
18
+ gem.summary = %Q{Cocoafish Ruby Client}
19
+ gem.description = "A Ruby client for Cocoafish. For more information about Cocoafish, see http://cocoafish.com."
20
+ gem.email = "info@cocoafish.com"
21
+ gem.authors = ["Michael Goff", "Wei Kong"]
22
22
  gem.files = Dir["{lib}/**/*", "./*"]
23
23
  gem.add_runtime_dependency 'rest-client', '~> 1.6.3'
24
24
  gem.add_runtime_dependency 'json_pure', '~> 1.4.6'
@@ -49,5 +49,6 @@ Rake::RDocTask.new do |rdoc|
49
49
  rdoc.rdoc_dir = 'rdoc'
50
50
  rdoc.title = "cocoafish #{version}"
51
51
  rdoc.rdoc_files.include('README*')
52
+ rdoc.rdoc_files.include('CHANGELOG*')
52
53
  rdoc.rdoc_files.include('lib/**/*.rb')
53
54
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.4
1
+ 0.1.5
data/cocoafish.gemspec CHANGED
@@ -5,18 +5,19 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "cocoafish"
8
- s.version = "0.1.4"
8
+ s.version = "0.1.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Wei Kong"]
12
- s.date = "2011-11-17"
13
- s.description = "Ruby client to access Cocoafish"
14
- s.email = "wei@cocoafish.com"
11
+ s.authors = ["Michael Goff", "Wei Kong"]
12
+ s.date = "2011-12-17"
13
+ s.description = "A Ruby client for Cocoafish. For more information about Cocoafish, see http://cocoafish.com."
14
+ s.email = "info@cocoafish.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
17
  "README.md"
18
18
  ]
19
19
  s.files = [
20
+ "./CHANGELOG.md",
20
21
  "./Gemfile",
21
22
  "./Gemfile.lock",
22
23
  "./LICENSE.txt",
@@ -31,11 +32,11 @@ Gem::Specification.new do |s|
31
32
  "lib/cocoafish/endpoint.rb",
32
33
  "lib/cocoafish/objectified_hash.rb"
33
34
  ]
34
- s.homepage = "http://github.com/cocoafish"
35
+ s.homepage = "http://cocoafish.com"
35
36
  s.licenses = ["MIT"]
36
37
  s.require_paths = ["lib"]
37
38
  s.rubygems_version = "1.8.10"
38
- s.summary = "A Cocoafish Ruby Client"
39
+ s.summary = "Cocoafish Ruby Client"
39
40
  s.test_files = [
40
41
  "test/helper.rb",
41
42
  "test/test_cocoafish.rb"
@@ -30,6 +30,17 @@ module Cocoafish
30
30
 
31
31
  def request(method, endpoint, data)
32
32
 
33
+ if data
34
+ if !data.is_a?(Hash)
35
+ raise "data must be a hash of parameters"
36
+ end
37
+ data.each_pair do |k,v|
38
+ if v.is_a?(Hash) || v.is_a?(Array)
39
+ data[k] = v.to_json
40
+ end
41
+ end
42
+ end
43
+
33
44
  # set the cookies to send with the header
34
45
  if !@options.has_key?(:manage_cookies) || @options[:manage_cookies] != false
35
46
  @header_cookies = @cookies
@@ -65,12 +76,6 @@ module Cocoafish
65
76
  end
66
77
 
67
78
  when :post, :put
68
-
69
- data.each do |key,value|
70
- if key.to_s == "photo" || key.to_s =~ /photos\[\d+\]/
71
- data[key] = File.new(value, 'rb')
72
- end
73
- end
74
79
  data.merge!(:multipart => true)
75
80
 
76
81
  oauth_header = SimpleOAuth::Header.new(method, endpoint, nil, oauth_options)
@@ -100,6 +105,7 @@ module Cocoafish
100
105
 
101
106
  return content
102
107
  end
108
+
103
109
  end
104
110
  end
105
111
 
metadata CHANGED
@@ -1,19 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoafish
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
+ - Michael Goff
8
9
  - Wei Kong
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2011-11-17 00:00:00.000000000Z
13
+ date: 2011-12-17 00:00:00.000000000Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: rest-client
16
- requirement: &70257427969120 !ruby/object:Gem::Requirement
17
+ requirement: &70101127320500 !ruby/object:Gem::Requirement
17
18
  none: false
18
19
  requirements:
19
20
  - - ~>
@@ -21,10 +22,10 @@ dependencies:
21
22
  version: 1.6.3
22
23
  type: :runtime
23
24
  prerelease: false
24
- version_requirements: *70257427969120
25
+ version_requirements: *70101127320500
25
26
  - !ruby/object:Gem::Dependency
26
27
  name: json_pure
27
- requirement: &70257427967800 !ruby/object:Gem::Requirement
28
+ requirement: &70101127319320 !ruby/object:Gem::Requirement
28
29
  none: false
29
30
  requirements:
30
31
  - - ~>
@@ -32,10 +33,10 @@ dependencies:
32
33
  version: 1.4.6
33
34
  type: :runtime
34
35
  prerelease: false
35
- version_requirements: *70257427967800
36
+ version_requirements: *70101127319320
36
37
  - !ruby/object:Gem::Dependency
37
38
  name: simple_oauth
38
- requirement: &70257427967040 !ruby/object:Gem::Requirement
39
+ requirement: &70101127318800 !ruby/object:Gem::Requirement
39
40
  none: false
40
41
  requirements:
41
42
  - - ~>
@@ -43,10 +44,10 @@ dependencies:
43
44
  version: 0.1.4
44
45
  type: :runtime
45
46
  prerelease: false
46
- version_requirements: *70257427967040
47
+ version_requirements: *70101127318800
47
48
  - !ruby/object:Gem::Dependency
48
49
  name: shoulda
49
- requirement: &70257427966300 !ruby/object:Gem::Requirement
50
+ requirement: &70101127317960 !ruby/object:Gem::Requirement
50
51
  none: false
51
52
  requirements:
52
53
  - - ! '>='
@@ -54,10 +55,10 @@ dependencies:
54
55
  version: '0'
55
56
  type: :development
56
57
  prerelease: false
57
- version_requirements: *70257427966300
58
+ version_requirements: *70101127317960
58
59
  - !ruby/object:Gem::Dependency
59
60
  name: bundler
60
- requirement: &70257427964200 !ruby/object:Gem::Requirement
61
+ requirement: &70101127317120 !ruby/object:Gem::Requirement
61
62
  none: false
62
63
  requirements:
63
64
  - - ~>
@@ -65,10 +66,10 @@ dependencies:
65
66
  version: 1.0.0
66
67
  type: :development
67
68
  prerelease: false
68
- version_requirements: *70257427964200
69
+ version_requirements: *70101127317120
69
70
  - !ruby/object:Gem::Dependency
70
71
  name: jeweler
71
- requirement: &70257427960520 !ruby/object:Gem::Requirement
72
+ requirement: &70101127316340 !ruby/object:Gem::Requirement
72
73
  none: false
73
74
  requirements:
74
75
  - - ~>
@@ -76,10 +77,10 @@ dependencies:
76
77
  version: 1.5.2
77
78
  type: :development
78
79
  prerelease: false
79
- version_requirements: *70257427960520
80
+ version_requirements: *70101127316340
80
81
  - !ruby/object:Gem::Dependency
81
82
  name: rcov
82
- requirement: &70257427957560 !ruby/object:Gem::Requirement
83
+ requirement: &70101127315620 !ruby/object:Gem::Requirement
83
84
  none: false
84
85
  requirements:
85
86
  - - ! '>='
@@ -87,10 +88,10 @@ dependencies:
87
88
  version: '0'
88
89
  type: :development
89
90
  prerelease: false
90
- version_requirements: *70257427957560
91
+ version_requirements: *70101127315620
91
92
  - !ruby/object:Gem::Dependency
92
93
  name: rest-client
93
- requirement: &70257427929720 !ruby/object:Gem::Requirement
94
+ requirement: &70101127315140 !ruby/object:Gem::Requirement
94
95
  none: false
95
96
  requirements:
96
97
  - - ~>
@@ -98,10 +99,10 @@ dependencies:
98
99
  version: 1.6.3
99
100
  type: :runtime
100
101
  prerelease: false
101
- version_requirements: *70257427929720
102
+ version_requirements: *70101127315140
102
103
  - !ruby/object:Gem::Dependency
103
104
  name: json_pure
104
- requirement: &70257427927480 !ruby/object:Gem::Requirement
105
+ requirement: &70101127314480 !ruby/object:Gem::Requirement
105
106
  none: false
106
107
  requirements:
107
108
  - - ~>
@@ -109,10 +110,10 @@ dependencies:
109
110
  version: 1.4.6
110
111
  type: :runtime
111
112
  prerelease: false
112
- version_requirements: *70257427927480
113
+ version_requirements: *70101127314480
113
114
  - !ruby/object:Gem::Dependency
114
115
  name: simple_oauth
115
- requirement: &70257427925240 !ruby/object:Gem::Requirement
116
+ requirement: &70101127313860 !ruby/object:Gem::Requirement
116
117
  none: false
117
118
  requirements:
118
119
  - - ~>
@@ -120,15 +121,17 @@ dependencies:
120
121
  version: 0.1.4
121
122
  type: :runtime
122
123
  prerelease: false
123
- version_requirements: *70257427925240
124
- description: Ruby client to access Cocoafish
125
- email: wei@cocoafish.com
124
+ version_requirements: *70101127313860
125
+ description: A Ruby client for Cocoafish. For more information about Cocoafish, see
126
+ http://cocoafish.com.
127
+ email: info@cocoafish.com
126
128
  executables: []
127
129
  extensions: []
128
130
  extra_rdoc_files:
129
131
  - LICENSE.txt
130
132
  - README.md
131
133
  files:
134
+ - ./CHANGELOG.md
132
135
  - ./Gemfile
133
136
  - ./Gemfile.lock
134
137
  - ./LICENSE.txt
@@ -146,7 +149,7 @@ files:
146
149
  - README.md
147
150
  - test/helper.rb
148
151
  - test/test_cocoafish.rb
149
- homepage: http://github.com/cocoafish
152
+ homepage: http://cocoafish.com
150
153
  licenses:
151
154
  - MIT
152
155
  post_install_message:
@@ -159,9 +162,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
159
162
  - - ! '>='
160
163
  - !ruby/object:Gem::Version
161
164
  version: '0'
162
- segments:
163
- - 0
164
- hash: -2104059489818044473
165
165
  required_rubygems_version: !ruby/object:Gem::Requirement
166
166
  none: false
167
167
  requirements:
@@ -173,7 +173,7 @@ rubyforge_project:
173
173
  rubygems_version: 1.8.10
174
174
  signing_key:
175
175
  specification_version: 3
176
- summary: A Cocoafish Ruby Client
176
+ summary: Cocoafish Ruby Client
177
177
  test_files:
178
178
  - test/helper.rb
179
179
  - test/test_cocoafish.rb