webpurify 0.5.0
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 +20 -0
- data/README.md +170 -0
- data/lib/web_purify.rb +12 -0
- data/lib/web_purify/client.rb +39 -0
- data/lib/web_purify/constants.rb +65 -0
- data/lib/web_purify/methods/blacklist.rb +54 -0
- data/lib/web_purify/methods/filters.rb +70 -0
- data/lib/web_purify/methods/whitelist.rb +52 -0
- data/lib/web_purify/request.rb +62 -0
- data/lib/web_purify/version.rb +3 -0
- data/web_purify.gemspec +24 -0
- metadata +89 -0
data/.gitignore
ADDED
data/README.md
ADDED
@@ -0,0 +1,170 @@
|
|
1
|
+
WebPurify RubyGem
|
2
|
+
=================
|
3
|
+
|
4
|
+
This gem allows simple interaction with the WebPurify API using Ruby. For more information about WebPurify and the services it offers, check out http://webpurify.com/.
|
5
|
+
|
6
|
+
|
7
|
+
### Commands
|
8
|
+
|
9
|
+
##### Filters
|
10
|
+
* [check](#check)
|
11
|
+
* [check_count](#check_count)
|
12
|
+
* [replace](#replace)
|
13
|
+
* [return](#return)
|
14
|
+
|
15
|
+
##### Blacklist
|
16
|
+
* [add_to_blacklist](#add_to_blacklist)
|
17
|
+
* [remove_from_blacklist](#remove_from_blacklist)
|
18
|
+
* [get_blacklist](#get_blacklist)
|
19
|
+
|
20
|
+
##### Whitelist
|
21
|
+
* [add_to_whitelist](#add_to_whitelist)
|
22
|
+
* [remove_from_whitelist](#remove_from_whitelist)
|
23
|
+
* [get_whitelist](#get_whitelist)
|
24
|
+
|
25
|
+
|
26
|
+
Install & Initialize
|
27
|
+
--------------------
|
28
|
+
|
29
|
+
`gem install WebPurify`
|
30
|
+
|
31
|
+
or with bundler
|
32
|
+
|
33
|
+
`gem WebPurify`
|
34
|
+
|
35
|
+
`bundle install`
|
36
|
+
|
37
|
+
Initialize with
|
38
|
+
|
39
|
+
```rb
|
40
|
+
@wp = WebPurify::Client.new('my_api_key')
|
41
|
+
```
|
42
|
+
|
43
|
+
or
|
44
|
+
|
45
|
+
```rb
|
46
|
+
@wp = WebPurify::Client.new({
|
47
|
+
api_key: 'my_api_key',
|
48
|
+
endpoint: :us, # can be :us, :eu, :ap (defaults to :us)
|
49
|
+
enterprise: false, # true for ssl (default false, enterprise key required)
|
50
|
+
})
|
51
|
+
```
|
52
|
+
|
53
|
+
Commands
|
54
|
+
--------
|
55
|
+
|
56
|
+
<a name="check" />
|
57
|
+
### check
|
58
|
+
|
59
|
+
Check a string of text for profanity. Returns true if profanity found, false if none.
|
60
|
+
|
61
|
+
```rb
|
62
|
+
puts @wp.check('some profane text')
|
63
|
+
```
|
64
|
+
|
65
|
+
|
66
|
+
<a name="check_count" />
|
67
|
+
### check_count
|
68
|
+
|
69
|
+
Check a string of text for profanity. Returns number of words if profanity found, 0 if none.
|
70
|
+
|
71
|
+
```rb
|
72
|
+
puts @wp.check_count('profane text')
|
73
|
+
```
|
74
|
+
|
75
|
+
|
76
|
+
<a name="replace" />
|
77
|
+
### replace
|
78
|
+
Check a string of text for profanity. Replaces any found profanity with a provided symbol, and returns the formatted string.
|
79
|
+
|
80
|
+
```rb
|
81
|
+
puts @wp.replace('profane text', '*')
|
82
|
+
```
|
83
|
+
|
84
|
+
|
85
|
+
<a name="return" />
|
86
|
+
### return
|
87
|
+
Check a string of text for profanity. If any found, returns an array of profane words. Else, returns empty array.
|
88
|
+
|
89
|
+
```rb
|
90
|
+
p @wp.return('profane text')
|
91
|
+
```
|
92
|
+
|
93
|
+
|
94
|
+
### Options
|
95
|
+
All filter commands can take an additional options object, just before the callback. The available options are:
|
96
|
+
|
97
|
+
```rb
|
98
|
+
options = {
|
99
|
+
lang: 'en', # the 2 letter language code for the text you are submitting
|
100
|
+
semail: 1, # treat email addresses like profanity
|
101
|
+
sphone: 1, # treat phone numbers like profanity
|
102
|
+
slink: 1 # treat urls like profanity
|
103
|
+
}
|
104
|
+
|
105
|
+
puts @wp.check('some profane text', options)
|
106
|
+
```
|
107
|
+
|
108
|
+
|
109
|
+
<a name="add_to_blacklist" />
|
110
|
+
### add_to_blacklist
|
111
|
+
Add a word to the blacklist.
|
112
|
+
|
113
|
+
```rb
|
114
|
+
@wp.add_to_blacklist('my_awesome_word')
|
115
|
+
```
|
116
|
+
|
117
|
+
For Deep search, add optional parameter 1 after word:
|
118
|
+
|
119
|
+
```rb
|
120
|
+
@wp.add_to_blacklist('my_awesome_word', 1)
|
121
|
+
```
|
122
|
+
|
123
|
+
|
124
|
+
<a name="remove_from_blacklist" />
|
125
|
+
### remove_from_blacklist
|
126
|
+
Remove a word from the blacklist.
|
127
|
+
|
128
|
+
```rb
|
129
|
+
@wp.remove_from_blacklist('my_awesome_word')
|
130
|
+
```
|
131
|
+
|
132
|
+
|
133
|
+
<a name="get_blacklist" />
|
134
|
+
### get_blacklist
|
135
|
+
Get the blacklist as an array of words.
|
136
|
+
|
137
|
+
```rb
|
138
|
+
p @wp.get_blacklist
|
139
|
+
```
|
140
|
+
|
141
|
+
|
142
|
+
<a name="add_to_whitelist" />
|
143
|
+
### add_to_whitelist
|
144
|
+
Add a word to the whitelist.
|
145
|
+
|
146
|
+
```rb
|
147
|
+
@wp.add_to_whitelist('my_awesome_word')
|
148
|
+
```
|
149
|
+
|
150
|
+
|
151
|
+
<a name="remove_from_whitelist" />
|
152
|
+
### remove_from_whitelist
|
153
|
+
Remove a word from the whitelist.
|
154
|
+
|
155
|
+
```rb
|
156
|
+
@wp.remove_from_whitelist('my_awesome_word')
|
157
|
+
```
|
158
|
+
|
159
|
+
|
160
|
+
<a name="get_whitelist" />
|
161
|
+
### get_whitelist
|
162
|
+
Get the whitelist as an array of words.
|
163
|
+
|
164
|
+
```rb
|
165
|
+
p @wp.get_whitelist
|
166
|
+
```
|
167
|
+
|
168
|
+
## To-do:
|
169
|
+
* Handle error responses
|
170
|
+
* Tests
|
data/lib/web_purify.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require_relative 'web_purify/constants'
|
2
|
+
require_relative 'web_purify/request'
|
3
|
+
require_relative 'web_purify/client'
|
4
|
+
|
5
|
+
# WebPurify Gem
|
6
|
+
# @author Miles Zimmerman
|
7
|
+
#
|
8
|
+
# The WebPurify gem provides easy access to the WebPurify API service. For more
|
9
|
+
# information regarding WebPurify and the services it offers, check out
|
10
|
+
# http://webpurify.com
|
11
|
+
module WebPurify
|
12
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require_relative 'methods/filters'
|
2
|
+
require_relative 'methods/blacklist'
|
3
|
+
require_relative 'methods/whitelist'
|
4
|
+
|
5
|
+
# WebPurify::Client
|
6
|
+
#
|
7
|
+
# The WebPurify::Client class maintains state of the request parameters like api_key, endpoint, etc.,
|
8
|
+
# and provides easy methods for accessing WebPurify
|
9
|
+
class WebPurify::Client
|
10
|
+
include WebPurify::Filters
|
11
|
+
include WebPurify::Blacklist
|
12
|
+
include WebPurify::Whitelist
|
13
|
+
|
14
|
+
# Initialize the class
|
15
|
+
#
|
16
|
+
# @param options [String, Hash] Either an API key string, or a hash of options
|
17
|
+
def initialize(options)
|
18
|
+
if options.is_a? String
|
19
|
+
@api_key = options
|
20
|
+
@endpoint = :us
|
21
|
+
@enterprise = false
|
22
|
+
elsif options.is_a? Hash
|
23
|
+
@api_key = options[:api_key]
|
24
|
+
@endpoint = options[:endpoint] || :us
|
25
|
+
@enterprise = options[:enterprise] || false
|
26
|
+
end
|
27
|
+
|
28
|
+
@request_base = {
|
29
|
+
:host => WebPurify::Constants.endpoints[@endpoint],
|
30
|
+
:path => WebPurify::Constants.rest_path,
|
31
|
+
:scheme => WebPurify::Constants.scheme(@enterprise)
|
32
|
+
}
|
33
|
+
|
34
|
+
@query_base = {
|
35
|
+
:api_key => @api_key,
|
36
|
+
:format => WebPurify::Constants.format
|
37
|
+
}
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
module WebPurify
|
2
|
+
|
3
|
+
# WebPurify::Constants
|
4
|
+
#
|
5
|
+
# WebPurify::Constants holds all the static variables used to access the API.
|
6
|
+
module Constants
|
7
|
+
|
8
|
+
# The various endpoints to access the API
|
9
|
+
#
|
10
|
+
# @return [Hash] A hash of the endpoints
|
11
|
+
def self.endpoints
|
12
|
+
return {
|
13
|
+
:us => 'api1.webpurify.com',
|
14
|
+
:eu => 'api1-eu.webpurify.com',
|
15
|
+
:ap => 'api1-ap.webpurify.com'
|
16
|
+
}
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
# Path appended to the endpoint URI
|
21
|
+
#
|
22
|
+
# @return [String] The rest path
|
23
|
+
def self.rest_path
|
24
|
+
return '/services/rest/'
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
# The response format
|
29
|
+
#
|
30
|
+
# @return [String] The format
|
31
|
+
def self.format
|
32
|
+
return 'json'
|
33
|
+
end
|
34
|
+
|
35
|
+
|
36
|
+
# Returns either http or https depending on whether enterprise mode
|
37
|
+
# is selected.
|
38
|
+
#
|
39
|
+
# @param enterprise [Boolean] True if enterprise mode, false if not
|
40
|
+
# @return [String] The scheme, either http or https
|
41
|
+
def self.scheme(enterprise)
|
42
|
+
return enterprise ? 'https' : 'http'
|
43
|
+
end
|
44
|
+
|
45
|
+
|
46
|
+
# A hash for each API method
|
47
|
+
#
|
48
|
+
# @return [Hash] The method hash
|
49
|
+
def self.methods
|
50
|
+
return {
|
51
|
+
:check => 'webpurify.live.check',
|
52
|
+
:check_count => 'webpurify.live.checkcount',
|
53
|
+
:replace => 'webpurify.live.replace',
|
54
|
+
:return => 'webpurify.live.return',
|
55
|
+
:add_to_blacklist => 'webpurify.live.addtoblacklist',
|
56
|
+
:add_to_whitelist => 'webpurify.live.addtowhitelist',
|
57
|
+
:remove_from_blacklist => 'webpurify.live.removefromblacklist',
|
58
|
+
:remove_from_whitelist => 'webpurify.live.removefromwhitelist',
|
59
|
+
:get_blacklist => 'webpurify.live.getblacklist',
|
60
|
+
:get_whitelist => 'webpurify.live.getwhitelist'
|
61
|
+
}
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module WebPurify
|
2
|
+
|
3
|
+
# WebPurify::Blacklist
|
4
|
+
#
|
5
|
+
# Handles all methods related to the WebPurify Blacklist
|
6
|
+
module Blacklist
|
7
|
+
|
8
|
+
# Add a word to the blacklist
|
9
|
+
#
|
10
|
+
# @param word [String] The word to add to the blacklist
|
11
|
+
# @param deep_search [Integer] 1 if deep search on word, otherwise 0 for not (default 0)
|
12
|
+
# @return [Boolean] True if successful, false if not
|
13
|
+
def add_to_blacklist(word, deep_search=0)
|
14
|
+
params = {
|
15
|
+
:method => WebPurify::Constants.methods[:add_to_blacklist],
|
16
|
+
:word => word,
|
17
|
+
:ds => deep_search
|
18
|
+
}
|
19
|
+
parsed = WebPurify::Request.query(@request_base, @query_base, params)
|
20
|
+
return parsed[:success]=='1'
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
# Remove a word from the blacklist
|
25
|
+
#
|
26
|
+
# @param word [String] The word to remove from the blacklist
|
27
|
+
# @return [Boolean] True if successful, false if not
|
28
|
+
def remove_from_blacklist(word)
|
29
|
+
params = {
|
30
|
+
:method => WebPurify::Constants.methods[:remove_from_blacklist],
|
31
|
+
:word => word
|
32
|
+
}
|
33
|
+
parsed = WebPurify::Request.query(@request_base, @query_base, params)
|
34
|
+
return parsed[:success]=='1'
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
# Get the blacklist
|
39
|
+
#
|
40
|
+
# @return [Array] An array of words in the blacklist
|
41
|
+
def get_blacklist
|
42
|
+
params = {
|
43
|
+
:method => WebPurify::Constants.methods[:get_blacklist]
|
44
|
+
}
|
45
|
+
parsed = WebPurify::Request.query(@request_base, @query_base, params)
|
46
|
+
if parsed[:word]
|
47
|
+
return [] << parsed[:word]
|
48
|
+
else
|
49
|
+
return []
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
module WebPurify
|
2
|
+
module Filters
|
3
|
+
|
4
|
+
# Check for existence of profanity
|
5
|
+
#
|
6
|
+
# @param text [String] Text to test for profanity
|
7
|
+
# @param options [Hash] Options hash, used to set additional parameters
|
8
|
+
# @return [Boolean] True if text contains profanity, false if not
|
9
|
+
def check(text, options={})
|
10
|
+
params = {
|
11
|
+
:method => WebPurify::Constants.methods[:check],
|
12
|
+
:text => text
|
13
|
+
}
|
14
|
+
parsed = WebPurify::Request.query(@request_base, @query_base, params.merge(options))
|
15
|
+
return parsed[:found]=='1'
|
16
|
+
end
|
17
|
+
|
18
|
+
|
19
|
+
# Check for existence of profanity and return number of profane words found
|
20
|
+
#
|
21
|
+
# @param text [String] Text to test for profanity
|
22
|
+
# @param options [Hash] Options hash, used to set additional parameters
|
23
|
+
# @return [Integer] The number of profane words found in text
|
24
|
+
def check_count(text, options={})
|
25
|
+
params = {
|
26
|
+
:method => WebPurify::Constants.methods[:check_count],
|
27
|
+
:text => text
|
28
|
+
}
|
29
|
+
parsed = WebPurify::Request.query(@request_base, @query_base, params.merge(options))
|
30
|
+
return parsed[:found].to_i
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
# Replace any matched profanity with provided symbol
|
35
|
+
#
|
36
|
+
# @param text [String] Text to test for profanity
|
37
|
+
# @param symbol [String] The symbol to replace each character of matched profanity
|
38
|
+
# @param options [Hash] Options hash, used to set additional parameters
|
39
|
+
# @return [String] The original text, replaced with the provided symbol
|
40
|
+
def replace(text, symbol, options={})
|
41
|
+
params = {
|
42
|
+
:method => WebPurify::Constants.methods[:replace],
|
43
|
+
:text => text,
|
44
|
+
:replacesymbol => symbol
|
45
|
+
}
|
46
|
+
parsed = WebPurify::Request.query(@request_base, @query_base, params.merge(options))
|
47
|
+
return parsed[:text]
|
48
|
+
end
|
49
|
+
|
50
|
+
|
51
|
+
# Return an array of matched profanity
|
52
|
+
#
|
53
|
+
# @param text [String] Text to test for profanity
|
54
|
+
# @param options [Hash] Options hash, used to set additional parameters
|
55
|
+
# @return [Array] The array of matched profane words
|
56
|
+
def return(text, options={})
|
57
|
+
params = {
|
58
|
+
:method => WebPurify::Constants.methods[:return],
|
59
|
+
:text => text
|
60
|
+
}
|
61
|
+
parsed = WebPurify::Request.query(@request_base, @query_base, params.merge(options))
|
62
|
+
if parsed[:expletive]
|
63
|
+
return [] << parsed[:expletive]
|
64
|
+
else
|
65
|
+
return []
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module WebPurify
|
2
|
+
|
3
|
+
# WebPurify::Whitelist
|
4
|
+
#
|
5
|
+
# Handles all methods related to the WebPurify whitelist
|
6
|
+
module Whitelist
|
7
|
+
|
8
|
+
# Add a word to the whitelist
|
9
|
+
#
|
10
|
+
# @param word [String] The word to add to the whitelist
|
11
|
+
# @return [Boolean] True if successful, false if not
|
12
|
+
def add_to_whitelist(word)
|
13
|
+
params = {
|
14
|
+
:method => WebPurify::Constants.methods[:add_to_whitelist],
|
15
|
+
:word => word
|
16
|
+
}
|
17
|
+
parsed = WebPurify::Request.query(@request_base, @query_base, params)
|
18
|
+
return parsed[:success]=='1'
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
# Remove a word from the whitelist
|
23
|
+
#
|
24
|
+
# @param word [String] The word to remove from the whitelist
|
25
|
+
# @return [Boolean] True if successful, false if not
|
26
|
+
def remove_from_whitelist(word)
|
27
|
+
params = {
|
28
|
+
:method => WebPurify::Constants.methods[:remove_from_whitelist],
|
29
|
+
:word => word
|
30
|
+
}
|
31
|
+
parsed = WebPurify::Request.query(@request_base, @query_base, params)
|
32
|
+
return parsed[:success]=='1'
|
33
|
+
end
|
34
|
+
|
35
|
+
|
36
|
+
# Get the whitelist
|
37
|
+
#
|
38
|
+
# @return [Array] An array of words in the whitelist
|
39
|
+
def get_whitelist
|
40
|
+
params = {
|
41
|
+
:method => WebPurify::Constants.methods[:get_whitelist]
|
42
|
+
}
|
43
|
+
parsed = WebPurify::Request.query(@request_base, @query_base, params)
|
44
|
+
if parsed[:word]
|
45
|
+
return [] << parsed[:word]
|
46
|
+
else
|
47
|
+
return []
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'uri'
|
2
|
+
require 'net/http'
|
3
|
+
require 'net/https'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
module WebPurify
|
7
|
+
|
8
|
+
# WebPurify::Request
|
9
|
+
#
|
10
|
+
# WebPurify::Request handles the HTTP/HTTPS queries to the API endpoints,
|
11
|
+
# converting returned JSON into a usable object.
|
12
|
+
module Request
|
13
|
+
|
14
|
+
WRAPPER = :rsp
|
15
|
+
|
16
|
+
|
17
|
+
# Converts a hash of key/values into a url-ready query string
|
18
|
+
#
|
19
|
+
# @param hash [Hash] The hash to be converted
|
20
|
+
# @return [String] The formatted query string
|
21
|
+
def self.to_query(hash)
|
22
|
+
parameters = []
|
23
|
+
hash.each {|k,v| parameters << "#{k}=#{v}" }
|
24
|
+
return URI.encode(parameters.join("&"))
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
# Executes a query to the API endpoint
|
29
|
+
#
|
30
|
+
# @param request_base [Hash] The base parameters for the request (comes from WebPurify::Client initialize())
|
31
|
+
# @param query_base [Hash] The base parameters for the query (api_key, format)
|
32
|
+
# @param params [Hash] The unique query parameters
|
33
|
+
# @return [Hash] A hash parsed from the JSON response
|
34
|
+
def self.query(request_base, query_base, params)
|
35
|
+
q = query_base.merge(params)
|
36
|
+
uri_builder = (request_base[:scheme]=='https') ? URI::HTTPS : URI::HTTP
|
37
|
+
uri = uri_builder.build(
|
38
|
+
:host => request_base[:host],
|
39
|
+
:path => request_base[:path],
|
40
|
+
:query => WebPurify::Request.to_query(q)
|
41
|
+
)
|
42
|
+
return JSON.parse(WebPurify::Request.get(uri, request_base[:scheme]), :symbolize_names => true)[WRAPPER]
|
43
|
+
end
|
44
|
+
|
45
|
+
|
46
|
+
# Handles making the query according to http or https scheme
|
47
|
+
#
|
48
|
+
# @param uri [String] The uri to be queried
|
49
|
+
# @param scheme [String] The scheme (http, https)
|
50
|
+
# @return [String] The JSON request response
|
51
|
+
def self.get(uri, scheme)
|
52
|
+
req = (scheme=='https') ? Net::HTTPS : Net::HTTP
|
53
|
+
begin
|
54
|
+
request = req.get(uri)
|
55
|
+
rescue Exception => e
|
56
|
+
p e
|
57
|
+
end
|
58
|
+
return request
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
end
|
data/web_purify.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'web_purify/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = "webpurify"
|
8
|
+
s.version = WebPurify::VERSION
|
9
|
+
s.platform = Gem::Platform::RUBY
|
10
|
+
s.authors = ["Miles Zimmerman"]
|
11
|
+
s.email = ["miles@zserver.org"]
|
12
|
+
s.homepage = "https://github.com/mileszim/webpurify-gem"
|
13
|
+
s.summary = %q{A RubyGem for interfacing with the WebPurify API.}
|
14
|
+
s.description = %q{A RubyGem for interfacing with the WebPurify API.}
|
15
|
+
|
16
|
+
s.add_development_dependency "rspec", "~>2.5.0"
|
17
|
+
|
18
|
+
s.add_dependency "json"
|
19
|
+
|
20
|
+
s.files = `git ls-files`.split("\n")
|
21
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
22
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
23
|
+
s.require_paths = ["lib"]
|
24
|
+
end
|
metadata
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: webpurify
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.5.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Miles Zimmerman
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-06-26 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rspec
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 2.5.0
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 2.5.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: json
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
description: A RubyGem for interfacing with the WebPurify API.
|
47
|
+
email:
|
48
|
+
- miles@zserver.org
|
49
|
+
executables: []
|
50
|
+
extensions: []
|
51
|
+
extra_rdoc_files: []
|
52
|
+
files:
|
53
|
+
- .gitignore
|
54
|
+
- README.md
|
55
|
+
- lib/web_purify.rb
|
56
|
+
- lib/web_purify/client.rb
|
57
|
+
- lib/web_purify/constants.rb
|
58
|
+
- lib/web_purify/methods/blacklist.rb
|
59
|
+
- lib/web_purify/methods/filters.rb
|
60
|
+
- lib/web_purify/methods/whitelist.rb
|
61
|
+
- lib/web_purify/request.rb
|
62
|
+
- lib/web_purify/version.rb
|
63
|
+
- web_purify.gemspec
|
64
|
+
homepage: https://github.com/mileszim/webpurify-gem
|
65
|
+
licenses: []
|
66
|
+
post_install_message:
|
67
|
+
rdoc_options: []
|
68
|
+
require_paths:
|
69
|
+
- lib
|
70
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
72
|
+
requirements:
|
73
|
+
- - ! '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
77
|
+
none: false
|
78
|
+
requirements:
|
79
|
+
- - ! '>='
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
requirements: []
|
83
|
+
rubyforge_project:
|
84
|
+
rubygems_version: 1.8.24
|
85
|
+
signing_key:
|
86
|
+
specification_version: 3
|
87
|
+
summary: A RubyGem for interfacing with the WebPurify API.
|
88
|
+
test_files: []
|
89
|
+
has_rdoc:
|