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 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: