copyscape 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,3 +1,3 @@
1
1
  pkg/
2
2
  .DS_store
3
-
3
+ .rbenv-version
data/Gemfile.lock CHANGED
@@ -1,18 +1,20 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- copyscape (0.0.1)
5
- httparty (= 0.7.7)
4
+ copyscape (0.0.3)
5
+ httparty (>= 0.8.1)
6
6
  nokogiri (= 1.4.1)
7
7
 
8
8
  GEM
9
9
  remote: http://rubygems.org/
10
10
  specs:
11
- crack (0.1.8)
12
- httparty (0.7.7)
13
- crack (= 0.1.8)
11
+ httparty (0.10.0)
12
+ multi_json (~> 1.0)
13
+ multi_xml
14
14
  mocha (0.9.8)
15
15
  rake
16
+ multi_json (1.5.0)
17
+ multi_xml (0.5.2)
16
18
  nokogiri (1.4.1)
17
19
  rake (0.8.7)
18
20
  shoulda-context (1.0.0.beta1)
data/copyscape.gemspec CHANGED
@@ -1,9 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  require File.expand_path("../lib/copyscape/version", __FILE__)
3
3
 
4
- # Nasty work around to keep the dependencies in Syck
5
- YAML::ENGINE.yamler = 'syck'
6
-
7
4
  Gem::Specification.new do |s|
8
5
  s.name = "copyscape"
9
6
  s.version = Copyscape::Version
@@ -22,7 +19,7 @@ Gem::Specification.new do |s|
22
19
  s.require_path = 'lib'
23
20
 
24
21
  s.add_dependency("nokogiri", "1.4.1")
25
- s.add_dependency("httparty", "0.7.7")
22
+ s.add_dependency("httparty", ">= 0.8.1")
26
23
  s.add_development_dependency("rake", "0.8.7")
27
24
  s.add_development_dependency("shoulda-context")
28
25
  s.add_development_dependency("mocha")
data/lib/copyscape.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'copyscape/response'
2
2
  require 'copyscape/url_search'
3
3
  require 'copyscape/text_search'
4
+ require 'copyscape/balance'
4
5
  require 'copyscape/version'
5
6
 
6
7
  module Copyscape
@@ -16,6 +17,10 @@ module Copyscape
16
17
  def text_search(*prms)
17
18
  TextSearch.new(*prms)
18
19
  end
20
+
21
+ def balance(format)
22
+ Balance.new(format)
23
+ end
19
24
 
20
25
  end
21
26
 
@@ -0,0 +1,14 @@
1
+ require 'copyscape/request_base'
2
+
3
+ module Copyscape
4
+
5
+ class Balance < RequestBase
6
+
7
+ def initialize(format = :xml, encoding = 'UTF-8')
8
+ http_response = get_response_balance(format)
9
+ @response = Response.new(http_response)
10
+ end
11
+
12
+ end
13
+
14
+ end
@@ -32,6 +32,10 @@ module Copyscape
32
32
  def post_response(params)
33
33
  self.class.post('/', :body => base_params.merge(params)).body
34
34
  end
35
+
36
+ def get_response_balance(format)
37
+ self.class.get("/?u=#{Copyscape.username}&k=#{Copyscape.api_key}&o=balance&f=#{format.to_s}").body
38
+ end
35
39
 
36
40
  end
37
41
 
@@ -1,4 +1,4 @@
1
1
 
2
2
  module Copyscape
3
- Version = '0.0.4'
3
+ Version = '0.0.5' unless defined?(Version)
4
4
  end
data/test/balance.html ADDED
@@ -0,0 +1 @@
1
+ <html><head><title>Copyscape Premium balance for joe</title></head><body><B>$9.25</B> remaining, <B>185</B> searches remaining, <B>185</B> available today.</body></html>
data/test/balance.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <remaining>
3
+ <value>9.25</value>
4
+ <total>185</total>
5
+ <today>185</today>
6
+ </remaining>
@@ -0,0 +1,38 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+ class BalanceTest < Test::Unit::TestCase
4
+
5
+ context "request balance in xml" do
6
+ setup do
7
+ Copyscape::Balance.expects(:get).once.returns(balance_response_duplicate(:xml))
8
+ @balance = Copyscape::Balance.new(:xml)
9
+ end
10
+
11
+ should "have the correct url" do
12
+ assert_match raw_response_duplicate(:xml), @balance.raw_response
13
+ end
14
+ end
15
+
16
+ context "request balance in html" do
17
+ setup do
18
+ Copyscape::Balance.expects(:get).once.returns(balance_response_duplicate(:html))
19
+ @balance = Copyscape::Balance.new(:html)
20
+ end
21
+
22
+ should "have the correct url" do
23
+ assert_match raw_response_duplicate(:html), @balance.raw_response
24
+ end
25
+ end
26
+
27
+ private
28
+
29
+ def balance_response_duplicate(format)
30
+ o = Object.new
31
+ o.stubs(:body).returns(File.read(File.expand_path("../balance.#{format.to_s}", __FILE__)))
32
+ o
33
+ end
34
+
35
+ def raw_response_duplicate(format)
36
+ balance_response_duplicate(format).body
37
+ end
38
+ end
metadata CHANGED
@@ -1,93 +1,119 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: copyscape
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.4
5
+ version: 0.0.5
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Ben VandenBos
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-07-19 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: bundler
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
19
- none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
12
+ date: 2013-01-26 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ version_requirements: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
23
19
  version: 1.0.0
