zanox 0.2.5 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,17 @@
1
+ source "http://rubygems.org"
2
+ # Add dependencies required to use your gem here.
3
+ # Example:
4
+ # gem "activesupport", ">= 2.3.5"
5
+
6
+ gem 'ruby-hmac'
7
+ gem 'soap4r'
8
+
9
+
10
+ # Add dependencies to develop your gem here.
11
+ # Include everything needed to run rake, tests, features, etc.
12
+ group :development do
13
+ gem 'shoulda'
14
+ gem "bundler", "~> 1.0.0"
15
+ gem "jeweler", "~> 1.5.2"
16
+ gem "rcov", ">= 0"
17
+ end
@@ -0,0 +1,26 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ git (1.2.5)
5
+ httpclient (2.1.6.1)
6
+ jeweler (1.5.2)
7
+ bundler (~> 1.0.0)
8
+ git (>= 1.2.5)
9
+ rake
10
+ rake (0.8.7)
11
+ rcov (0.9.9)
12
+ ruby-hmac (0.4.0)
13
+ shoulda (2.11.3)
14
+ soap4r (1.5.8)
15
+ httpclient (>= 2.1.1)
16
+
17
+ PLATFORMS
18
+ ruby
19
+
20
+ DEPENDENCIES
21
+ bundler (~> 1.0.0)
22
+ jeweler (~> 1.5.2)
23
+ rcov
24
+ ruby-hmac
25
+ shoulda
26
+ soap4r
@@ -3,12 +3,12 @@ h1. zanox
3
3
  by Krispin Schulz
4
4
 
5
5
  The zanox gem is the ruby way to use the zanox API.
6
- It is a coherent wrapper for the zanox Publisher web services and you can use resources like
6
+ It is a wrapper for the zanox Publisher web services and you can use resources like
7
7
  models in ActiveRecord.
8
8
 
9
9
  h2. Getting started
10
10
 
11
- * Install the gem
11
+ * Install the gem <pre><code>gem install zanox</code></pre>
12
12
  * Learn its usage with the examples below
13
13
  * Create shiny ruby apps with it
14
14
 
@@ -17,11 +17,13 @@ h2. Features
17
17
  Supported zanox API methods:
18
18
 
19
19
  |*zanox API method*|*the ruby way*|
20
- | getProgram | Zanox::Program.find('the program id here') |
21
- | getProgramsByAdspace | Zanox::Program.find(:adspaceId => 'your adspace id here') |
20
+ | getAdspaces | Zanox::Adspace.find(:all) |
21
+ | getAdspace | Zanox::Adspace.find('adspace id here') |
22
+ | getProgram | Zanox::Program.find('program id here') |
23
+ | getProgramsByAdspace | Zanox::Program.find(:adspaceId => 'adspace id here') |
22
24
  | searchPrograms | Zanox::Program.find('amazon', :region=>'de') |
23
- | getProduct | Zanox::Product.find('the zupid of the product here') |
24
- | getProducts | Zanox::Product.find(:programId=>'program id is required here', :adspaceId=>'your adspace id here') |
25
+ | getProduct | Zanox::Product.find('zupid of the product here') |
26
+ | getProducts | Zanox::Product.find(:programId=>'program id is required here', :adspaceId=>'adspace id here') |
25
27
  | searchProducts | Zanox::Product.find('ipad', :region=>'de', :programId=>'a program id here') |
26
28
  | getSales | Zanox::Sale.find(:date=>'2010-03-02T00:00:00', :dateType=>'trackingDate') |
27
29
 
@@ -31,8 +33,16 @@ h2. Examples
31
33
  require 'rubygems'
32
34
  require 'zanox'
33
35
 
34
- # first authenticate with your zanox connect id
35
- Zanox::API.authenticate('26EE1314AEA84BB7C9FC')
36
+ # first fill in your zanox Application credentials
37
+ Zanox::API.authorize("your public key", "your secret key")
38
+
39
+ # you can get a new Session by passing an auth token that
40
+ # will be in the callback url after the
41
+ # successful login of a zanox Publisher
42
+ # e.g. Zanox::API::Session.new("fill in the parameter 'authtoken'")
43
+
44
+ # or use an offline token to retrieve a valid zanox Session
45
+ Zanox::API::Session.offline("fill in the offline token of a Publisher")
36
46
 
37
47
  # request products as easy as hell
