vj-sdk 0.7.1 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- :build:
3
2
  :major: 0
3
+ :build:
4
4
  :minor: 7
5
- :patch: 1
5
+ :patch: 2
@@ -2,6 +2,11 @@ module Videojuicer
2
2
  module Asset
3
3
  def self.all(options = {})
4
4
  proxy = Videojuicer::OAuth::RequestProxy.new(Videojuicer.current_scope)
5
+
6
+ if options[:page]
7
+ options[:offset] = Videojuicer::Resource::Collection.limit_from_page_number options.delete(:page), options[:limit]
8
+ end
9
+
5
10
  response = proxy.get("/assets", "asset" => options)
6
11
  items, count, offset, limit = JSON.parse(response.body).values_at("items", "count", "offset", "limit")
7
12
  assets = items.map { |i| const_get(i.delete("type").capitalize).new(i) }
@@ -21,6 +21,11 @@ module Videojuicer
21
21
  self.limit = limit
22
22
  end
23
23
 
24
+ def self.limit_from_page_number page, limit
25
+ return 0 if page == 1
26
+ (page - 1) * limit
27
+ end
28
+
24
29
  def page_count
25
30
  return 1 if limit.nil? or total.nil? or total < 1
26
31
  (total.to_f/limit.to_f).ceil
data/spec/asset_spec.rb CHANGED
@@ -27,7 +27,7 @@ describe Videojuicer::Asset do
27
27
  end
28
28
 
29
29
  it "should paginate" do
30
- @assets = @klass.all(:offset => 19, :limit => 10)
30
+ @assets = @klass.all(:limit => 10, :page => 2)
31
31
  @assets.page_count.should > 2
32
32
  @assets.page_number.should == 2
33
33
  @assets.length.should == 10
@@ -38,4 +38,15 @@ describe Videojuicer::Resource::Collection do
38
38
  collection.page_number.should == 1
39
39
  end
40
40
 
41
+ it "provides a correct offset for a page number and limit when the page is 1" do
42
+ offset = Videojuicer::Resource::Collection.limit_from_page_number 1, 20
43
+ offset.should == 0
44
+ end
45
+
46
+ it "should provide a correct offset" do
47
+ offset = Videojuicer::Resource::Collection.limit_from_page_number 2, 20
48
+ offset.should == 20
49
+ end
50
+
51
+
41
52
  end
data/vj-sdk.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{vj-sdk}
8
- s.version = "0.7.1"
8
+ s.version = "0.7.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["danski", "thejohnny", "knowtheory", "sixones", "btab", "lamp"]
12
- s.date = %q{2011-01-10}
12
+ s.date = %q{2011-01-11}
13
13
  s.email = %q{dan@videojuicer.com}
14
14
  s.extra_rdoc_files = [
15
15
  "LICENSE",
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vj-sdk
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
4
+ hash: 7
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 7
9
- - 1
10
- version: 0.7.1
9
+ - 2
10
+ version: 0.7.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - danski
@@ -20,7 +20,7 @@ autorequire:
20
20
  bindir: bin
21
21
  cert_chain: []
22
22
 
23
- date: 2011-01-10 00:00:00 +00:00
23
+ date: 2011-01-11 00:00:00 +00:00
24
24
  default_executable:
25
25
  dependencies:
26
26
  - !ruby/object:Gem::Dependency