UrlCategorise 0.1.2 → 0.1.6
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.
- checksums.yaml +4 -4
- data/.claude/settings.local.json +10 -1
- data/.gitignore +1 -0
- data/CLAUDE.md +88 -3
- data/Gemfile +2 -2
- data/Gemfile.lock +18 -9
- data/README.md +517 -4
- data/Rakefile +8 -8
- data/bin/check_lists +12 -13
- data/bin/console +3 -3
- data/bin/export_csv +83 -0
- data/bin/export_hosts +68 -0
- data/bin/rake +2 -0
- data/correct_usage_example.rb +64 -0
- data/docs/v0.1.4-features.md +215 -0
- data/lib/url_categorise/active_record_client.rb +98 -21
- data/lib/url_categorise/client.rb +641 -134
- data/lib/url_categorise/constants.rb +86 -71
- data/lib/url_categorise/dataset_processor.rb +476 -0
- data/lib/url_categorise/iab_compliance.rb +147 -0
- data/lib/url_categorise/models.rb +53 -14
- data/lib/url_categorise/version.rb +1 -1
- data/lib/url_categorise.rb +3 -0
- data/url_categorise.gemspec +37 -33
- metadata +142 -52
@@ -18,28 +18,28 @@ else
|
|
18
18
|
|
19
19
|
class ListMetadata < ActiveRecord::Base
|
20
20
|
self.table_name = 'url_categorise_list_metadata'
|
21
|
-
|
21
|
+
|
22
22
|
validates :name, presence: true, uniqueness: true
|
23
23
|
validates :url, presence: true
|
24
24
|
validates :categories, presence: true
|
25
|
-
|
25
|
+
|
26
26
|
serialize :categories, coder: JSON
|
27
|
-
|
27
|
+
|
28
28
|
scope :by_category, ->(category) { where('categories LIKE ?', "%#{category}%") }
|
29
29
|
scope :updated_since, ->(time) { where('updated_at > ?', time) }
|
30
30
|
end
|
31
31
|
|
32
32
|
class Domain < ActiveRecord::Base
|
33
33
|
self.table_name = 'url_categorise_domains'
|
34
|
-
|
34
|
+
|
35
35
|
validates :domain, presence: true, uniqueness: true
|
36
36
|
validates :categories, presence: true
|
37
|
-
|
37
|
+
|
38
38
|
serialize :categories, coder: JSON
|
39
|
-
|
39
|
+
|
40
40
|
scope :by_category, ->(category) { where('categories LIKE ?', "%#{category}%") }
|
41
41
|
scope :search, ->(term) { where('domain LIKE ?', "%#{term}%") }
|
42
|
-
|
42
|
+
|
43
43
|
def self.categorise(domain_name)
|
44
44
|
record = find_by(domain: domain_name.downcase.gsub('www.', ''))
|
45
45
|
record ? record.categories : []
|
@@ -48,21 +48,45 @@ else
|
|
48
48
|
|
49
49
|
class IpAddress < ActiveRecord::Base
|
50
50
|
self.table_name = 'url_categorise_ip_addresses'
|
51
|
-
|
51
|
+
|
52
52
|
validates :ip_address, presence: true, uniqueness: true
|
53
53
|
validates :categories, presence: true
|
54
|
-
|
54
|
+
|
55
55
|
serialize :categories, coder: JSON
|
56
|
-
|
56
|
+
|
57
57
|
scope :by_category, ->(category) { where('categories LIKE ?', "%#{category}%") }
|
58
58
|
scope :in_subnet, ->(subnet) { where('ip_address LIKE ?', "#{subnet}%") }
|
59
|
-
|
59
|
+
|
60
60
|
def self.categorise(ip)
|
61
61
|
record = find_by(ip_address: ip)
|
62
62
|
record ? record.categories : []
|
63
63
|
end
|
64
64
|
end
|
65
65
|
|
66
|
+
class DatasetMetadata < ActiveRecord::Base
|
67
|
+
self.table_name = 'url_categorise_dataset_metadata'
|
68
|
+
|
69
|
+
validates :source_type, presence: true, inclusion: { in: %w[kaggle csv] }
|
70
|
+
validates :identifier, presence: true
|
71
|
+
validates :data_hash, presence: true, uniqueness: true
|
72
|
+
validates :total_entries, presence: true, numericality: { greater_than: 0 }
|
73
|
+
|
74
|
+
serialize :category_mappings, coder: JSON
|
75
|
+
serialize :processing_options, coder: JSON
|
76
|
+
|
77
|
+
scope :by_source, ->(source) { where(source_type: source) }
|
78
|
+
scope :by_identifier, ->(identifier) { where(identifier: identifier) }
|
79
|
+
scope :processed_since, ->(time) { where('processed_at > ?', time) }
|
80
|
+
|
81
|
+
def kaggle_dataset?
|
82
|
+
source_type == 'kaggle'
|
83
|
+
end
|
84
|
+
|
85
|
+
def csv_dataset?
|
86
|
+
source_type == 'csv'
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
66
90
|
# Generator for Rails integration
|
67
91
|
def self.generate_migration
|
68
92
|
<<~MIGRATION
|
@@ -84,7 +108,7 @@ else
|
|
84
108
|
t.text :categories, null: false
|
85
109
|
t.timestamps
|
86
110
|
end
|
87
|
-
|
111
|
+
#{' '}
|
88
112
|
add_index :url_categorise_domains, :domain
|
89
113
|
add_index :url_categorise_domains, :categories
|
90
114
|
|
@@ -93,13 +117,28 @@ else
|
|
93
117
|
t.text :categories, null: false
|
94
118
|
t.timestamps
|
95
119
|
end
|
96
|
-
|
120
|
+
#{' '}
|
97
121
|
add_index :url_categorise_ip_addresses, :ip_address
|
98
122
|
add_index :url_categorise_ip_addresses, :categories
|
123
|
+
|
124
|
+
create_table :url_categorise_dataset_metadata do |t|
|
125
|
+
t.string :source_type, null: false, index: true
|
126
|
+
t.string :identifier, null: false
|
127
|
+
t.string :data_hash, null: false, index: { unique: true }
|
128
|
+
t.integer :total_entries, null: false
|
129
|
+
t.text :category_mappings
|
130
|
+
t.text :processing_options
|
131
|
+
t.datetime :processed_at
|
132
|
+
t.timestamps
|
133
|
+
end
|
134
|
+
#{' '}
|
135
|
+
add_index :url_categorise_dataset_metadata, :source_type
|
136
|
+
add_index :url_categorise_dataset_metadata, :identifier
|
137
|
+
add_index :url_categorise_dataset_metadata, :processed_at
|
99
138
|
end
|
100
139
|
end
|
101
140
|
MIGRATION
|
102
141
|
end
|
103
142
|
end
|
104
143
|
end
|
105
|
-
end
|
144
|
+
end
|
data/lib/url_categorise.rb
CHANGED
@@ -3,11 +3,14 @@ require 'nokogiri'
|
|
3
3
|
require 'digest'
|
4
4
|
require 'fileutils'
|
5
5
|
require 'resolv'
|
6
|
+
require 'active_attr'
|
6
7
|
|
7
8
|
require 'api-pattern'
|
8
9
|
|
9
10
|
require 'url_categorise/version'
|
10
11
|
require 'url_categorise/constants'
|
12
|
+
require 'url_categorise/dataset_processor'
|
13
|
+
require 'url_categorise/iab_compliance'
|
11
14
|
|
12
15
|
require 'url_categorise/client'
|
13
16
|
|
data/url_categorise.gemspec
CHANGED
@@ -1,49 +1,53 @@
|
|
1
|
-
lib = File.expand_path(
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
2
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
-
require
|
3
|
+
require 'url_categorise/version'
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
|
-
spec.name =
|
6
|
+
spec.name = 'UrlCategorise'
|
7
7
|
spec.version = UrlCategorise::VERSION
|
8
|
-
spec.authors = [
|
9
|
-
spec.email = [
|
8
|
+
spec.authors = ['trex22']
|
9
|
+
spec.email = ['contact@jasonchalom.com']
|
10
10
|
|
11
|
-
spec.summary =
|
12
|
-
spec.description =
|
13
|
-
spec.homepage =
|
14
|
-
spec.license =
|
11
|
+
spec.summary = 'A client for using the UrlCategorise API in Ruby.'
|
12
|
+
spec.description = 'A client for using the UrlCategorise API in Ruby. Built from their api documentation. This is an unofficial project.'
|
13
|
+
spec.homepage = 'https://github.com/TRex22/UrlCategorise'
|
14
|
+
spec.license = 'MIT'
|
15
15
|
|
16
16
|
# Specify which files should be added to the gem when it is released.
|
17
17
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
18
|
-
spec.files = Dir.chdir(File.expand_path(
|
18
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
19
19
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
20
20
|
end
|
21
|
-
spec.bindir =
|
22
|
-
spec.executables =
|
23
|
-
spec.require_paths = [
|
24
|
-
spec.required_ruby_version =
|
21
|
+
spec.bindir = 'bin'
|
22
|
+
spec.executables = ['export_hosts', 'export_csv', 'check_lists']
|
23
|
+
spec.require_paths = ['lib']
|
24
|
+
spec.required_ruby_version = '>= 3.0.0'
|
25
25
|
|
26
|
-
spec.add_dependency
|
27
|
-
spec.add_dependency
|
28
|
-
spec.add_dependency
|
29
|
-
spec.add_dependency
|
30
|
-
spec.add_dependency
|
31
|
-
spec.add_dependency
|
32
|
-
spec.add_dependency
|
26
|
+
spec.add_dependency 'active_attr', '>= 0.17.1', '< 1.0'
|
27
|
+
spec.add_dependency 'api_pattern', '>= 0.0.6', '< 1.0'
|
28
|
+
spec.add_dependency 'csv', '>= 3.3.0', '< 4.0'
|
29
|
+
spec.add_dependency 'digest', '>= 3.1.0', '< 4.0'
|
30
|
+
spec.add_dependency 'fileutils', '>= 1.7.0', '< 2.0'
|
31
|
+
spec.add_dependency 'httparty', '>= 0.22.0', '< 1.0'
|
32
|
+
spec.add_dependency 'json', '>= 2.7.0', '< 3.0'
|
33
|
+
spec.add_dependency 'kaggle', '>= 0.0.3', '< 1.0'
|
34
|
+
spec.add_dependency 'nokogiri', '>= 1.18.9', '< 2.0'
|
35
|
+
spec.add_dependency 'resolv', '>= 0.4.0', '< 1.0'
|
36
|
+
spec.add_dependency 'rubyzip', '>= 2.3.0', '< 3.0'
|
33
37
|
|
34
38
|
# Development dependancies
|
35
|
-
spec.add_development_dependency
|
36
|
-
spec.add_development_dependency
|
37
|
-
spec.add_development_dependency
|
38
|
-
spec.add_development_dependency
|
39
|
-
spec.add_development_dependency
|
40
|
-
spec.add_development_dependency
|
41
|
-
spec.add_development_dependency
|
42
|
-
spec.add_development_dependency
|
43
|
-
spec.add_development_dependency
|
39
|
+
spec.add_development_dependency 'minitest', '~> 5.25.5'
|
40
|
+
spec.add_development_dependency 'minitest-focus', '~> 1.4.0'
|
41
|
+
spec.add_development_dependency 'minitest-reporters', '~> 1.7.1'
|
42
|
+
spec.add_development_dependency 'mocha', '~> 2.4.5'
|
43
|
+
spec.add_development_dependency 'pry', '~> 0.15.2'
|
44
|
+
spec.add_development_dependency 'rake', '~> 13.3.0'
|
45
|
+
spec.add_development_dependency 'simplecov', '~> 0.22.0'
|
46
|
+
spec.add_development_dependency 'timecop', '~> 0.9.10'
|
47
|
+
spec.add_development_dependency 'webmock', '~> 3.24.0'
|
44
48
|
|
45
49
|
# Test dependancies
|
46
|
-
spec.add_development_dependency
|
47
|
-
spec.add_development_dependency
|
48
|
-
spec.add_development_dependency
|
50
|
+
spec.add_development_dependency 'activerecord', '>= 8.0'
|
51
|
+
spec.add_development_dependency 'logger'
|
52
|
+
spec.add_development_dependency 'sqlite3', '>= 2.7'
|
49
53
|
end
|
metadata
CHANGED
@@ -1,14 +1,34 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: UrlCategorise
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- trex22
|
8
|
-
bindir:
|
8
|
+
bindir: bin
|
9
9
|
cert_chain: []
|
10
10
|
date: 1980-01-02 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
|
+
- !ruby/object:Gem::Dependency
|
13
|
+
name: active_attr
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
15
|
+
requirements:
|
16
|
+
- - ">="
|
17
|
+
- !ruby/object:Gem::Version
|
18
|
+
version: 0.17.1
|
19
|
+
- - "<"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
version: 0.17.1
|
29
|
+
- - "<"
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: '1.0'
|
12
32
|
- !ruby/object:Gem::Dependency
|
13
33
|
name: api_pattern
|
14
34
|
requirement: !ruby/object:Gem::Requirement
|
@@ -30,32 +50,52 @@ dependencies:
|
|
30
50
|
- !ruby/object:Gem::Version
|
31
51
|
version: '1.0'
|
32
52
|
- !ruby/object:Gem::Dependency
|
33
|
-
name:
|
53
|
+
name: csv
|
34
54
|
requirement: !ruby/object:Gem::Requirement
|
35
55
|
requirements:
|
36
56
|
- - ">="
|
37
57
|
- !ruby/object:Gem::Version
|
38
|
-
version:
|
58
|
+
version: 3.3.0
|
39
59
|
- - "<"
|
40
60
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
61
|
+
version: '4.0'
|
42
62
|
type: :runtime
|
43
63
|
prerelease: false
|
44
64
|
version_requirements: !ruby/object:Gem::Requirement
|
45
65
|
requirements:
|
46
66
|
- - ">="
|
47
67
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
68
|
+
version: 3.3.0
|
49
69
|
- - "<"
|
50
70
|
- !ruby/object:Gem::Version
|
51
|
-
version: '
|
71
|
+
version: '4.0'
|
52
72
|
- !ruby/object:Gem::Dependency
|
53
|
-
name:
|
73
|
+
name: digest
|
54
74
|
requirement: !ruby/object:Gem::Requirement
|
55
75
|
requirements:
|
56
76
|
- - ">="
|
57
77
|
- !ruby/object:Gem::Version
|
58
|
-
version: 1.
|
78
|
+
version: 3.1.0
|
79
|
+
- - "<"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '4.0'
|
82
|
+
type: :runtime
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: 3.1.0
|
89
|
+
- - "<"
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '4.0'
|
92
|
+
- !ruby/object:Gem::Dependency
|
93
|
+
name: fileutils
|
94
|
+
requirement: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 1.7.0
|
59
99
|
- - "<"
|
60
100
|
- !ruby/object:Gem::Version
|
61
101
|
version: '2.0'
|
@@ -65,57 +105,77 @@ dependencies:
|
|
65
105
|
requirements:
|
66
106
|
- - ">="
|
67
107
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.
|
108
|
+
version: 1.7.0
|
69
109
|
- - "<"
|
70
110
|
- !ruby/object:Gem::Version
|
71
111
|
version: '2.0'
|
72
112
|
- !ruby/object:Gem::Dependency
|
73
|
-
name:
|
113
|
+
name: httparty
|
74
114
|
requirement: !ruby/object:Gem::Requirement
|
75
115
|
requirements:
|
76
116
|
- - ">="
|
77
117
|
- !ruby/object:Gem::Version
|
78
|
-
version:
|
118
|
+
version: 0.22.0
|
79
119
|
- - "<"
|
80
120
|
- !ruby/object:Gem::Version
|
81
|
-
version: '
|
121
|
+
version: '1.0'
|
82
122
|
type: :runtime
|
83
123
|
prerelease: false
|
84
124
|
version_requirements: !ruby/object:Gem::Requirement
|
85
125
|
requirements:
|
86
126
|
- - ">="
|
87
127
|
- !ruby/object:Gem::Version
|
88
|
-
version:
|
128
|
+
version: 0.22.0
|
89
129
|
- - "<"
|
90
130
|
- !ruby/object:Gem::Version
|
91
|
-
version: '
|
131
|
+
version: '1.0'
|
92
132
|
- !ruby/object:Gem::Dependency
|
93
|
-
name:
|
133
|
+
name: json
|
94
134
|
requirement: !ruby/object:Gem::Requirement
|
95
135
|
requirements:
|
96
136
|
- - ">="
|
97
137
|
- !ruby/object:Gem::Version
|
98
|
-
version:
|
138
|
+
version: 2.7.0
|
99
139
|
- - "<"
|
100
140
|
- !ruby/object:Gem::Version
|
101
|
-
version: '
|
141
|
+
version: '3.0'
|
102
142
|
type: :runtime
|
103
143
|
prerelease: false
|
104
144
|
version_requirements: !ruby/object:Gem::Requirement
|
105
145
|
requirements:
|
106
146
|
- - ">="
|
107
147
|
- !ruby/object:Gem::Version
|
108
|
-
version:
|
148
|
+
version: 2.7.0
|
109
149
|
- - "<"
|
110
150
|
- !ruby/object:Gem::Version
|
111
|
-
version: '
|
151
|
+
version: '3.0'
|
112
152
|
- !ruby/object:Gem::Dependency
|
113
|
-
name:
|
153
|
+
name: kaggle
|
114
154
|
requirement: !ruby/object:Gem::Requirement
|
115
155
|
requirements:
|
116
156
|
- - ">="
|
117
157
|
- !ruby/object:Gem::Version
|
118
|
-
version:
|
158
|
+
version: 0.0.3
|
159
|
+
- - "<"
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
version: '1.0'
|
162
|
+
type: :runtime
|
163
|
+
prerelease: false
|
164
|
+
version_requirements: !ruby/object:Gem::Requirement
|
165
|
+
requirements:
|
166
|
+
- - ">="
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: 0.0.3
|
169
|
+
- - "<"
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: '1.0'
|
172
|
+
- !ruby/object:Gem::Dependency
|
173
|
+
name: nokogiri
|
174
|
+
requirement: !ruby/object:Gem::Requirement
|
175
|
+
requirements:
|
176
|
+
- - ">="
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: 1.18.9
|
119
179
|
- - "<"
|
120
180
|
- !ruby/object:Gem::Version
|
121
181
|
version: '2.0'
|
@@ -125,7 +185,7 @@ dependencies:
|
|
125
185
|
requirements:
|
126
186
|
- - ">="
|
127
187
|
- !ruby/object:Gem::Version
|
128
|
-
version: 1.
|
188
|
+
version: 1.18.9
|
129
189
|
- - "<"
|
130
190
|
- !ruby/object:Gem::Version
|
131
191
|
version: '2.0'
|
@@ -150,19 +210,25 @@ dependencies:
|
|
150
210
|
- !ruby/object:Gem::Version
|
151
211
|
version: '1.0'
|
152
212
|
- !ruby/object:Gem::Dependency
|
153
|
-
name:
|
213
|
+
name: rubyzip
|
154
214
|
requirement: !ruby/object:Gem::Requirement
|
155
215
|
requirements:
|
156
|
-
- - "
|
216
|
+
- - ">="
|
157
217
|
- !ruby/object:Gem::Version
|
158
|
-
version:
|
159
|
-
|
218
|
+
version: 2.3.0
|
219
|
+
- - "<"
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '3.0'
|
222
|
+
type: :runtime
|
160
223
|
prerelease: false
|
161
224
|
version_requirements: !ruby/object:Gem::Requirement
|
162
225
|
requirements:
|
163
|
-
- - "
|
226
|
+
- - ">="
|
164
227
|
- !ruby/object:Gem::Version
|
165
|
-
version:
|
228
|
+
version: 2.3.0
|
229
|
+
- - "<"
|
230
|
+
- !ruby/object:Gem::Version
|
231
|
+
version: '3.0'
|
166
232
|
- !ruby/object:Gem::Dependency
|
167
233
|
name: minitest
|
168
234
|
requirement: !ruby/object:Gem::Requirement
|
@@ -206,75 +272,89 @@ dependencies:
|
|
206
272
|
- !ruby/object:Gem::Version
|
207
273
|
version: 1.7.1
|
208
274
|
- !ruby/object:Gem::Dependency
|
209
|
-
name:
|
275
|
+
name: mocha
|
210
276
|
requirement: !ruby/object:Gem::Requirement
|
211
277
|
requirements:
|
212
278
|
- - "~>"
|
213
279
|
- !ruby/object:Gem::Version
|
214
|
-
version:
|
280
|
+
version: 2.4.5
|
215
281
|
type: :development
|
216
282
|
prerelease: false
|
217
283
|
version_requirements: !ruby/object:Gem::Requirement
|
218
284
|
requirements:
|
219
285
|
- - "~>"
|
220
286
|
- !ruby/object:Gem::Version
|
221
|
-
version:
|
287
|
+
version: 2.4.5
|
222
288
|
- !ruby/object:Gem::Dependency
|
223
|
-
name:
|
289
|
+
name: pry
|
224
290
|
requirement: !ruby/object:Gem::Requirement
|
225
291
|
requirements:
|
226
292
|
- - "~>"
|
227
293
|
- !ruby/object:Gem::Version
|
228
|
-
version:
|
294
|
+
version: 0.15.2
|
229
295
|
type: :development
|
230
296
|
prerelease: false
|
231
297
|
version_requirements: !ruby/object:Gem::Requirement
|
232
298
|
requirements:
|
233
299
|
- - "~>"
|
234
300
|
- !ruby/object:Gem::Version
|
235
|
-
version:
|
301
|
+
version: 0.15.2
|
236
302
|
- !ruby/object:Gem::Dependency
|
237
|
-
name:
|
303
|
+
name: rake
|
238
304
|
requirement: !ruby/object:Gem::Requirement
|
239
305
|
requirements:
|
240
306
|
- - "~>"
|
241
307
|
- !ruby/object:Gem::Version
|
242
|
-
version:
|
308
|
+
version: 13.3.0
|
243
309
|
type: :development
|
244
310
|
prerelease: false
|
245
311
|
version_requirements: !ruby/object:Gem::Requirement
|
246
312
|
requirements:
|
247
313
|
- - "~>"
|
248
314
|
- !ruby/object:Gem::Version
|
249
|
-
version:
|
315
|
+
version: 13.3.0
|
250
316
|
- !ruby/object:Gem::Dependency
|
251
|
-
name:
|
317
|
+
name: simplecov
|
252
318
|
requirement: !ruby/object:Gem::Requirement
|
253
319
|
requirements:
|
254
320
|
- - "~>"
|
255
321
|
- !ruby/object:Gem::Version
|
256
|
-
version:
|
322
|
+
version: 0.22.0
|
257
323
|
type: :development
|
258
324
|
prerelease: false
|
259
325
|
version_requirements: !ruby/object:Gem::Requirement
|
260
326
|
requirements:
|
261
327
|
- - "~>"
|
262
328
|
- !ruby/object:Gem::Version
|
263
|
-
version:
|
329
|
+
version: 0.22.0
|
264
330
|
- !ruby/object:Gem::Dependency
|
265
|
-
name:
|
331
|
+
name: timecop
|
266
332
|
requirement: !ruby/object:Gem::Requirement
|
267
333
|
requirements:
|
268
334
|
- - "~>"
|
269
335
|
- !ruby/object:Gem::Version
|
270
|
-
version: 0.
|
336
|
+
version: 0.9.10
|
271
337
|
type: :development
|
272
338
|
prerelease: false
|
273
339
|
version_requirements: !ruby/object:Gem::Requirement
|
274
340
|
requirements:
|
275
341
|
- - "~>"
|
276
342
|
- !ruby/object:Gem::Version
|
277
|
-
version: 0.
|
343
|
+
version: 0.9.10
|
344
|
+
- !ruby/object:Gem::Dependency
|
345
|
+
name: webmock
|
346
|
+
requirement: !ruby/object:Gem::Requirement
|
347
|
+
requirements:
|
348
|
+
- - "~>"
|
349
|
+
- !ruby/object:Gem::Version
|
350
|
+
version: 3.24.0
|
351
|
+
type: :development
|
352
|
+
prerelease: false
|
353
|
+
version_requirements: !ruby/object:Gem::Requirement
|
354
|
+
requirements:
|
355
|
+
- - "~>"
|
356
|
+
- !ruby/object:Gem::Version
|
357
|
+
version: 3.24.0
|
278
358
|
- !ruby/object:Gem::Dependency
|
279
359
|
name: activerecord
|
280
360
|
requirement: !ruby/object:Gem::Requirement
|
@@ -290,38 +370,41 @@ dependencies:
|
|
290
370
|
- !ruby/object:Gem::Version
|
291
371
|
version: '8.0'
|
292
372
|
- !ruby/object:Gem::Dependency
|
293
|
-
name:
|
373
|
+
name: logger
|
294
374
|
requirement: !ruby/object:Gem::Requirement
|
295
375
|
requirements:
|
296
376
|
- - ">="
|
297
377
|
- !ruby/object:Gem::Version
|
298
|
-
version: '
|
378
|
+
version: '0'
|
299
379
|
type: :development
|
300
380
|
prerelease: false
|
301
381
|
version_requirements: !ruby/object:Gem::Requirement
|
302
382
|
requirements:
|
303
383
|
- - ">="
|
304
384
|
- !ruby/object:Gem::Version
|
305
|
-
version: '
|
385
|
+
version: '0'
|
306
386
|
- !ruby/object:Gem::Dependency
|
307
|
-
name:
|
387
|
+
name: sqlite3
|
308
388
|
requirement: !ruby/object:Gem::Requirement
|
309
389
|
requirements:
|
310
390
|
- - ">="
|
311
391
|
- !ruby/object:Gem::Version
|
312
|
-
version: '
|
392
|
+
version: '2.7'
|
313
393
|
type: :development
|
314
394
|
prerelease: false
|
315
395
|
version_requirements: !ruby/object:Gem::Requirement
|
316
396
|
requirements:
|
317
397
|
- - ">="
|
318
398
|
- !ruby/object:Gem::Version
|
319
|
-
version: '
|
399
|
+
version: '2.7'
|
320
400
|
description: A client for using the UrlCategorise API in Ruby. Built from their api
|
321
401
|
documentation. This is an unofficial project.
|
322
402
|
email:
|
323
403
|
- contact@jasonchalom.com
|
324
|
-
executables:
|
404
|
+
executables:
|
405
|
+
- check_lists
|
406
|
+
- export_csv
|
407
|
+
- export_hosts
|
325
408
|
extensions: []
|
326
409
|
extra_rdoc_files: []
|
327
410
|
files:
|
@@ -338,13 +421,20 @@ files:
|
|
338
421
|
- Rakefile
|
339
422
|
- bin/check_lists
|
340
423
|
- bin/console
|
424
|
+
- bin/export_csv
|
425
|
+
- bin/export_hosts
|
426
|
+
- bin/rake
|
341
427
|
- bin/setup
|
428
|
+
- correct_usage_example.rb
|
342
429
|
- docs/.keep
|
343
430
|
- docs/v0.1-context.md
|
431
|
+
- docs/v0.1.4-features.md
|
344
432
|
- lib/url_categorise.rb
|
345
433
|
- lib/url_categorise/active_record_client.rb
|
346
434
|
- lib/url_categorise/client.rb
|
347
435
|
- lib/url_categorise/constants.rb
|
436
|
+
- lib/url_categorise/dataset_processor.rb
|
437
|
+
- lib/url_categorise/iab_compliance.rb
|
348
438
|
- lib/url_categorise/models.rb
|
349
439
|
- lib/url_categorise/version.rb
|
350
440
|
- url_categorise.gemspec
|
@@ -366,7 +456,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
366
456
|
- !ruby/object:Gem::Version
|
367
457
|
version: '0'
|
368
458
|
requirements: []
|
369
|
-
rubygems_version: 3.6.
|
459
|
+
rubygems_version: 3.6.9
|
370
460
|
specification_version: 4
|
371
461
|
summary: A client for using the UrlCategorise API in Ruby.
|
372
462
|
test_files: []
|