38
48
  Zanox::Product.find('ipod').each do |product|
data/Rakefile CHANGED
@@ -1,72 +1,53 @@
1
- require 'rbconfig'
2
- include Config
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'rake'
3
11
 
4
- task :default => [:test]
12
+ require 'jeweler'
13
+ Jeweler::Tasks.new do |gem|
14
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15
+ gem.name = "zanox"
16
+ gem.homepage = "http://github.com/kr1sp1n/zanox"
17
+ gem.license = "CC"
18
+ gem.summary = %Q{One gem to rule the zanox API.}
19
+ gem.description = %Q{The easy way to the zanox web services.}
20
+ gem.email = "krispinone@googlemail.com"
21
+ gem.authors = ["Krispin Schulz", "Tobias Schlottke"]
22
+ # Include your dependencies below. Runtime dependencies are required when using your gem,
23
+ # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
24
+ gem.add_runtime_dependency 'ruby-hmac'
25
+ gem.add_runtime_dependency 'soap4r'
26
+ end
27
+ Jeweler::RubygemsDotOrgTasks.new
5
28
 
6
- case CONFIG['host_os']
7
- when /mswin|windows/i
8
- # Windows
9
- $windows = true
10
- when /linux/i
11
- # Linux
12
- $linux = true
13
- when /sunos|solaris/i
14
- # Solaris
15
- $solaris = true
16
- else
17
- # Whatever
18
- $mac = true
29
+ require 'rake/testtask'
30
+ Rake::TestTask.new(:test) do |test|
31
+ test.libs << 'lib' << 'test'
32
+ test.pattern = 'test/**/test_*.rb'
33
+ test.verbose = true
19
34
  end
20
-
21
- $gem_name = "zanox"
22
-
23
- desc "Test the library"
24
- task :test do
25
- ruby Dir.glob("test/*")
26
- end
27
-
28
- desc "Run specs"
29
- task :spec do
30
- sh "spec spec/* --format specdoc --color"
31
- end
32
-
33
- desc "Build the gem"
34
- task :build do
35
- sh "gem build #$gem_name.gemspec"
36
- if windows?
37
- sh "move /Y *.gem ./pkg"
38
- else
39
- sh "mv #$gem_name*.gem ./pkg"
40
- end
41
- end
42
-
43
- desc "Install the library at local machine"
44
- task :install => :build do
45
- if windows?
46
- sh "gem install ./pkg/#$gem_name -l"
47
- else
48
- sh "sudo gem install ./pkg/#$gem_name -l"
49
- end
50
- end
51
-
52
- desc "Uninstall the library from local machine"
53
- task :uninstall do
54
- if windows?
55
- sh "gem uninstall #$gem_name"
56
- else
57
- sh "sudo gem uninstall #$gem_name"
58
- end
59
- end
60
-
61
- desc "Reinstall the library in the local machine"
62
- task :reinstall => [:uninstall, :install] do
63
- end
64
-
65
- desc "Clean"
66
- task :clean do
67
- # sh "rm #$gem_name*.gem"
35
+
36
+ require 'rcov/rcovtask'
37
+ Rcov::RcovTask.new do |test|
38
+ test.libs << 'test'
39
+ test.pattern = 'test/**/test_*.rb'
40
+ test.verbose = true
68
41
  end
69
42
 