20
+ none: false
21
+ name: bundler
24
22
  type: :development
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: nokogiri
28
23
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ requirement: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ! '>='
27
+ - !ruby/object:Gem::Version
28
+ version: 1.0.0
30
29
  none: false
31
- requirements:
32
- - - "="
33
- - !ruby/object:Gem::Version
30
+ - !ruby/object:Gem::Dependency
31
+ version_requirements: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - '='
34
+ - !ruby/object:Gem::Version
34
35
  version: 1.4.1
36
+ none: false
37
+ name: nokogiri
35
38
  type: :runtime
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: httparty
39
39
  prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ requirement: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - '='
43
+ - !ruby/object:Gem::Version
44
+ version: 1.4.1
41
45
  none: false
42
- requirements:
43
- - - "="
44
- - !ruby/object:Gem::Version
45
- version: 0.7.7
46
+ - !ruby/object:Gem::Dependency
47
+ version_requirements: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ! '>='
50
+ - !ruby/object:Gem::Version
51
+ version: 0.8.1
52
+ none: false
53
+ name: httparty
46
54
  type: :runtime
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
49
- name: rake
50
55
  prerelease: false
51
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ! '>='
59
+ - !ruby/object:Gem::Version
60
+ version: 0.8.1
52
61
  none: false
53
- requirements:
54
- - - "="
55
- - !ruby/object:Gem::Version
62
+ - !ruby/object:Gem::Dependency
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - '='
66
+ - !ruby/object:Gem::Version
56
67
  version: 0.8.7
68
+ none: false
69
+ name: rake
57
70
  type: :development
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
60
- name: shoulda-context
61
71
  prerelease: false
62
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - '='
75
+ - !ruby/object:Gem::Version
76
+ version: 0.8.7
63
77
  none: false
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: "0"
78
+ - !ruby/object:Gem::Dependency
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ! '>='
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ none: false
85
+ name: shoulda-context
68
86
  type: :development
69
- version_requirements: *id005
70
- - !ruby/object:Gem::Dependency
71
- name: mocha
72
87
  prerelease: false
73
- requirement: &id006 !ruby/object:Gem::Requirement
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ! '>='
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
74
93
  none: false
75
- requirements:
76
- - - ">="
77
- - !ruby/object:Gem::Version
78
- version: "0"
94
+ - !ruby/object:Gem::Dependency
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ none: false
101
+ name: mocha
79
102
  type: :development
80
- version_requirements: *id006
103
+ prerelease: false
104
+ requirement: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ! '>='
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ none: false
81
110
  description: Ruby wrapper for Copyscape API
82
- email:
111
+ email:
83
112
  - bvandenbos@gmail.com
84
113
  executables: []
85
-
86
114
  extensions: []
87
-
88
115
  extra_rdoc_files: []
89
-
90
- files:
116
+ files:
91
117
  - .gitignore
92
118
  - Gemfile
93
119
  - Gemfile.lock
@@ -95,11 +121,15 @@ files:
95
121
  - Rakefile
96
122
  - copyscape.gemspec
97
123
  - lib/copyscape.rb
124
+ - lib/copyscape/balance.rb
98
125
  - lib/copyscape/request_base.rb
99
126
  - lib/copyscape/response.rb
100
127
  - lib/copyscape/text_search.rb
101
128
  - lib/copyscape/url_search.rb
102
129
  - lib/copyscape/version.rb
130
+ - test/balance.html
131
+ - test/balance.xml
132
+ - test/balance_test.rb
103
133
  - test/error_response.xml
104
134
  - test/response_test.rb
105
135
  - test/test_helper.rb
@@ -109,30 +139,27 @@ files:
109
139
  - test/url_search_test.rb
110
140
  homepage: http://github.com/bvandenbos/copyscape-rb
111
141
  licenses: []
112
-
113
142
  post_install_message:
114
143
  rdoc_options: []
115
-
116
- require_paths:
144
+ require_paths:
117
145
  - lib
118
- required_ruby_version: !ruby/object:Gem::Requirement
119
- none: false
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- version: "0"
124
- required_rubygems_version: !ruby/object:Gem::Requirement
146
+ required_ruby_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ! '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
125
151
  none: false
126
- requirements:
127
- - - ">="
128
- - !ruby/object:Gem::Version
152
+ required_rubygems_version: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ! '>='
155
+ - !ruby/object:Gem::Version
129
156
  version: 1.3.6
157
+ none: false
130
158
  requirements: []
131
-
132
159
  rubyforge_project:
133
- rubygems_version: 1.8.5
160
+ rubygems_version: 1.8.23
134
161
  signing_key:
135
162
  specification_version: 3
136
163
  summary: Ruby wrapper for Copyscape API
137
164
  test_files: []
138
-
165
+ has_rdoc: