robots_tag_parser 0.1.1
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 +7 -0
- data/.circleci/config.yml +66 -0
- data/.codeinventory.yml +13 -0
- data/.github/pull_request_template.md +19 -0
- data/.gitignore +14 -0
- data/.rspec +2 -0
- data/.rubocop.yml +2 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +111 -0
- data/LICENSE.md +31 -0
- data/README.md +69 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/robots_tag_parser/version.rb +3 -0
- data/lib/robots_tag_parser.rb +30 -0
- data/robots_tag_parser.gemspec +31 -0
- metadata +172 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: a809876ca8fb408908258b92c72b098ce6eb13256d5bbc96c1bea4bdca404bc3
|
|
4
|
+
data.tar.gz: ab449b96a869192412b0fd1e47cf5382cdfbff7c8a73ef104f958286b0a0616c
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 7e963d9cc19af7ab621a17bc5fdc0a270acb7e7a8e2aa7ad73abfa225b5a8a60358a3783f998fbea560e999de79028c6ecf36ad973a5ecf2e5979a09ec71b0a3
|
|
7
|
+
data.tar.gz: 0f5704d0d9de04a9081ebe22e830da9cc8f353bdbcfad2f850b23484906e90f8f7a63db5376080df0d89a4726ea2e10248d38889ecdd1f88745586d37f56e735
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Ruby CircleCI 2.0 configuration file
|
|
2
|
+
#
|
|
3
|
+
# Check https://circleci.com/docs/2.0/language-ruby/ for more details
|
|
4
|
+
#
|
|
5
|
+
version: 2.1
|
|
6
|
+
|
|
7
|
+
orbs:
|
|
8
|
+
ruby: circleci/ruby@2.0.0
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
build_and_test:
|
|
12
|
+
parameters:
|
|
13
|
+
ruby_version:
|
|
14
|
+
type: string
|
|
15
|
+
environment:
|
|
16
|
+
CC_TEST_REPORTER_ID: 04c5e730214438ccb56fa2e218bc65bcc1ae4ea86efb5c1f58f7eb9cc065c82a
|
|
17
|
+
COVERAGE: true
|
|
18
|
+
docker:
|
|
19
|
+
- image: cimg/ruby:<< parameters.ruby_version >>
|
|
20
|
+
|
|
21
|
+
working_directory: ~/robots_tag_parser
|
|
22
|
+
|
|
23
|
+
steps:
|
|
24
|
+
- checkout
|
|
25
|
+
|
|
26
|
+
# Install gems with Bundler
|
|
27
|
+
- ruby/install-deps:
|
|
28
|
+
# Need to clear the gem cache? Set or bump the CACHE_VERSION in your
|
|
29
|
+
# CircleCi project: Project Settings > Environment Variables
|
|
30
|
+
key: gems-ruby-<< parameters.ruby_version >>-v{{ .Environment.CACHE_VERSION }}
|
|
31
|
+
|
|
32
|
+
- run:
|
|
33
|
+
name: Prepare Code Climate Test Reporter
|
|
34
|
+
command: |
|
|
35
|
+
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
|
36
|
+
chmod +x ./cc-test-reporter
|
|
37
|
+
./cc-test-reporter before-build
|
|
38
|
+
|
|
39
|
+
- ruby/rspec-test:
|
|
40
|
+
# Need to temporarily test with a particular seed? Use:
|
|
41
|
+
# order: rand:123
|
|
42
|
+
order: rand
|
|
43
|
+
|
|
44
|
+
- run:
|
|
45
|
+
name: Report Test Results
|
|
46
|
+
command: |
|
|
47
|
+
./cc-test-reporter after-build
|
|
48
|
+
|
|
49
|
+
# collect reports
|
|
50
|
+
- store_test_results:
|
|
51
|
+
path: /tmp/test-results
|
|
52
|
+
- store_artifacts:
|
|
53
|
+
path: /tmp/test-results
|
|
54
|
+
destination: test-results
|
|
55
|
+
|
|
56
|
+
workflows:
|
|
57
|
+
build_and_test:
|
|
58
|
+
jobs:
|
|
59
|
+
- build_and_test:
|
|
60
|
+
name: "Ruby << matrix.ruby_version >>"
|
|
61
|
+
matrix:
|
|
62
|
+
parameters:
|
|
63
|
+
ruby_version:
|
|
64
|
+
- 2.7.6
|
|
65
|
+
- 3.0.4
|
|
66
|
+
- 3.1.2
|
data/.codeinventory.yml
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
name: RobotsTagParser
|
|
2
|
+
description: 'A gem to parse X-Robots-Tag HTTP headers.'
|
|
3
|
+
license: 'https://creativecommons.org/publicdomain/zero/1.0'
|
|
4
|
+
openSourceProject: 1
|
|
5
|
+
governmentWideReuseProject: 1
|
|
6
|
+
tags:
|
|
7
|
+
- GSA
|
|
8
|
+
- Search.gov
|
|
9
|
+
- search
|
|
10
|
+
- indexing
|
|
11
|
+
- robots
|
|
12
|
+
contact:
|
|
13
|
+
email: search@gsa.gov
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
## Summary
|
|
2
|
+
- Brief summary of the changes included in this PR
|
|
3
|
+
- Any additional information or context which may help the reviewer
|
|
4
|
+
|
|
5
|
+
### Checklist
|
|
6
|
+
Please ensure you have addressed all concerns below before marking a PR "ready for review" or before requesting a re-review. If you cannot complete an item below, replace the checkbox with the ⚠️ `:warning:` emoji and explain why the step was not completed.
|
|
7
|
+
|
|
8
|
+
#### Functionality Checks
|
|
9
|
+
- [ ] You have merged the latest changes from the target branch (usually `main`) into your branch.
|
|
10
|
+
|
|
11
|
+
- [ ] Your primary commit message is of the format **SRCH-#### \<description\>** matching the associated Jira ticket.
|
|
12
|
+
|
|
13
|
+
- [ ] PR title is either of the format **SRCH-#### \<description\>** matching the associated Jira ticket (i.e. "SRCH-123 implement feature X"), or **Release - SRCH-####, SRCH-####, SRCH-####** matching the Jira ticket numbers in the release.
|
|
14
|
+
|
|
15
|
+
- [ ] Automated checks pass, if applicable. If Code Climate checks do not pass, explain reason for failures:
|
|
16
|
+
|
|
17
|
+
#### Process Checks
|
|
18
|
+
|
|
19
|
+
- [ ] You have specified at least one "Reviewer".
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.rubocop.yml
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
robots_tag_parser (0.1.1)
|
|
5
|
+
|
|
6
|
+
GEM
|
|
7
|
+
remote: https://rubygems.org/
|
|
8
|
+
specs:
|
|
9
|
+
activesupport (7.0.4)
|
|
10
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
11
|
+
i18n (>= 1.6, < 2)
|
|
12
|
+
minitest (>= 5.1)
|
|
13
|
+
tzinfo (~> 2.0)
|
|
14
|
+
ast (2.4.2)
|
|
15
|
+
coderay (1.1.3)
|
|
16
|
+
concurrent-ruby (1.1.10)
|
|
17
|
+
debug (1.6.3)
|
|
18
|
+
irb (>= 1.3.6)
|
|
19
|
+
reline (>= 0.3.1)
|
|
20
|
+
diff-lcs (1.5.0)
|
|
21
|
+
docile (1.4.0)
|
|
22
|
+
i18n (1.12.0)
|
|
23
|
+
concurrent-ruby (~> 1.0)
|
|
24
|
+
io-console (0.5.11)
|
|
25
|
+
irb (1.4.2)
|
|
26
|
+
reline (>= 0.3.0)
|
|
27
|
+
method_source (1.0.0)
|
|
28
|
+
minitest (5.16.3)
|
|
29
|
+
parallel (1.22.1)
|
|
30
|
+
parser (3.1.2.1)
|
|
31
|
+
ast (~> 2.4.1)
|
|
32
|
+
pry (0.14.1)
|
|
33
|
+
coderay (~> 1.1)
|
|
34
|
+
method_source (~> 1.0)
|
|
35
|
+
rack (3.0.0)
|
|
36
|
+
rainbow (3.1.1)
|
|
37
|
+
rake (13.0.6)
|
|
38
|
+
regexp_parser (2.6.0)
|
|
39
|
+
reline (0.3.1)
|
|
40
|
+
io-console (~> 0.5)
|
|
41
|
+
rexml (3.2.5)
|
|
42
|
+
rspec (3.12.0)
|
|
43
|
+
rspec-core (~> 3.12.0)
|
|
44
|
+
rspec-expectations (~> 3.12.0)
|
|
45
|
+
rspec-mocks (~> 3.12.0)
|
|
46
|
+
rspec-core (3.12.0)
|
|
47
|
+
rspec-support (~> 3.12.0)
|
|
48
|
+
rspec-expectations (3.12.0)
|
|
49
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
50
|
+
rspec-support (~> 3.12.0)
|
|
51
|
+
rspec-mocks (3.12.0)
|
|
52
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
53
|
+
rspec-support (~> 3.12.0)
|
|
54
|
+
rspec-support (3.12.0)
|
|
55
|
+
rspec_junit_formatter (0.5.1)
|
|
56
|
+
rspec-core (>= 2, < 4, != 2.12.0)
|
|
57
|
+
rubocop (1.31.0)
|
|
58
|
+
parallel (~> 1.10)
|
|
59
|
+
parser (>= 3.1.0.0)
|
|
60
|
+
rainbow (>= 2.2.2, < 4.0)
|
|
61
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
62
|
+
rexml (>= 3.2.5, < 4.0)
|
|
63
|
+
rubocop-ast (>= 1.18.0, < 2.0)
|
|
64
|
+
ruby-progressbar (~> 1.7)
|
|
65
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
|
66
|
+
rubocop-ast (1.23.0)
|
|
67
|
+
parser (>= 3.1.1.0)
|
|
68
|
+
rubocop-performance (1.15.0)
|
|
69
|
+
rubocop (>= 1.7.0, < 2.0)
|
|
70
|
+
rubocop-ast (>= 0.4.0)
|
|
71
|
+
rubocop-rails (2.15.2)
|
|
72
|
+
activesupport (>= 4.2.0)
|
|
73
|
+
rack (>= 1.1)
|
|
74
|
+
rubocop (>= 1.7.0, < 2.0)
|
|
75
|
+
rubocop-rake (0.6.0)
|
|
76
|
+
rubocop (~> 1.0)
|
|
77
|
+
rubocop-rspec (2.12.1)
|
|
78
|
+
rubocop (~> 1.31)
|
|
79
|
+
ruby-progressbar (1.11.0)
|
|
80
|
+
searchgov_style (0.1.20)
|
|
81
|
+
rubocop (= 1.31.0)
|
|
82
|
+
rubocop-performance (~> 1.9)
|
|
83
|
+
rubocop-rails (~> 2.9)
|
|
84
|
+
rubocop-rake (~> 0.5)
|
|
85
|
+
rubocop-rspec (~> 2.5)
|
|
86
|
+
simplecov (0.21.2)
|
|
87
|
+
docile (~> 1.1)
|
|
88
|
+
simplecov-html (~> 0.11)
|
|
89
|
+
simplecov_json_formatter (~> 0.1)
|
|
90
|
+
simplecov-html (0.12.3)
|
|
91
|
+
simplecov_json_formatter (0.1.4)
|
|
92
|
+
tzinfo (2.0.5)
|
|
93
|
+
concurrent-ruby (~> 1.0)
|
|
94
|
+
unicode-display_width (2.3.0)
|
|
95
|
+
|
|
96
|
+
PLATFORMS
|
|
97
|
+
ruby
|
|
98
|
+
|
|
99
|
+
DEPENDENCIES
|
|
100
|
+
bundler (>= 2.3)
|
|
101
|
+
debug
|
|
102
|
+
pry
|
|
103
|
+
rake
|
|
104
|
+
robots_tag_parser!
|
|
105
|
+
rspec (~> 3.0)
|
|
106
|
+
rspec_junit_formatter
|
|
107
|
+
searchgov_style
|
|
108
|
+
simplecov
|
|
109
|
+
|
|
110
|
+
BUNDLED WITH
|
|
111
|
+
2.3.15
|
data/LICENSE.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
As a work of the United States government, this project is in the
|
|
2
|
+
public domain within the United States.
|
|
3
|
+
|
|
4
|
+
Additionally, we waive copyright and related rights in the work
|
|
5
|
+
worldwide through the CC0 1.0 Universal public domain dedication.
|
|
6
|
+
|
|
7
|
+
## CC0 1.0 Universal summary
|
|
8
|
+
|
|
9
|
+
This is a human-readable summary of the [Legal Code (read the full text)](https://creativecommons.org/publicdomain/zero/1.0/legalcode).
|
|
10
|
+
|
|
11
|
+
### No copyright
|
|
12
|
+
|
|
13
|
+
The person who associated a work with this deed has dedicated the work to
|
|
14
|
+
the public domain by waiving all rights to the work worldwide
|
|
15
|
+
under copyright law, including all related and neighboring rights, to the
|
|
16
|
+
extent allowed by law.
|
|
17
|
+
|
|
18
|
+
You can copy, modify, distribute and perform the work, even for commercial
|
|
19
|
+
purposes, all without asking permission.
|
|
20
|
+
|
|
21
|
+
### Other information
|
|
22
|
+
|
|
23
|
+
In no way are the patent or trademark rights of any person affected by CC0,
|
|
24
|
+
nor are the rights that other persons may have in the work or in how the
|
|
25
|
+
work is used, such as publicity or privacy rights.
|
|
26
|
+
|
|
27
|
+
Unless expressly stated otherwise, the person who associated a work with
|
|
28
|
+
this deed makes no warranties about the work, and disclaims liability for
|
|
29
|
+
all uses of the work, to the fullest extent permitted by applicable law.
|
|
30
|
+
When using or citing the work, you should not imply endorsement by the
|
|
31
|
+
author or the affirmer.
|
data/README.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# RobotsTagParser
|
|
2
|
+
|
|
3
|
+
A simple gem to parse X-Robots-Tag HTTP headers according to [Google X-Robots-Tag HTTP header specifications](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#using-the-x-robots-tag-http-header).
|
|
4
|
+
|
|
5
|
+
[](https://circleci.com/gh/GSA/robots_tag_parser)
|
|
6
|
+
[](https://codeclimate.com/github/GSA/robots_tag_parser)
|
|
7
|
+
[](https://codeclimate.com/github/GSA/robots_tag_parser/coverage)
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
Add this line to your application's Gemfile:
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
gem 'robots_tag_parser', git: 'https://github.com/GSA/robots_tag_parser'
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
And then execute:
|
|
18
|
+
|
|
19
|
+
$ bundle
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
### Basic examples
|
|
24
|
+
Get rules applying to all user agents:
|
|
25
|
+
|
|
26
|
+
```ruby
|
|
27
|
+
headers = { 'X-Robots-Tag' => ['noindex,noarchive', 'googlebot: nofollow'] }
|
|
28
|
+
|
|
29
|
+
RobotsTagParser.get_rules(headers: headers)
|
|
30
|
+
=> ['noindex', 'noarchive']
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Get rules applying to specific user agents (which include generic
|
|
34
|
+
rules):
|
|
35
|
+
|
|
36
|
+
```ruby
|
|
37
|
+
headers = { 'X-Robots-Tag' => ['noindex,noarchive', 'googlebot: nofollow'] }
|
|
38
|
+
|
|
39
|
+
RobotsTagParser.get_rules(headers: headers, user_agent: 'googlebot')
|
|
40
|
+
=> ['noindex', 'noarchive', 'nofollow']
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## Development
|
|
45
|
+
|
|
46
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
|
47
|
+
|
|
48
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
|
49
|
+
|
|
50
|
+
## Contributing
|
|
51
|
+
|
|
52
|
+
Bug reports and pull requests are welcome on [GitHub](https://github.com/GSA/robots_tag_parser).
|
|
53
|
+
|
|
54
|
+
## License
|
|
55
|
+
|
|
56
|
+
The gem is available as open source under the terms of the [CC0 License](LICENSE.md).
|
|
57
|
+
|
|
58
|
+
## Directives:
|
|
59
|
+
- [x] `all` - There are no restrictions for indexing or serving.
|
|
60
|
+
- [x] `none` - Equivalent to `noindex` and `nofollow`.
|
|
61
|
+
- [x] `noindex` - Do not show this page in search results and do not show a "Cached" link in search results.
|
|
62
|
+
- [x] `nofollow` - Do not follow the links on this page.
|
|
63
|
+
- [x] `noarchive` - Do not show a "Cached" link in search results.
|
|
64
|
+
- [x] `nosnippet` - Do not show a snippet in the search results for this page.
|
|
65
|
+
- [x] `notranslate` - Do not offer translation of this page in search results.
|
|
66
|
+
- [x] `noimageindex` - Do not index images on this page.
|
|
67
|
+
- [x] `unavailable_after` - Do not show this page in search results after the specified date/time.
|
|
68
|
+
|
|
69
|
+
Source: [https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives)
|
data/Rakefile
ADDED
data/bin/console
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
require "bundler/setup"
|
|
4
|
+
require "robots_tag_parser"
|
|
5
|
+
|
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
|
8
|
+
|
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
|
10
|
+
# require "pry"
|
|
11
|
+
# Pry.start
|
|
12
|
+
|
|
13
|
+
require "irb"
|
|
14
|
+
IRB.start(__FILE__)
|
data/bin/setup
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
require "robots_tag_parser/version"
|
|
2
|
+
|
|
3
|
+
module RobotsTagParser
|
|
4
|
+
def self.get_rules(headers:, user_agent: nil)
|
|
5
|
+
raise ArgumentError, 'Headers must be a hash' unless headers.is_a? Hash
|
|
6
|
+
rules = downcase_keys(headers)['x-robots-tag']
|
|
7
|
+
return [] unless rules
|
|
8
|
+
hash_of(rules).values_at('all', user_agent).compact.flatten.uniq
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def self.downcase_keys(hash)
|
|
12
|
+
new_hash = {}
|
|
13
|
+
hash.each_pair{ |key, val| new_hash[key.downcase] = val }
|
|
14
|
+
new_hash
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.hash_of(rules)
|
|
18
|
+
rules = (rules.is_a? String) ? [rules] : rules
|
|
19
|
+
rules.map!{ |rule| RuleParser.parse(rule) }.reduce(&:merge)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
class RuleParser
|
|
23
|
+
def self.parse(rule_string)
|
|
24
|
+
rule = rule_string.downcase.split(/: */)
|
|
25
|
+
user_agent, rules = (rule.length == 1 ? 'all' : rule[0]), rule.last
|
|
26
|
+
rules = rules.split(',').map(&:strip)
|
|
27
|
+
Hash[[[user_agent, rules]]]
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
lib = File.expand_path("../lib", __FILE__)
|
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
|
+
require "robots_tag_parser/version"
|
|
4
|
+
|
|
5
|
+
Gem::Specification.new do |spec|
|
|
6
|
+
spec.name = "robots_tag_parser"
|
|
7
|
+
spec.version = RobotsTagParser::VERSION
|
|
8
|
+
spec.authors = ["Martha Thompson"]
|
|
9
|
+
spec.email = ["mothonmars@gmail.com"]
|
|
10
|
+
|
|
11
|
+
spec.summary = %q{X-Robots-Tag HTTP header parser}
|
|
12
|
+
spec.description = %q{A simple gem to parse X-Robots-Tag HTTP headers according to Google X-Robots-Tag HTTP header specifications.}
|
|
13
|
+
spec.homepage = "https://github.com/GSA/robots_tag_parser"
|
|
14
|
+
spec.license = "MIT"
|
|
15
|
+
|
|
16
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
|
17
|
+
f.match(%r{^(test|spec|features)/})
|
|
18
|
+
end
|
|
19
|
+
spec.bindir = "exe"
|
|
20
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
21
|
+
spec.require_paths = ["lib"]
|
|
22
|
+
|
|
23
|
+
spec.add_development_dependency "bundler", ">= 2.3"
|
|
24
|
+
spec.add_development_dependency "rake"
|
|
25
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
|
26
|
+
spec.add_development_dependency "rspec_junit_formatter" # used in CircleCI
|
|
27
|
+
spec.add_development_dependency "pry"
|
|
28
|
+
spec.add_development_dependency "simplecov"
|
|
29
|
+
spec.add_development_dependency "debug"
|
|
30
|
+
spec.add_development_dependency "searchgov_style"
|
|
31
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: robots_tag_parser
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Martha Thompson
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: exe
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2022-11-07 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: bundler
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '2.3'
|
|
20
|
+
type: :development
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '2.3'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rake
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">="
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - ">="
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: rspec
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '3.0'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '3.0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: rspec_junit_formatter
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: pry
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: simplecov
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - ">="
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - ">="
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: debug
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '0'
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - ">="
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '0'
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: searchgov_style
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - ">="
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0'
|
|
118
|
+
type: :development
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - ">="
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '0'
|
|
125
|
+
description: A simple gem to parse X-Robots-Tag HTTP headers according to Google X-Robots-Tag
|
|
126
|
+
HTTP header specifications.
|
|
127
|
+
email:
|
|
128
|
+
- mothonmars@gmail.com
|
|
129
|
+
executables: []
|
|
130
|
+
extensions: []
|
|
131
|
+
extra_rdoc_files: []
|
|
132
|
+
files:
|
|
133
|
+
- ".circleci/config.yml"
|
|
134
|
+
- ".codeinventory.yml"
|
|
135
|
+
- ".github/pull_request_template.md"
|
|
136
|
+
- ".gitignore"
|
|
137
|
+
- ".rspec"
|
|
138
|
+
- ".rubocop.yml"
|
|
139
|
+
- Gemfile
|
|
140
|
+
- Gemfile.lock
|
|
141
|
+
- LICENSE.md
|
|
142
|
+
- README.md
|
|
143
|
+
- Rakefile
|
|
144
|
+
- bin/console
|
|
145
|
+
- bin/setup
|
|
146
|
+
- lib/robots_tag_parser.rb
|
|
147
|
+
- lib/robots_tag_parser/version.rb
|
|
148
|
+
- robots_tag_parser.gemspec
|
|
149
|
+
homepage: https://github.com/GSA/robots_tag_parser
|
|
150
|
+
licenses:
|
|
151
|
+
- MIT
|
|
152
|
+
metadata: {}
|
|
153
|
+
post_install_message:
|
|
154
|
+
rdoc_options: []
|
|
155
|
+
require_paths:
|
|
156
|
+
- lib
|
|
157
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
158
|
+
requirements:
|
|
159
|
+
- - ">="
|
|
160
|
+
- !ruby/object:Gem::Version
|
|
161
|
+
version: '0'
|
|
162
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
163
|
+
requirements:
|
|
164
|
+
- - ">="
|
|
165
|
+
- !ruby/object:Gem::Version
|
|
166
|
+
version: '0'
|
|
167
|
+
requirements: []
|
|
168
|
+
rubygems_version: 3.3.15
|
|
169
|
+
signing_key:
|
|
170
|
+
specification_version: 4
|
|
171
|
+
summary: X-Robots-Tag HTTP header parser
|
|
172
|
+
test_files: []
|