viddler-ruby 0.0.2 → 0.0.3

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.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- viddler-ruby (0.0.1)
4
+ viddler-ruby (0.0.3)
5
5
  activesupport (> 2.3.0)
6
6
  json
7
7
  rest-client
data/README.md CHANGED
@@ -1,6 +1,39 @@
1
1
  viddler-ruby
2
2
  ============
3
3
 
4
+ viddler-ruby is the officially supported gem for [Viddler's V2 API](http://developers.viddler.com/documentation/api-v2/).
5
+
6
+ Installation
7
+ ------------
8
+
9
+ $ gem install viddler-ruby
10
+
11
+ ### Rails 2
12
+
13
+ Add the following to your `config/environment.rb`:
14
+
15
+ config.gem 'viddler-ruby'
16
+
17
+ Make sure to run `rake gems:install` afterwards.
18
+
19
+ ### Rails 3 and Bundler
20
+
21
+ Add the following to your Gemfile:
22
+
23
+ gem 'viddler-ruby'
24
+
25
+ Make sure to run `bundle install` afterwards
26
+
27
+ ### Other
28
+
29
+ To use in a regular Ruby project:
30
+
31
+ require 'rubygems'
32
+ require 'viddler-ruby'
33
+
34
+ Usage
35
+ -----
36
+
4
37
  viddler-ruby provides a simple interface to [Viddler](http://viddler.com)'s API. To use, just instantiate an instance of Viddler::Client and call the `#get` and `#post` methods. For example, to get the details of a video:
5
38
 
6
39
  viddler = Viddler::Client.new('your api key')
@@ -9,9 +42,10 @@ viddler-ruby provides a simple interface to [Viddler](http://viddler.com)'s API.
9
42
  puts video['title'] # => "My video"
10
43
  puts video['id'] # => "abc123"
11
44
 
12
- For an authenticated client, just pass a username and password:
45
+ For an authenticated client, just call `authenticate!` on the client:
13
46
 
14
- viddler = Viddler::Client.new('your api key', 'username', 'password')
47
+ viddler = Viddler::Client.new('your api key')
48
+ viddler.authenticate! 'username', 'password'
15
49
 
16
50
  Then, any calls made on `viddler` will be done using the correct session id.
17
51
 
@@ -117,6 +117,9 @@ module Viddler
117
117
  # Returns a Hash containing the API response.
118
118
  # Raises ApiException if an error is returned from the API
119
119
  def upload(file, arguments)
120
+ # Call prepareUpload first, to get upload endpoint
121
+ endpoint = get('viddler.videos.prepareUpload')["upload"]["endpoint"]
122
+
120
123
  # Need to use OrderedHash, because the API needs the file argument last
121
124
  ordered_arguments = ActiveSupport::OrderedHash.new
122
125
 
@@ -126,7 +129,7 @@ module Viddler
126
129
  ordered_arguments[:sessionid] = sessionid
127
130
  ordered_arguments[:file] = file
128
131
 
129
- JSON.parse RestClient.post(DEFAULT_ENDPOINT + 'viddler.videos.upload.json', ordered_arguments)
132
+ JSON.parse RestClient.post(endpoint, ordered_arguments)
130
133
  end
131
134
  end
132
135
  end
@@ -1,3 +1,3 @@
1
1
  module Viddler
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/spec/client_spec.rb CHANGED
@@ -120,13 +120,19 @@ describe Viddler::Client, "#upload" do
120
120
  before(:each) do
121
121
  @client = Viddler::Client.new('abc123')
122
122
  @file = mock(File)
123
-
124
123
  @client.sessionid = 'mysess'
124
+
125
125
  RestClient.stub!(:post).and_return('{"response":["hello","howdy"]}')
126
+ @client.stub!(:get).and_return({"upload" => {"endpoint" => "http://upload.viddler.com/upload.json"}})
127
+ end
128
+
129
+ it "calls get with viddler.videos.prepareUpload" do
130
+ @client.should_receive(:get).with('viddler.videos.prepareUpload')
131
+ @client.upload @file, :param1 => 'asdf', :param2 => true
126
132
  end
127
133
 
128
- it "calls RestClient.post with params and file" do
129
- RestClient.should_receive(:post).with('http://api.viddler.com/api/v2/viddler.videos.upload.json', hash_including(:param1 => 'asdf', :param2 => true, :file => @file))
134
+ it "calls RestClient.post with endpoint, params, and file" do
135
+ RestClient.should_receive(:post).with('http://upload.viddler.com/upload.json', hash_including(:param1 => 'asdf', :param2 => true, :file => @file))
130
136
  @client.upload @file, :param1 => 'asdf', :param2 => true
131
137
  end
132
138
 
data/spec/spec_helper.rb CHANGED
@@ -3,4 +3,4 @@ require 'rspec'
3
3
  require 'rspec/autorun'
4
4
 
5
5
  $LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
6
- require 'viddler'
6
+ require 'viddler-ruby'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: viddler-ruby
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Kyle Slattery