70
- def windows?
71
- !!$windows
72
- end
43
+ task :default => :test
44
+
45
+ require 'rake/rdoctask'
46
+ Rake::RDocTask.new do |rdoc|
47
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
48
+
49
+ rdoc.rdoc_dir = 'rdoc'
50
+ rdoc.title = "zanox #{version}"
51
+ rdoc.rdoc_files.include('README*')
52
+ rdoc.rdoc_files.include('lib/**/*.rb')
53
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.2.7
@@ -0,0 +1,87 @@
1
+ require File.join(File.dirname(__FILE__),"..","lib","zanox.rb")
2
+
3
+ Zanox::API.authenticate('your connect id here', 'your secret key here')
4
+
5
+ def show(items, *args)
6
+ puts "\nFound items: "+items.size.to_s+"\n"
7
+ items.each do |item|
8
+ line = ""
9
+ args.each do |arg|
10
+ if(arg.is_a?(Symbol))
11
+ if(item.respond_to?(arg))
12
+ line.concat(item.method(arg).call)
13
+ end
14
+ elsif(arg.is_a?(String))
15
+ line.concat(arg)
16
+ end
17
+ end
18
+ puts line
19
+ end
20
+ end
21
+
22
+ # PRODUCTS #
23
+ ############
24
+
25
+ # find products by keywords
26
+ products = Zanox::Product.find('ipod')
27
+ show products, "Product ", :id, "\t\"", :name, "\" - ", :price, " ", :currency
28
+ # or find specific product by id
29
+ product_id = products[0].id
30
+ products = Zanox::Product.find(product_id)
31
+ show products, "Product ", :id, "\t\"", :name, "\" - ", :price, " ", :currency
32
+
33
+ # ADSPACES #
34
+ ############
35
+
36
+ # find all your Adspaces
37
+ adspaces = Zanox::Adspace.find(:all)
38
+ show adspaces, "Adspace ", :id, "\t\"", :name, "\""
39
+
40
+ # or find specific Adspace by id
41
+ adspace_id = adspaces[0].id
42
+ adspaces = Zanox::Adspace.find(adspace_id)
43
+ show adspaces, "Adspace ", :id, "\t\"", :name, "\""
44
+
45
+ # PROGRAMS #
46
+ ############
47
+
48
+ # find zanox programs by keywords
49
+ programs = Zanox::Program.find('amazon')
50
+ show programs, "Program ", :id, "\t\"", :name, "\""
51
+
52
+ # or find specific zanox programs by id
53
+ program_id = programs[0].id
54
+ programs = Zanox::Program.find(program_id)
55
+ show programs, "Program ", :id, "\t\"", :name, "\""
56
+
57
+ # or find programs that are registered with one of your Adspaces
58
+ programs = Zanox::Program.find(:adspaceId => adspace_id)
59
+ show programs, "Program ", :id, "\t\"", :name, "\""
60
+
61
+ # SALES #
62
+ #########
63
+
64
+ puts "\nSALES"
65
+ # find a sale by date
66
+ date = "2010-03-02T00:00:00"
67
+ sales = Zanox::Sale.find(:date=>date, :dateType=>'trackingDate')
68
+ show sales, "Sale ", :id, " ", :commission, " EUR - ", :reviewState
69
+
70
+ # get zpar
71
+ sales[0].gpps.gpp.each do |gpp|
72
+ puts gpp.xmlattr_id + " = " + gpp
73
+ end
74
+
75
+ # MEDIASLOTS #
76
+ ##############
77
+
78
+ # find all your MediaSlots
79
+ mediaslots = Zanox::MediaSlot.find(:all, :items=>99)
80
+ show mediaslots, "MediaSlot ", :id, " \"", :name, "\""
81
+ # or find a specific MediaSlot
82
+ mediaslot_id = mediaslots[0].id
83
+ mediaslots = Zanox::MediaSlot.find(mediaslot_id)
84
+ show mediaslots, "MediaSlot ", :id, " \"", :name, "\""
85
+ # or find Mediaslots by adspace id
86
+ mediaslots = Zanox::MediaSlot.find(:adspaceId=>adspace_id, :items=>99)
87
+ show mediaslots, "MediaSlot ", :id, " \"", :name, "\""
@@ -42,9 +42,7 @@ module Zanox
42
42
  end
43
43
 
44
44
  def self.generate_nonce
45
- mt = Time.new.usec
46
- rand = rand()
47
- Digest::MD5.hexdigest((mt + rand).to_s)
45
+ Digest::MD5.hexdigest((Time.new.usec + rand()).to_s)
48
46
  end
49
47
 
50
48
  def self.get_timestamp
@@ -52,7 +50,7 @@ module Zanox
52
50
  end
53
51
 
54
52
  def self.create_signature(secret_key, string2sign)
55
- signature = Base64.encode64(HMAC::SHA1.new(secret_key).update(string2sign).digest)[0..-2]
53
+ Base64.encode64(HMAC::SHA1.new(secret_key).update(string2sign).digest)[0..-2]
56
54
  end
57
55
 
58
56
  def self.authorize(public_key, secret_key)
@@ -62,10 +60,7 @@ module Zanox
62
60
  end
63
61
 
64
62
  def self.authenticate(connect_id, secret_key=nil)
65
- #todo: real session request with connect flow
66
- @connect_id = connect_id
67
- @secret_key = secret_key
68
- true
63
+ raise 'Zanox::API.authenticate(connect_id, secret_key) is no longer supported. Please use Zanox::API.authorize("your public key", "your secret key") instead.'
69
64
  end
70
65
 
71
66
  module Session
@@ -0,0 +1,26 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'test/unit'
11
+ require 'shoulda'
12
+
13
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
15
+ require 'zanox'
16
+
17
+ class Test::Unit::TestCase
18
+ def setup
19
+ Zanox::API.authorize("your app's public key", "your app's secret key")
20
+ Zanox::API::Session.offline("a zanox Publisher's offline token")
21
+ # or use Zanox::API::Session.new("a zanox Connect authtoken")
22
+ #
23
+ # please configure Puplisher specific constants in test_zanox.rb to make the tests runnable
24
+ #
25
+ end
26
+ end
@@ -0,0 +1,70 @@
1
+ require 'helper'
2
+
3
+ class TestZanoxConnect < Test::Unit::TestCase
4
+ should "get a new offline session" do
5
+ TEST_CONNECT_ID = "668189244D19BABF75AC"
6
+ assert_equal(TEST_CONNECT_ID, Zanox::API::Session.connect_id)
7
+ end
8
+ end
9
+
10
+ class TestZanoxProfile < Test::Unit::TestCase
11
+ should "find the users profile" do
12
+ TEST_FIRSTNAME = "Krispin"
13
+ assert_equal(1, Zanox::Profile.find.size)
14
+ assert_equal(TEST_FIRSTNAME, Zanox::Profile.find[0].firstName)
15
+ end
16
+ end
17
+
18
+ class TestZanoxAdspace < Test::Unit::TestCase
19
+ TEST_ADSPACE_ID = "99501"
20
+
21
+ should "find all user's Adspaces" do
22
+ assert(Zanox::Adspace.find(:all).size >= 1)
23
+ end
24
+ should "find the Publisher's Adspace by an id" do
25
+ assert_equal(1, Zanox::Adspace.find(TEST_ADSPACE_ID).size)
26
+ end
27
+ end
28
+
29
+ class TestZanoxProduct < Test::Unit::TestCase
30
+ TEST_PRODUCT_QUERY = "ipod"
31
+ TEST_PRODUCT_ID = "afdd090e0ee25e796e5146f6fcd7b15e"
32
+
33
+ should "find products by a keyword" do
34
+ assert(Zanox::Product.find(TEST_PRODUCT_QUERY).size >= 1)
35
+ end
36
+
37
+ should "find a specific product by its id" do
38
+ assert_equal(1, Zanox::Product.find(TEST_PRODUCT_ID).size)
39
+ end
40
+ end
41
+
42
+ class TestZanoxProgram < Test::Unit::TestCase
43
+ TEST_PROGRAM_QUERY = "Amazon"
44
+ TEST_PROGRAM_ID = "1648"
45
+ TEST_ADSPACE_ID = "99501"
46
+
47
+ should "find programs by a keyword" do
48
+ assert(Zanox::Program.find(TEST_PROGRAM_QUERY).size >= 1)
49
+ end
50
+
51
+ should "find a specific program by its id" do
52
+ assert_equal(1, Zanox::Program.find(TEST_PROGRAM_ID).size)
53
+ end
54
+
55
+ should "find programs by an adspace" do
56
+ assert(Zanox::Program.find(:adspaceId=>TEST_ADSPACE_ID).size >= 1)
57
+ end
58
+ end
59
+
60
+ class TestZanoxSale < Test::Unit::TestCase
61
+ TEST_SALE_ID = "92ba89e7-b229-4933-857c-e307c0291856"
62
+ TEST_DATE = "2010-03-02T00:00:00"
63
+
64
+ should "find all sales for a given date" do
65
+ assert(Zanox::Sale.find(:date=>TEST_DATE, :dateType=>'trackingDate').size.should >= 1)
66
+ end
67
+ should "find a sale by its id" do
68
+ assert_equal(1, Zanox::Sale.find(TEST_SALE_ID).size)
69
+ end
70
+ end
@@ -1,36 +1,74 @@
1
- # require 'rubygems'
2
- # require 'rubygems/gem_runner'
3
- # #Gem.manage_gems
4
- # require 'rake/gempackagetask'
5
- require 'rubygems'
6
- require 'rake'
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
7
5
 
8
- spec = Gem::Specification.new do |s|
9
- s.platform = Gem::Platform::RUBY
10
- s.name = %q{zanox}
11
- s.version = "0.2.5"
12
- s.authors = ["Krispin Schulz"]
13
- s.homepage = %q{http://github.com/kr1sp1n/zanox}
14
- s.date = Time.now.strftime("%Y-%m-%d")
15
- s.email = %q{krispinone@googlemail.com}
16
- s.summary = %q{One gem to rule the zanox API.}
17
- s.description = %q{The easy way to the zanox API.}
18
- s.files = FileList['Rakefile', 'zanox.gemspec', 'README.textile', 'lib/**/*', 'test/*', 'spec/*'].to_a
19
- s.require_paths = ["lib"]
20
- s.rubygems_version = %q{1.3.5}
21
- s.test_files = Dir.glob("{test, spec}/**/*")
22
- # include README while generating rdoc
23
- s.rdoc_options = ["--main", "README.textile"]
24
- s.has_rdoc = true
25
- s.extra_rdoc_files = ["README.textile"]
26
- s.add_dependency("soap4r",">=1.5.8")
27
- s.add_dependency("ruby-hmac", ">=0.4.0")
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{zanox}
8
+ s.version = "0.2.7"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Krispin Schulz", "Tobias Schlottke"]
12
+ s.date = %q{2011-02-16}
13
+ s.description = %q{The easy way to the zanox web services.}
14
+ s.email = %q{krispinone@googlemail.com}
15
+ s.extra_rdoc_files = [
16
+ "README.textile"
17
+ ]
18
+ s.files = [
19
+ "Gemfile",
20
+ "Gemfile.lock",
21
+ "README.textile",
22
+ "Rakefile",
23
+ "VERSION",
24
+ "examples/simple.rb",
25
+ "lib/zanox.rb",
26
+ "test/helper.rb",
27
+ "test/test_zanox.rb",
28
+ "zanox.gemspec"
29
+ ]
30
+ s.homepage = %q{http://github.com/kr1sp1n/zanox}
31
+ s.licenses = ["CC"]
32
+ s.require_paths = ["lib"]
33
+ s.rubygems_version = %q{1.4.1}
34
+ s.summary = %q{One gem to rule the zanox API.}
35
+ s.test_files = [
36
+ "examples/simple.rb",
37
+ "test/helper.rb",
38
+ "test/test_zanox.rb"
39
+ ]
40
+
41
+ if s.respond_to? :specification_version then
42
+ s.specification_version = 3
43
+
44
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
45
+ s.add_runtime_dependency(%q<ruby-hmac>, [">= 0"])
46
+ s.add_runtime_dependency(%q<soap4r>, [">= 0"])
47
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
48
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
49
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
50
+ s.add_development_dependency(%q<rcov>, [">= 0"])
51
+ s.add_runtime_dependency(%q<ruby-hmac>, [">= 0"])
52
+ s.add_runtime_dependency(%q<soap4r>, [">= 0"])
53
+ else
54
+ s.add_dependency(%q<ruby-hmac>, [">= 0"])
55
+ s.add_dependency(%q<soap4r>, [">= 0"])
56
+ s.add_dependency(%q<shoulda>, [">= 0"])
57
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
58
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
59
+ s.add_dependency(%q<rcov>, [">= 0"])
60
+ s.add_dependency(%q<ruby-hmac>, [">= 0"])
61
+ s.add_dependency(%q<soap4r>, [">= 0"])
62
+ end
63
+ else
64
+ s.add_dependency(%q<ruby-hmac>, [">= 0"])
65
+ s.add_dependency(%q<soap4r>, [">= 0"])
66
+ s.add_dependency(%q<shoulda>, [">= 0"])
67
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
68
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
69
+ s.add_dependency(%q<rcov>, [">= 0"])
70
+ s.add_dependency(%q<ruby-hmac>, [">= 0"])
71
+ s.add_dependency(%q<soap4r>, [">= 0"])
72
+ end
28
73
  end
29
74
 
30
- # Rake::GemPackageTask.new(spec) do |pkg|
31
- # pkg.need_tar = true
32
- # end
33
- #
34
- # task :default => "pkg/#{spec.name}-#{spec.version}.gem" do
35
- # puts "generated latest version"
36
- # end
metadata CHANGED
@@ -1,56 +1,141 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zanox
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 5
10
- version: 0.2.5
9
+ - 7
10
+ version: 0.2.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - Krispin Schulz
14
+ - Tobias Schlottke
14
15
  autorequire:
15
16
  bindir: bin
16
17
  cert_chain: []
17
18
 
18
- date: 2011-02-15 00:00:00 +01:00
19
+ date: 2011-02-16 00:00:00 +01:00
19
20
  default_executable:
20
21
  dependencies:
21
22
  - !ruby/object:Gem::Dependency
22
- name: soap4r
23
+ type: :runtime
24
+ version_requirements: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ requirement: *id001
23
34
  prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
35
+ name: ruby-hmac
36
+ - !ruby/object:Gem::Dependency
37
+ type: :runtime
38
+ version_requirements: &id002 !ruby/object:Gem::Requirement
25
39
  none: false
26
40
  requirements:
27
41
  - - ">="
28
42
  - !ruby/object:Gem::Version
29
- hash: 19
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
47
+ requirement: *id002
48
+ prerelease: false
49
+ name: soap4r
50
+ - !ruby/object:Gem::Dependency
51
+ type: :development
52
+ version_requirements: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ hash: 3
58
+ segments:
59
+ - 0
60
+ version: "0"
61
+ requirement: *id003
62
+ prerelease: false
63
+ name: shoulda
64
+ - !ruby/object:Gem::Dependency
65
+ type: :development
66
+ version_requirements: &id004 !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ~>
70
+ - !ruby/object:Gem::Version
71
+ hash: 23
30
72
  segments:
31
73
  - 1
32
- - 5
33
- - 8
34
- version: 1.5.8
35
- type: :runtime
36
- version_requirements: *id001
74
+ - 0
75
+ - 0
76
+ version: 1.0.0
77
+ requirement: *id004
78
+ prerelease: false
79
+ name: bundler
37
80
  - !ruby/object:Gem::Dependency
38
- name: ruby-hmac
81
+ type: :development
82
+ version_requirements: &id005 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ hash: 7
88
+ segments:
89
+ - 1
90
+ - 5
91
+ - 2
92
+ version: 1.5.2
93
+ requirement: *id005
39
94
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
95
+ name: jeweler
96
+ - !ruby/object:Gem::Dependency
97
+ type: :development
98
+ version_requirements: &id006 !ruby/object:Gem::Requirement
41
99
  none: false
42
100
  requirements:
43
101
  - - ">="
44
102
  - !ruby/object:Gem::Version
45
- hash: 15
103
+ hash: 3
46
104
  segments:
47
105
  - 0
48
- - 4
106
+ version: "0"
107
+ requirement: *id006
108
+ prerelease: false
109
+ name: rcov
110
+ - !ruby/object:Gem::Dependency
111
+ type: :runtime
112
+ version_requirements: &id007 !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ hash: 3
118
+ segments:
49
119
  - 0
50
- version: 0.4.0
120
+ version: "0"
121
+ requirement: *id007
122
+ prerelease: false
123
+ name: ruby-hmac
124
+ - !ruby/object:Gem::Dependency
51
125
  type: :runtime
52
- version_requirements: *id002
53
- description: The easy way to the zanox API.
126
+ version_requirements: &id008 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ hash: 3
132
+ segments:
133
+ - 0
134
+ version: "0"
135
+ requirement: *id008
136
+ prerelease: false
137
+ name: soap4r
138
+ description: The easy way to the zanox web services.
54
139
  email: krispinone@googlemail.com
55
140
  executables: []
56
141
 
@@ -59,20 +144,23 @@ extensions: []
59
144
  extra_rdoc_files:
60
145
  - README.textile
61
146
  files:
62
- - Rakefile
63
- - zanox.gemspec
147
+ - Gemfile
148
+ - Gemfile.lock
64
149
  - README.textile
150
+ - Rakefile
151
+ - VERSION
152
+ - examples/simple.rb
65
153
  - lib/zanox.rb
66
- - test/zanox_tests.rb
67
- - spec/zanox_specs.rb
154
+ - test/helper.rb
155
+ - test/test_zanox.rb
156
+ - zanox.gemspec
68
157
  has_rdoc: true
69
158
  homepage: http://github.com/kr1sp1n/zanox
70
- licenses: []
71
-
159
+ licenses:
160
+ - CC
72
161
  post_install_message:
73
- rdoc_options:
74
- - --main
75
- - README.textile
162
+ rdoc_options: []
163
+
76
164
  require_paths:
77
165
  - lib
78
166
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -101,4 +189,6 @@ signing_key:
101
189
  specification_version: 3
102
190
  summary: One gem to rule the zanox API.
103
191
  test_files:
104
- - test/zanox_tests.rb
192
+ - examples/simple.rb
193
+ - test/helper.rb
194
+ - test/test_zanox.rb
@@ -1,90 +0,0 @@
1
- require File.join(File.dirname(__FILE__),"..","lib","zanox.rb")
2
-
3
- describe Zanox::API do
4
-
5
- TEST_PUBLIC_KEY = "your public key here"
6
- TEST_SECRET_KEY = "your secret key here"
7
-
8
- before(:all) do
9
- end
10
-
11
- it "should authorize a developer's application" do
12
- Zanox::API.authorize(TEST_PUBLIC_KEY, TEST_SECRET_KEY).should == true
13
- end
14
- end
15
-
16
- describe Zanox::API::Session do
17
- it "should get a new session" do
18
- TEST_AUTH_TOKEN = "your auth token here"
19
- Zanox::API::Session.new(TEST_AUTH_TOKEN).should == true
20
- end
21
- it "should get a new offline session" do
22
- TEST_OFFLINE_TOKEN = "your offline token here"
23
- TEST_CONNECT_ID = "publisher connect id here"
24
- Zanox::API::Session.offline(TEST_OFFLINE_TOKEN)
25
- Zanox::API::Session.connect_id.should == TEST_CONNECT_ID
26
- end
27
- end
28
-
29
- describe Zanox::Profile do
30
- it "should find the users profile" do
31
- Zanox::Profile.find.size.should == 1
32
- end
33
- end
34
-
35
- describe Zanox::Product do
36
- # Product.find
37
- TEST_PRODUCT_QUERY = "ipod"
38
- TEST_PRODUCT_ID = "afdd090e0ee25e796e5146f6fcd7b15e"
39
-
40
- it "should find products by a keyword" do
41
- Zanox::Product.find(TEST_PRODUCT_QUERY).size.should >= 1
42
- end
43
-
44
- it "should find a specific product by its id" do
45
- Zanox::Product.find(TEST_PRODUCT_ID).size.should == 1
46
- end
47
- end
48
-
49
- describe Zanox::Program do
50
- # Program.find
51
- TEST_PROGRAM_QUERY = "Amazon"
52
- TEST_PROGRAM_ID = "1648"
53
- TEST_ADSPACE_ID = "1289612"
54
-
55
- it "should find programs by a keyword" do
56
- Zanox::Program.find(TEST_PROGRAM_QUERY).size.should >= 1
57
- end
58
-
59
- it "should find a specific program by its id" do
60
- Zanox::Program.find(TEST_PROGRAM_ID).size.should == 1
61
- end
62
-
63
- it "should find programs by an adspace" do
64
- Zanox::Program.find(:adspaceId=>TEST_ADSPACE_ID).size.should >= 1
65
- end
66
- end
67
-
68
- describe Zanox::Adspace do
69
- # Adspace.find
70
- TEST_ADSPACE_ID = "99501"
71
-
72
- it "should find all user's Adspaces" do
73
- Zanox::Adspace.find(:all).size.should >=1
74
- end
75
- it "should find the users Adspace by an id" do
76
- Zanox::Adspace.find(TEST_ADSPACE_ID).size.should == 1
77
- end
78
- end
79
-
80
- describe Zanox::Sale do
81
- # Sale.find
82
- TEST_SALE_ID = "92ba89e7-b229-4933-857c-e307c0291856"
83
- TEST_DATE = "2010-03-02T00:00:00"
84
- it "should find all sales for a given date" do
85
- Zanox::Sale.find(:date=>TEST_DATE, :dateType=>'trackingDate').size.should >=1
86
- end
87
- it "should find a sale by its id" do
88
- Zanox::Sale.find(TEST_SALE_ID).size.should == 1
89
- end
90
- end
@@ -1,12 +0,0 @@
1
- require File.join(File.dirname(__FILE__),"..","lib","zanox")
2
- require 'test/unit'
3
-
4
- class ZanoxTest < Test::Unit::TestCase
5
-
6
- def setup
7
- end
8
-
9
- def test_api_version_not_empty
10
- end
11
-
12
- end