copyscape 0.0.4 → 0.0.5
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/.gitignore +1 -1
- data/Gemfile.lock +7 -5
- data/copyscape.gemspec +1 -4
- data/lib/copyscape.rb +5 -0
- data/lib/copyscape/balance.rb +14 -0
- data/lib/copyscape/request_base.rb +4 -0
- data/lib/copyscape/version.rb +1 -1
- data/test/balance.html +1 -0
- data/test/balance.xml +6 -0
- data/test/balance_test.rb +38 -0
- metadata +102 -75
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
copyscape (0.0.
|
5
|
-
httparty (
|
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
|
-
|
12
|
-
|
13
|
-
|
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.
|
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
|
|
data/lib/copyscape/version.rb
CHANGED
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,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.
|
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
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
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:
|
24
|
+
requirement: !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - ! '>='
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
version: 1.0.0
|
30
29
|
none: false
|
31
|
-
|
32
|
-
|
33
|
-
|
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:
|
40
|
+
requirement: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - '='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: 1.4.1
|
41
45
|
none: false
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
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:
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ! '>='
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 0.8.1
|
52
61
|
none: false
|
53
|
-
|
54
|
-
|
55
|
-
|
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:
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - '='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 0.8.7
|
63
77
|
none: false
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
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:
|
88
|
+
requirement: !ruby/object:Gem::Requirement
|
89
|
+
requirements:
|
90
|
+
- - ! '>='
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '0'
|
74
93
|
none: false
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
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
|
-
|
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
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
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
|
-
|
127
|
-
|
128
|
-
|
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.
|
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:
|