company_number 0.1.2 → 0.1.3
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/.codeclimate.yml +4 -0
- data/.github/workflows/ci.yml +76 -0
- data/.rubocop.yml +12 -13
- data/.simplecov +6 -0
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +2 -2
- data/Gemfile +3 -1
- data/README.md +24 -20
- data/Rakefile +5 -5
- data/bin/setup +1 -1
- data/company_number.gemspec +8 -8
- data/config/dictionary.yml +3 -3
- data/lib/company_number/dictionary.rb +1 -1
- data/lib/company_number/version.rb +1 -1
- data/lib/company_number.rb +3 -3
- data/rubocop/rubocop.html +433 -0
- metadata +23 -34
- data/.github/workflows/build.yml +0 -93
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c02ace863de99e8b6d41ff12185285c5c4bff2131e45d23873981cf0115e03ee
|
4
|
+
data.tar.gz: 81ab67bc56f3de3edf78432cdb679ede3237d7fdcb40266f666ed6713c3dde35
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6b6ff3493c540f62461a948d05de2ee4206ee0c2851d366eaf46e632802f74d7c9fc21c1a232404eef724197e70ee1194ec99ec3dea3c2363c53879352736799
|
7
|
+
data.tar.gz: 8973da310ae9ba856ca2553c3d1e8c27fdd3f0a20ff03044b1487539a735f6548ee9b8f51974fc4635421297fcb95320ab1a9cc1bc2be6939a4aa354d7c7b94f
|
data/.codeclimate.yml
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
name: "CI"
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches:
|
6
|
+
- "*"
|
7
|
+
pull_request:
|
8
|
+
branches:
|
9
|
+
- "*"
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
lint:
|
13
|
+
name: "RuboCop"
|
14
|
+
timeout-minutes: 5
|
15
|
+
runs-on: "ubuntu-latest"
|
16
|
+
steps:
|
17
|
+
- uses: "actions/checkout@v3"
|
18
|
+
|
19
|
+
- name: "Set up Ruby"
|
20
|
+
uses: "ruby/setup-ruby@v1"
|
21
|
+
with:
|
22
|
+
ruby-version: "3.1"
|
23
|
+
bundler-cache: true
|
24
|
+
|
25
|
+
- name: "Run RuboCop"
|
26
|
+
run: "bundle exec rubocop"
|
27
|
+
|
28
|
+
test:
|
29
|
+
runs-on: "ubuntu-latest"
|
30
|
+
strategy:
|
31
|
+
fail-fast: false
|
32
|
+
matrix:
|
33
|
+
ruby-version:
|
34
|
+
- "2.5"
|
35
|
+
- "2.6"
|
36
|
+
- "2.7"
|
37
|
+
- "3.0"
|
38
|
+
- "3.1"
|
39
|
+
|
40
|
+
steps:
|
41
|
+
- uses: "actions/checkout@v3"
|
42
|
+
|
43
|
+
- name: "Set up Ruby"
|
44
|
+
uses: "ruby/setup-ruby@v1"
|
45
|
+
with:
|
46
|
+
ruby-version: "${{ matrix.ruby-version }}"
|
47
|
+
bundler-cache: true
|
48
|
+
|
49
|
+
- name: "Run specs"
|
50
|
+
run: "bundle exec rspec"
|
51
|
+
|
52
|
+
- name: "Upload artifacts"
|
53
|
+
uses: "actions/upload-artifact@v3"
|
54
|
+
with:
|
55
|
+
name: "coverage-artifacts"
|
56
|
+
path: "${{github.workspace}}/coverage/coverage.json"
|
57
|
+
retention-days: 1
|
58
|
+
|
59
|
+
coverage:
|
60
|
+
name: "Report coverage to Code Climate"
|
61
|
+
runs-on: "ubuntu-20.04"
|
62
|
+
needs: "test"
|
63
|
+
if: "success() && github.ref == 'refs/heads/master'"
|
64
|
+
env:
|
65
|
+
CC_TEST_REPORTER_ID: "${{ secrets.CC_TEST_REPORTER_ID }}"
|
66
|
+
|
67
|
+
steps:
|
68
|
+
- uses: "actions/checkout@v3"
|
69
|
+
|
70
|
+
- name: "Download coverage artifacts from test job"
|
71
|
+
uses: "actions/download-artifact@v3"
|
72
|
+
with:
|
73
|
+
name: "coverage-artifacts"
|
74
|
+
- uses: "paambaati/codeclimate-action@v3.2.0"
|
75
|
+
with:
|
76
|
+
coverageLocations: "coverage.json:simplecov"
|
data/.rubocop.yml
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
AllCops:
|
2
|
-
TargetRubyVersion: 2.
|
2
|
+
TargetRubyVersion: 2.5
|
3
|
+
NewCops: enable
|
4
|
+
SuggestExtensions: false
|
5
|
+
Exclude:
|
6
|
+
- "vendor/**/*"
|
3
7
|
|
4
8
|
Style/FrozenStringLiteralComment:
|
5
9
|
Enabled: false
|
6
10
|
|
7
11
|
Style/StringLiterals:
|
8
|
-
|
12
|
+
EnforcedStyle: double_quotes
|
9
13
|
|
10
14
|
Style/Documentation:
|
11
15
|
Enabled: false
|
12
16
|
|
13
|
-
Metrics/BlockLength:
|
14
|
-
Exclude:
|
15
|
-
- spec/**/*
|
16
|
-
|
17
17
|
Metrics/CyclomaticComplexity:
|
18
18
|
Enabled: true
|
19
19
|
|
@@ -22,17 +22,16 @@ Metrics/MethodLength:
|
|
22
22
|
|
23
23
|
Metrics/BlockLength:
|
24
24
|
Exclude:
|
25
|
-
-
|
26
|
-
-
|
25
|
+
- "spec/**/*_spec.rb"
|
26
|
+
- "*.gemspec"
|
27
27
|
|
28
28
|
Layout/LineLength:
|
29
|
-
Max: 80
|
30
29
|
Exclude:
|
31
|
-
-
|
32
|
-
-
|
30
|
+
- "spec/**/*_spec.rb"
|
31
|
+
- "*.gemspec"
|
33
32
|
|
34
33
|
Naming/MemoizedInstanceVariableName:
|
35
|
-
|
34
|
+
EnforcedStyleForLeadingUnderscores: optional
|
36
35
|
|
37
|
-
Gemspec/
|
36
|
+
Gemspec/RequireMFA:
|
38
37
|
Enabled: false
|
data/.simplecov
ADDED
data/CHANGELOG.md
CHANGED
data/CODE_OF_CONDUCT.md
CHANGED
@@ -22,7 +22,7 @@ Examples of unacceptable behavior include:
|
|
22
22
|
advances of any kind
|
23
23
|
* Trolling, insulting or derogatory comments, and personal or political attacks
|
24
24
|
* Public or private harassment
|
25
|
-
* Publishing others
|
25
|
+
* Publishing others" private information, such as a physical or email
|
26
26
|
address, without their explicit permission
|
27
27
|
* Other conduct which could reasonably be considered inappropriate in a
|
28
28
|
professional setting
|
@@ -76,7 +76,7 @@ Community leaders will follow these Community Impact Guidelines in determining t
|
|
76
76
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0,
|
77
77
|
available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
78
78
|
|
79
|
-
Community Impact Guidelines were inspired by [Mozilla
|
79
|
+
Community Impact Guidelines were inspired by [Mozilla"s code of conduct enforcement ladder](https://github.com/mozilla/diversity).
|
80
80
|
|
81
81
|
[homepage]: https://www.contributor-covenant.org
|
82
82
|
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,15 +1,19 @@
|
|
1
1
|
# CompanyNumber
|
2
2
|
|
3
|
-
[](https://badge.fury.io/rb/company_number)
|
4
|
+
[](https://github.com/VictorAuthiat/company_number/actions/workflows/ci.yml)
|
5
|
+
[](https://codeclimate.com/github/VictorAuthiat/company_number)
|
6
|
+
[](https://codeclimate.com/github/VictorAuthiat/company_number/coverage)
|
7
|
+
[](https://codeclimate.com/github/VictorAuthiat/company_number)
|
4
8
|
|
5
9
|
CompanyNumber is a gem allowing you to validate company number based on a country code
|
6
10
|
|
7
11
|
## Installation
|
8
12
|
|
9
|
-
Add this line to your application
|
13
|
+
Add this line to your application"s Gemfile:
|
10
14
|
|
11
15
|
```ruby
|
12
|
-
gem
|
16
|
+
gem "company_number"
|
13
17
|
```
|
14
18
|
|
15
19
|
And then execute:
|
@@ -25,7 +29,7 @@ Or install it yourself as:
|
|
25
29
|
You can obtain a `CompanyNumber::Number` object calling `parse` method:
|
26
30
|
|
27
31
|
```ruby
|
28
|
-
company_number = CompanyNumber.parse(
|
32
|
+
company_number = CompanyNumber.parse("123456789", :fr)
|
29
33
|
|
30
34
|
# => #<CompanyNumber::Number:0x00007fc015d04e18 @company_number="123456789", @country_code=:fr, @metadata={:country=>"France", :name=>"Numéro SIREN ou SIRET", :regexp=>"^(\\d{9}|\\d{14})$", :pattern=>"9 numbers (XXXXXXXXX) or 14 numbers (XXXXXXXXXXXXXX)"}>
|
31
35
|
```
|
@@ -69,7 +73,7 @@ company_number.to_h
|
|
69
73
|
You can compare 2 instances of `CompanyNumber::Number` with `==` method
|
70
74
|
|
71
75
|
```ruby
|
72
|
-
CompanyNumber.parse(
|
76
|
+
CompanyNumber.parse("123") == CompanyNumber.parse("123")
|
73
77
|
# => true
|
74
78
|
```
|
75
79
|
|
@@ -92,15 +96,15 @@ Available metadata keys:
|
|
92
96
|
|
93
97
|
**Example:**
|
94
98
|
```ruby
|
95
|
-
CompanyNumber.parse(
|
96
|
-
CompanyNumber.parse(
|
99
|
+
CompanyNumber.parse("123456789", :fr).valid? # => true
|
100
|
+
CompanyNumber.parse("12345678901234", :fr).valid? # => true
|
97
101
|
|
98
102
|
CompanyNumber.configure do |config|
|
99
|
-
config.custom_dictionary = { fr: { regexp:
|
103
|
+
config.custom_dictionary = { fr: { regexp: "^\d{14}$" } }
|
100
104
|
end
|
101
105
|
|
102
|
-
CompanyNumber.parse(
|
103
|
-
CompanyNumber.parse(
|
106
|
+
CompanyNumber.parse("123456789", :fr).valid? # => false
|
107
|
+
CompanyNumber.parse("12345678901234", :fr).valid? # => true
|
104
108
|
```
|
105
109
|
|
106
110
|
**strict_validation:**
|
@@ -108,36 +112,36 @@ CompanyNumber.parse('12345678901234', :fr).valid? # => true
|
|
108
112
|
You can also enable strict validation to reject unknow countries:
|
109
113
|
|
110
114
|
```ruby
|
111
|
-
CompanyNumber.parse(
|
112
|
-
CompanyNumber.parse(
|
115
|
+
CompanyNumber.parse("123456789").valid? # => true
|
116
|
+
CompanyNumber.parse("123456789", :tt).valid? # => true
|
113
117
|
|
114
118
|
CompanyNumber.configure do |config|
|
115
119
|
config.strict_validation = true
|
116
120
|
end
|
117
121
|
|
118
|
-
CompanyNumber.parse(
|
119
|
-
CompanyNumber.parse(
|
122
|
+
CompanyNumber.parse("123456789").valid? # => false
|
123
|
+
CompanyNumber.parse("123456789", :tt).valid? # => false
|
120
124
|
```
|
121
125
|
|
122
126
|
**excluded_countries:**
|
123
127
|
|
124
|
-
You may want to exclude some countries, this allows you to automatically validate the country
|
128
|
+
You may want to exclude some countries, this allows you to automatically validate the country"s company number when strict validation is not enabled. You can also exclude a country to overwrite all its metadata and define it later in a custom dictionary.
|
125
129
|
|
126
130
|
**Example:**
|
127
131
|
```ruby
|
128
|
-
CompanyNumber.parse(
|
132
|
+
CompanyNumber.parse("123456789", :be).valid? # => false
|
129
133
|
|
130
134
|
CompanyNumber.configure do |config|
|
131
135
|
config.excluded_countries = [:be]
|
132
136
|
end
|
133
137
|
|
134
|
-
CompanyNumber.parse(
|
138
|
+
CompanyNumber.parse("123456789", :be).valid? # => true
|
135
139
|
```
|
136
140
|
|
137
141
|
## Default dictionary:
|
138
142
|
|
139
143
|
- `:at` - **Austria** - Firmenbuchnummer
|
140
|
-
- `:be` - **Belgium** - Numéro d
|
144
|
+
- `:be` - **Belgium** - Numéro d"entreprise Vestigingseenheidsnummer
|
141
145
|
- `:bg` - **Bulgaria** - ЕИК (EIK)/ПИК (PIK) (UIC/PIC)
|
142
146
|
- `:hr` - **Croatia** - Matični broj poslovnog subjekta (MBS)
|
143
147
|
- `:cy` - **Cyprus** - Αριθμός Μητρώου Εταιρίας Şirket kayıt numarası
|
@@ -155,7 +159,7 @@ CompanyNumber.parse('123456789', :be).valid? # => true
|
|
155
159
|
- `:lv` - **Latvia** - Reģistrācijas numurs
|
156
160
|
- `:li` - **Liechtenstein** - UID
|
157
161
|
- `:lt` - **Lithuania** - Juridinio asmens kodas
|
158
|
-
- `:lu` - **Luxembourg** - Numéro d
|
162
|
+
- `:lu` - **Luxembourg** - Numéro d"immatriculation
|
159
163
|
- `:mt` - **Malta** - Registration Number
|
160
164
|
- `:nl` - **Netherlands** - KvK-nummer
|
161
165
|
- `:no` - **Norway** - TIN
|
@@ -184,4 +188,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
|
|
184
188
|
|
185
189
|
## Code of Conduct
|
186
190
|
|
187
|
-
Everyone interacting in the CompanyNumber project
|
191
|
+
Everyone interacting in the CompanyNumber project"s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/victorauthiat/company_number/blob/master/CODE_OF_CONDUCT.md).
|
data/Rakefile
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "bundler/setup"
|
3
4
|
require "bundler/gem_tasks"
|
4
|
-
require "rspec/core/rake_task"
|
5
|
-
|
6
|
-
RSpec::Core::RakeTask.new(:spec)
|
7
5
|
|
6
|
+
require "rspec/core/rake_task"
|
8
7
|
require "rubocop/rake_task"
|
9
8
|
|
10
|
-
|
9
|
+
RSpec::Core::RakeTask.new(:test)
|
10
|
+
RuboCop::RakeTask.new(:rubocop)
|
11
11
|
|
12
|
-
task default: %i[
|
12
|
+
task default: %i[rubocop test]
|
data/bin/setup
CHANGED
data/company_number.gemspec
CHANGED
@@ -8,9 +8,10 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.authors = ["victorauthiat"]
|
9
9
|
spec.email = ["authiatv@gmail.com"]
|
10
10
|
|
11
|
-
spec.summary =
|
12
|
-
spec.homepage =
|
13
|
-
spec.license =
|
11
|
+
spec.summary = "Validate a company number according to a country code"
|
12
|
+
spec.homepage = "https://github.com/victorauthiat/company_number"
|
13
|
+
spec.license = "MIT"
|
14
|
+
spec.required_ruby_version = ">= 2.5"
|
14
15
|
|
15
16
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
16
17
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
|
@@ -19,9 +20,8 @@ Gem::Specification.new do |spec|
|
|
19
20
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
20
21
|
spec.require_paths = ["lib"]
|
21
22
|
|
22
|
-
spec.add_development_dependency
|
23
|
-
spec.add_development_dependency
|
24
|
-
spec.add_development_dependency
|
25
|
-
spec.add_development_dependency
|
26
|
-
spec.add_development_dependency 'simplecov', '~> 0.21.2'
|
23
|
+
spec.add_development_dependency "bundler"
|
24
|
+
spec.add_development_dependency "rake"
|
25
|
+
spec.add_development_dependency "rspec"
|
26
|
+
spec.add_development_dependency "simplecov"
|
27
27
|
end
|
data/config/dictionary.yml
CHANGED
@@ -7,7 +7,7 @@ at:
|
|
7
7
|
|
8
8
|
be:
|
9
9
|
country: Belgium
|
10
|
-
name: Numéro d
|
10
|
+
name: Numéro d"entreprise Vestigingseenheidsnummer
|
11
11
|
regexp: ^\d{10}$
|
12
12
|
pattern: 10 numbers (XXXXXXXXXX)
|
13
13
|
|
@@ -124,9 +124,9 @@ lt:
|
|
124
124
|
|
125
125
|
lu:
|
126
126
|
country: Luxembourg
|
127
|
-
name: Numéro d
|
127
|
+
name: Numéro d"immatriculation
|
128
128
|
regexp: ^[a-zA-Z]{1}\d{6}|[a-jA-J]\d{3}$
|
129
|
-
pattern: 1 letter + 6 numbers (LXXXXXX)
|
129
|
+
pattern: 1 letter + 6 numbers (LXXXXXX)"
|
130
130
|
variations: 1 letter (from A to J) + 3 numbers (AXXX)
|
131
131
|
|
132
132
|
mt:
|
@@ -5,7 +5,7 @@ module CompanyNumber
|
|
5
5
|
attr_reader :country_codes_metadata, :default_hash
|
6
6
|
|
7
7
|
def self.default_dictionary_path
|
8
|
-
File.join(File.dirname(__FILE__),
|
8
|
+
File.join(File.dirname(__FILE__), "../../config/dictionary.yml")
|
9
9
|
end
|
10
10
|
|
11
11
|
def initialize(country_codes_metadata = {})
|
data/lib/company_number.rb
CHANGED
@@ -5,9 +5,9 @@ require_relative "company_number/version"
|
|
5
5
|
require_relative "company_number/validation"
|
6
6
|
|
7
7
|
module CompanyNumber
|
8
|
-
autoload :Configuration,
|
9
|
-
autoload :Dictionary,
|
10
|
-
autoload :Number,
|
8
|
+
autoload :Configuration, "company_number/configuration"
|
9
|
+
autoload :Dictionary, "company_number/dictionary"
|
10
|
+
autoload :Number, "company_number/number"
|
11
11
|
|
12
12
|
class << self
|
13
13
|
def parse(company_number, country_code = nil)
|
@@ -0,0 +1,433 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset='UTF-8' />
|
5
|
+
<title>RuboCop Inspection Report</title>
|
6
|
+
|
7
|
+
<style>
|
8
|
+
* {
|
9
|
+
-webkit-box-sizing: border-box;
|
10
|
+
-moz-box-sizing: border-box;
|
11
|
+
box-sizing: border-box;
|
12
|
+
}
|
13
|
+
|
14
|
+
body, html {
|
15
|
+
font-size: 62.5%;
|
16
|
+
}
|
17
|
+
body {
|
18
|
+
background-color: #ecedf0;
|
19
|
+
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
|
20
|
+
margin: 0;
|
21
|
+
}
|
22
|
+
code {
|
23
|
+
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
24
|
+
font-size: 85%;
|
25
|
+
}
|
26
|
+
#header {
|
27
|
+
background: #f9f9f9;
|
28
|
+
color: #333;
|
29
|
+
border-bottom: 3px solid #ccc;
|
30
|
+
height: 50px;
|
31
|
+
padding: 0;
|
32
|
+
}
|
33
|
+
#header .logo {
|
34
|
+
float: left;
|
35
|
+
margin: 5px 12px 7px 20px;
|
36
|
+
width: 38px;
|
37
|
+
height: 38px;
|
38
|
+
}
|
39
|
+
#header .title {
|
40
|
+
display: inline-block;
|
41
|
+
float: left;
|
42
|
+
height: 50px;
|
43
|
+
font-size: 2.4rem;
|
44
|
+
letter-spacing: normal;
|
45
|
+
line-height: 50px;
|
46
|
+
margin: 0;
|
47
|
+
}
|
48
|
+
|
49
|
+
.information, #offenses {
|
50
|
+
width: 100%;
|
51
|
+
padding: 20px;
|
52
|
+
color: #333;
|
53
|
+
}
|
54
|
+
#offenses {
|
55
|
+
padding: 0 20px;
|
56
|
+
}
|
57
|
+
|
58
|
+
.information .infobox {
|
59
|
+
border-left: 3px solid;
|
60
|
+
border-radius: 4px;
|
61
|
+
background-color: #fff;
|
62
|
+
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
|
63
|
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
|
64
|
+
padding: 15px;
|
65
|
+
border-color: #0088cc;
|
66
|
+
font-size: 1.4rem;
|
67
|
+
}
|
68
|
+
.information .infobox .info-title {
|
69
|
+
font-size: 1.8rem;
|
70
|
+
line-height: 2.2rem;
|
71
|
+
margin: 0 0 0.5em;
|
72
|
+
}
|
73
|
+
.information .offenses-list li {
|
74
|
+
line-height: 1.8rem
|
75
|
+
}
|
76
|
+
.information .offenses-list {
|
77
|
+
padding-left: 20px;
|
78
|
+
margin-bottom: 0;
|
79
|
+
}
|
80
|
+
|
81
|
+
#offenses .offense-box {
|
82
|
+
border-radius: 4px;
|
83
|
+
margin-bottom: 20px;
|
84
|
+
background-color: #fff;
|
85
|
+
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
|
86
|
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
|
87
|
+
}
|
88
|
+
.fixed .box-title {
|
89
|
+
position: fixed;
|
90
|
+
top: 0;
|
91
|
+
z-index: 10;
|
92
|
+
width: 100%;
|
93
|
+
}
|
94
|
+
.box-title-placeholder {
|
95
|
+
display: none;
|
96
|
+
}
|
97
|
+
.fixed .box-title-placeholder {
|
98
|
+
display: block;
|
99
|
+
}
|
100
|
+
#offenses .offense-box .box-title h3, #offenses .offense-box .box-title-placeholder h3 {
|
101
|
+
color: #33353f;
|
102
|
+
background-color: #f6f6f6;
|
103
|
+
font-size: 2rem;
|
104
|
+
line-height: 2rem;
|
105
|
+
display: block;
|
106
|
+
padding: 15px;
|
107
|
+
border-radius: 5px;
|
108
|
+
margin: 0;
|
109
|
+
}
|
110
|
+
#offenses .offense-box .offense-reports {
|
111
|
+
padding: 0 15px;
|
112
|
+
}
|
113
|
+
#offenses .offense-box .offense-reports .report {
|
114
|
+
border-bottom: 1px dotted #ddd;
|
115
|
+
padding: 15px 0px;
|
116
|
+
position: relative;
|
117
|
+
font-size: 1.3rem;
|
118
|
+
}
|
119
|
+
#offenses .offense-box .offense-reports .report:last-child {
|
120
|
+
border-bottom: none;
|
121
|
+
}
|
122
|
+
#offenses .offense-box .offense-reports .report pre code {
|
123
|
+
display: block;
|
124
|
+
background: #000;
|
125
|
+
color: #fff;
|
126
|
+
padding: 10px 15px;
|
127
|
+
border-radius: 5px;
|
128
|
+
line-height: 1.6rem;
|
129
|
+
}
|
130
|
+
#offenses .offense-box .offense-reports .report .location {
|
131
|
+
font-weight: bold;
|
132
|
+
}
|
133
|
+
#offenses .offense-box .offense-reports .report .message code {
|
134
|
+
padding: 0.3em;
|
135
|
+
background-color: rgba(0,0,0,0.07);
|
136
|
+
border-radius: 3px;
|
137
|
+
}
|
138
|
+
.severity {
|
139
|
+
text-transform: capitalize;
|
140
|
+
font-weight: bold;
|
141
|
+
}
|
142
|
+
.highlight {
|
143
|
+
padding: 2px;
|
144
|
+
border-radius: 2px;
|
145
|
+
font-weight: bold;
|
146
|
+
}
|
147
|
+
|
148
|
+
.severity.refactor {
|
149
|
+
color: rgba(237, 156, 40, 1.0);
|
150
|
+
}
|
151
|
+
.highlight.refactor {
|
152
|
+
background-color: rgba(237, 156, 40, 0.6);
|
153
|
+
border: 1px solid rgba(237, 156, 40, 0.4);
|
154
|
+
}
|
155
|
+
|
156
|
+
.severity.convention {
|
157
|
+
color: rgba(237, 156, 40, 1.0);
|
158
|
+
}
|
159
|
+
.highlight.convention {
|
160
|
+
background-color: rgba(237, 156, 40, 0.6);
|
161
|
+
border: 1px solid rgba(237, 156, 40, 0.4);
|
162
|
+
}
|
163
|
+
|
164
|
+
.severity.warning {
|
165
|
+
color: rgba(150, 40, 239, 1.0);
|
166
|
+
}
|
167
|
+
.highlight.warning {
|
168
|
+
background-color: rgba(150, 40, 239, 0.6);
|
169
|
+
border: 1px solid rgba(150, 40, 239, 0.4);
|
170
|
+
}
|
171
|
+
|
172
|
+
.severity.error {
|
173
|
+
color: rgba(210, 50, 45, 1.0);
|
174
|
+
}
|
175
|
+
.highlight.error {
|
176
|
+
background-color: rgba(210, 50, 45, 0.6);
|
177
|
+
border: 1px solid rgba(210, 50, 45, 0.4);
|
178
|
+
}
|
179
|
+
|
180
|
+
.severity.fatal {
|
181
|
+
color: rgba(210, 50, 45, 1.0);
|
182
|
+
}
|
183
|
+
.highlight.fatal {
|
184
|
+
background-color: rgba(210, 50, 45, 0.6);
|
185
|
+
border: 1px solid rgba(210, 50, 45, 0.4);
|
186
|
+
}
|
187
|
+
|
188
|
+
footer {
|
189
|
+
margin-bottom: 20px;
|
190
|
+
margin-right: 20px;
|
191
|
+
font-size: 1.3rem;
|
192
|
+
color: #777;
|
193
|
+
text-align: right;
|
194
|
+
}
|
195
|
+
.extra-code {
|
196
|
+
color: #ED9C28
|
197
|
+
}
|
198
|
+
</style>
|
199
|
+
|
200
|
+
<script>
|
201
|
+
(function() {
|
202
|
+
// floating headers. requires classList support.
|
203
|
+
if (!('classList' in document.createElement("_"))) return;
|
204
|
+
|
205
|
+
var loaded = false,
|
206
|
+
boxes,
|
207
|
+
boxPositions;
|
208
|
+
|
209
|
+
window.onload = function() {
|
210
|
+
var scrollY = window.scrollY;
|
211
|
+
boxes = document.querySelectorAll('.offense-box');
|
212
|
+
boxPositions = [];
|
213
|
+
for (var i = 0; i < boxes.length; i++)
|
214
|
+
// need to add scrollY because the page might be somewhere other than the top when loaded.
|
215
|
+
boxPositions[i] = boxes[i].getBoundingClientRect().top + scrollY;
|
216
|
+
loaded = true;
|
217
|
+
};
|
218
|
+
|
219
|
+
window.onscroll = function() {
|
220
|
+
if (!loaded) return;
|
221
|
+
var i,
|
222
|
+
idx,
|
223
|
+
scrollY = window.scrollY;
|
224
|
+
for (i = 0; i < boxPositions.length; i++) {
|
225
|
+
if (scrollY <= boxPositions[i] - 1) {
|
226
|
+
idx = i;
|
227
|
+
break;
|
228
|
+
}
|
229
|
+
}
|
230
|
+
if (typeof idx == 'undefined') idx = boxes.length;
|
231
|
+
if (idx > 0)
|
232
|
+
boxes[idx - 1].classList.add('fixed');
|
233
|
+
for (i = 0; i < boxes.length; i++) {
|
234
|
+
if (i < idx) continue;
|
235
|
+
boxes[i].classList.remove('fixed');
|
236
|
+
}
|
237
|
+
};
|
238
|
+
})();
|
239
|
+
</script>
|
240
|
+
</head>
|
241
|
+
<body>
|
242
|
+
<div id="header">
|
243
|
+
<img class="logo" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAABMCAYAAADHl1ErAAAKQWlDQ1BJQ0Mg
|
244
|
+
UHJvZmlsZQAASA2dlndUU9kWh8+9N73QEiIgJfQaegkg0jtIFQRRiUmAUAKG
|
245
|
+
hCZ2RAVGFBEpVmRUwAFHhyJjRRQLg4Ji1wnyEFDGwVFEReXdjGsJ7601896a
|
246
|
+
/cdZ39nnt9fZZ+9917oAUPyCBMJ0WAGANKFYFO7rwVwSE8vE9wIYEAEOWAHA
|
247
|
+
4WZmBEf4RALU/L09mZmoSMaz9u4ugGS72yy/UCZz1v9/kSI3QyQGAApF1TY8
|
248
|
+
fiYX5QKUU7PFGTL/BMr0lSkyhjEyFqEJoqwi48SvbPan5iu7yZiXJuShGlnO
|
249
|
+
Gbw0noy7UN6aJeGjjAShXJgl4GejfAdlvVRJmgDl9yjT0/icTAAwFJlfzOcm
|
250
|
+
oWyJMkUUGe6J8gIACJTEObxyDov5OWieAHimZ+SKBIlJYqYR15hp5ejIZvrx
|
251
|
+
s1P5YjErlMNN4Yh4TM/0tAyOMBeAr2+WRQElWW2ZaJHtrRzt7VnW5mj5v9nf
|
252
|
+
Hn5T/T3IevtV8Sbsz55BjJ5Z32zsrC+9FgD2JFqbHbO+lVUAtG0GQOXhrE/v
|
253
|
+
IADyBQC03pzzHoZsXpLE4gwnC4vs7GxzAZ9rLivoN/ufgm/Kv4Y595nL7vtW
|
254
|
+
O6YXP4EjSRUzZUXlpqemS0TMzAwOl89k/fcQ/+PAOWnNycMsnJ/AF/GF6FVR
|
255
|
+
6JQJhIlou4U8gViQLmQKhH/V4X8YNicHGX6daxRodV8AfYU5ULhJB8hvPQBD
|
256
|
+
IwMkbj96An3rWxAxCsi+vGitka9zjzJ6/uf6Hwtcim7hTEEiU+b2DI9kciWi
|
257
|
+
LBmj34RswQISkAd0oAo0gS4wAixgDRyAM3AD3iAAhIBIEAOWAy5IAmlABLJB
|
258
|
+
PtgACkEx2AF2g2pwANSBetAEToI2cAZcBFfADXALDIBHQAqGwUswAd6BaQiC
|
259
|
+
8BAVokGqkBakD5lC1hAbWgh5Q0FQOBQDxUOJkBCSQPnQJqgYKoOqoUNQPfQj
|
260
|
+
dBq6CF2D+qAH0CA0Bv0BfYQRmALTYQ3YALaA2bA7HAhHwsvgRHgVnAcXwNvh
|
261
|
+
SrgWPg63whfhG/AALIVfwpMIQMgIA9FGWAgb8URCkFgkAREha5EipAKpRZqQ
|
262
|
+
DqQbuY1IkXHkAwaHoWGYGBbGGeOHWYzhYlZh1mJKMNWYY5hWTBfmNmYQM4H5
|
263
|
+
gqVi1bGmWCesP3YJNhGbjS3EVmCPYFuwl7ED2GHsOxwOx8AZ4hxwfrgYXDJu
|
264
|
+
Na4Etw/XjLuA68MN4SbxeLwq3hTvgg/Bc/BifCG+Cn8cfx7fjx/GvyeQCVoE
|
265
|
+
a4IPIZYgJGwkVBAaCOcI/YQRwjRRgahPdCKGEHnEXGIpsY7YQbxJHCZOkxRJ
|
266
|
+
hiQXUiQpmbSBVElqIl0mPSa9IZPJOmRHchhZQF5PriSfIF8lD5I/UJQoJhRP
|
267
|
+
ShxFQtlOOUq5QHlAeUOlUg2obtRYqpi6nVpPvUR9Sn0vR5Mzl/OX48mtk6uR
|
268
|
+
a5Xrl3slT5TXl3eXXy6fJ18hf0r+pvy4AlHBQMFTgaOwVqFG4bTCPYVJRZqi
|
269
|
+
lWKIYppiiWKD4jXFUSW8koGStxJPqUDpsNIlpSEaQtOledK4tE20Otpl2jAd
|
270
|
+
Rzek+9OT6cX0H+i99AllJWVb5SjlHOUa5bPKUgbCMGD4M1IZpYyTjLuMj/M0
|
271
|
+
5rnP48/bNq9pXv+8KZX5Km4qfJUilWaVAZWPqkxVb9UU1Z2qbapP1DBqJmph
|
272
|
+
atlq+9Uuq43Pp893ns+dXzT/5PyH6rC6iXq4+mr1w+o96pMamhq+GhkaVRqX
|
273
|
+
NMY1GZpumsma5ZrnNMe0aFoLtQRa5VrntV4wlZnuzFRmJbOLOaGtru2nLdE+
|
274
|
+
pN2rPa1jqLNYZ6NOs84TXZIuWzdBt1y3U3dCT0svWC9fr1HvoT5Rn62fpL9H
|
275
|
+
v1t/ysDQINpgi0GbwaihiqG/YZ5ho+FjI6qRq9Eqo1qjO8Y4Y7ZxivE+41sm
|
276
|
+
sImdSZJJjclNU9jU3lRgus+0zwxr5mgmNKs1u8eisNxZWaxG1qA5wzzIfKN5
|
277
|
+
m/krCz2LWIudFt0WXyztLFMt6ywfWSlZBVhttOqw+sPaxJprXWN9x4Zq42Oz
|
278
|
+
zqbd5rWtqS3fdr/tfTuaXbDdFrtOu8/2DvYi+yb7MQc9h3iHvQ732HR2KLuE
|
279
|
+
fdUR6+jhuM7xjOMHJ3snsdNJp9+dWc4pzg3OowsMF/AX1C0YctFx4bgccpEu
|
280
|
+
ZC6MX3hwodRV25XjWuv6zE3Xjed2xG3E3dg92f24+ysPSw+RR4vHlKeT5xrP
|
281
|
+
C16Il69XkVevt5L3Yu9q76c+Oj6JPo0+E752vqt9L/hh/QL9dvrd89fw5/rX
|
282
|
+
+08EOASsCegKpARGBFYHPgsyCRIFdQTDwQHBu4IfL9JfJFzUFgJC/EN2hTwJ
|
283
|
+
NQxdFfpzGC4sNKwm7Hm4VXh+eHcELWJFREPEu0iPyNLIR4uNFksWd0bJR8VF
|
284
|
+
1UdNRXtFl0VLl1gsWbPkRoxajCCmPRYfGxV7JHZyqffS3UuH4+ziCuPuLjNc
|
285
|
+
lrPs2nK15anLz66QX8FZcSoeGx8d3xD/iRPCqeVMrvRfuXflBNeTu4f7kufG
|
286
|
+
K+eN8V34ZfyRBJeEsoTRRJfEXYljSa5JFUnjAk9BteB1sl/ygeSplJCUoykz
|
287
|
+
qdGpzWmEtPi000IlYYqwK10zPSe9L8M0ozBDuspp1e5VE6JA0ZFMKHNZZruY
|
288
|
+
jv5M9UiMJJslg1kLs2qy3mdHZZ/KUcwR5vTkmuRuyx3J88n7fjVmNXd1Z752
|
289
|
+
/ob8wTXuaw6thdauXNu5Tnddwbrh9b7rj20gbUjZ8MtGy41lG99uit7UUaBR
|
290
|
+
sL5gaLPv5sZCuUJR4b0tzlsObMVsFWzt3WazrWrblyJe0fViy+KK4k8l3JLr
|
291
|
+
31l9V/ndzPaE7b2l9qX7d+B2CHfc3em681iZYlle2dCu4F2t5czyovK3u1fs
|
292
|
+
vlZhW3FgD2mPZI+0MqiyvUqvakfVp+qk6oEaj5rmvep7t+2d2sfb17/fbX/T
|
293
|
+
AY0DxQc+HhQcvH/I91BrrUFtxWHc4azDz+ui6rq/Z39ff0TtSPGRz0eFR6XH
|
294
|
+
wo911TvU1zeoN5Q2wo2SxrHjccdv/eD1Q3sTq+lQM6O5+AQ4ITnx4sf4H++e
|
295
|
+
DDzZeYp9qukn/Z/2ttBailqh1tzWibakNml7THvf6YDTnR3OHS0/m/989Iz2
|
296
|
+
mZqzymdLz5HOFZybOZ93fvJCxoXxi4kXhzpXdD66tOTSna6wrt7LgZevXvG5
|
297
|
+
cqnbvfv8VZerZ645XTt9nX297Yb9jdYeu56WX+x+aem172296XCz/ZbjrY6+
|
298
|
+
BX3n+l37L972un3ljv+dGwOLBvruLr57/17cPel93v3RB6kPXj/Mejj9aP1j
|
299
|
+
7OOiJwpPKp6qP6391fjXZqm99Oyg12DPs4hnj4a4Qy//lfmvT8MFz6nPK0a0
|
300
|
+
RupHrUfPjPmM3Xqx9MXwy4yX0+OFvyn+tveV0auffnf7vWdiycTwa9HrmT9K
|
301
|
+
3qi+OfrW9m3nZOjk03dp76anit6rvj/2gf2h+2P0x5Hp7E/4T5WfjT93fAn8
|
302
|
+
8ngmbWbm3/eE8/syOll+AAAACXBIWXMAAAsTAAALEwEAmpwYAAAEJGlUWHRY
|
303
|
+
TUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9i
|
304
|
+
ZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRm
|
305
|
+
OlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjIt
|
306
|
+
cmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjph
|
307
|
+
Ym91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRv
|
308
|
+
YmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0
|
309
|
+
cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICAgICAgICAgIHhtbG5z
|
310
|
+
OmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAg
|
311
|
+
ICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv
|
312
|
+
Ij4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MTwvdGlmZjpSZXNv
|
313
|
+
bHV0aW9uVW5pdD4KICAgICAgICAgPHRpZmY6Q29tcHJlc3Npb24+NTwvdGlm
|
314
|
+
ZjpDb21wcmVzc2lvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzI8
|
315
|
+
L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9u
|
316
|
+
PjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0
|
317
|
+
aW9uPjcyPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8ZXhpZjpQaXhl
|
318
|
+
bFhEaW1lbnNpb24+NzY8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAg
|
319
|
+
ICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAg
|
320
|
+
ICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjc2PC9leGlmOlBpeGVsWURpbWVu
|
321
|
+
c2lvbj4KICAgICAgICAgPGRjOnN1YmplY3Q+CiAgICAgICAgICAgIDxyZGY6
|
322
|
+
U2VxLz4KICAgICAgICAgPC9kYzpzdWJqZWN0PgogICAgICAgICA8eG1wOk1v
|
323
|
+
ZGlmeURhdGU+MjAxNDowOToyMyAyMjowOToxNDwveG1wOk1vZGlmeURhdGU+
|
324
|
+
CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+UGl4ZWxtYXRvciAzLjIuMTwv
|
325
|
+
eG1wOkNyZWF0b3JUb29sPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAg
|
326
|
+
PC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KkpvroQAABkNJREFUeAHtm0uIHFUY
|
327
|
+
hWveM8ZpHN/RYCIS34mKGGSMMmLA6CKILmQwBOJCEcwqKzELceVWN+IyIgQM
|
328
|
+
4gt84SMqBpNBkBiJGkEFMRFNMmSSzEzm5fmG7qEpbt1bt7q6XuOBQ3Xfuvf/
|
329
|
+
z/nr3qrq6u6OIH9cLAlrxGvr20e0vVsE34rviL+Lv9W3J7XNDR05Zb5deR8U
|
330
|
+
7xfXiVeKnaIN89p5XPxB/EL8WPxerCxqcrZd3CdOiwstkhj7RGISuzLol5On
|
331
|
+
xSNiq0WKGk9scpCr1LhP6veLUUbTbicXOUuHHil+QZwS0y6KKx45yY2GUuAy
|
332
|
+
qXxXdBlr9340oKXQWC11Y2K7ixE3PlrQVEhcI1WHxLhmsuqHJrQVCtx8cpOZ
|
333
|
+
VRF886ANjYVAl1TsFX1NZN0fjWjNHTulIGvzSfOhNVfcpuwTYlIDWY9DK5pz
|
334
|
+
AdP7EzFr063mQ3MuS/PREharUWy0Zwruog+IDQFl26I9008Cm0tcrMbBxYM3
|
335
|
+
XM+gogI+GbWjRO2ZebhKRTklNo5UWbd4wIsXksywEWW4yCtLMTvjYcRXWpKC
|
336
|
+
bfJNUuD+3l58C9Yt83cWuAC+0vCCp7aBT/3nxbKet8K68eL1JMO3unzLtFtk
|
337
|
+
WwVQwKp4Kebx8KnurbLwjLhBHCimHW9VkxpxUHxVPOw92jJgi/bxjXP4HFCV
|
338
|
+
93jDYypYrSj/iFUpTpQPPK4RrYhzW7FVES61RqnGTjw+4bISp2B3uIJUaL/T
|
339
|
+
a5yC9VaoIC4rTq9xCjbrylKh/U6vroLdpGKsr1BBXFbwiudE4NP8j2LUVaWq
|
340
|
+
7XiOfBpjm2HbNPBmcbkBz3g3wnanf1ojBo2j6o1DnZ3B6IpasL6nb/Hng0y5
|
341
|
+
IgKT8+Khmelgz9nTwal53lnB13E1Uw9bwaz+r+jqCvZcsjIY7hsIZhdXrSl8
|
342
|
+
sdq69Tl7//RkMHriWPD33JxLnLE2vk8rlpLsGBwKhvsHggn30Voak/+LhUXN
|
343
|
+
aN81/m8iObZzWGRABg339QfTC9ZJGDk+zx1oRnsi4xKeaBxlmlJi45zNsxox
|
344
|
+
cqMZ7UkPdeKCvX3uTNCrkpWpaGhFM9qTFizxOWy3rjZru3uD7RfWgoGOcpRt
|
345
|
+
UjPrlYnxAO1JYXN6QEF5WGgFtxQ39vQGXbZI1gjZ7JzTlPpp5vzirUWMjGPq
|
346
|
+
4/QejjOiBmbuciTevcH57TWRu7zlUjS84jnRuV3jFr+z+1Lb5VKwr+qe8W6E
|
347
|
+
q5I87jhpHFnNxhOyZX3E4yoYZcnl13o5HQ+n1zgFS34Nzsl1C2mdXuMU7PMW
|
348
|
+
BJRtaCpeecTDfUnVT/x4tD7O8jn616nz1xUuGt7w6ITP/Xmfoj0s8n/sFSIz
|
349
|
+
Low4Szw8Jov33F+FgfezIn+r+UDkH77/I+0K+MywRm7+0P6hGF7vM2rbIh4V
|
350
|
+
i4S1EvOeGP6ZOY+hHxKPi7GR5GkFYxDBsmwGS5RlWzSg6QYxPDlYjt7+vQfU
|
351
|
+
q2G6G6bNdF6rD1naPKZXHNk0wEx/yxEITWgLzzCTB0eoBBV2RrR3eEC7Xxcv
|
352
|
+
sHeLvXdUPcfFz2KPaLFjllc1foD7hphWsbBOLGISOxMkXZJJxLEMuWAALuEY
|
353
|
+
PcebBKBQW0XOT8Qk9ndiIbFKqlgGnBuayS+SbxGj0KUdz4sUaUdUJ492YhCL
|
354
|
+
mMSOAppMv/zGA17ajqQFawhj+YSvWI19PltixFmKqRYsyyXZKEZaS4fZnVas
|
355
|
+
hjbnNo+ChUVtVMP1omvWUaCfxW/EUuFqqTX9m21W7es8nTyl/oxrPhfaXtOX
|
356
|
+
MT5AkykHHvDSdgwpw1+iyRgfjeLiHnU8I5ri2NoYw9i4QJMpHh7w0nZw7zYm
|
357
|
+
mkS8GTP7SvX7JSKGKW64jbHEiIO96hQez3s8ZHYf+nKECKb+NtEGzpvviyYT
|
358
|
+
Pm3EcJ2D0WJajuTBQ2bYqEz8wMpkcErtu8TLxTC4X3pJNI1L0kYs0z0YudGA
|
359
|
+
FlNctOPBG64rU1RARH4kborqoPZj4mGx8cUCuVaJG8Q0cVDB/hQpDKiJ/C/K
|
360
|
+
tmQ/1f7NovNXdeqTGu5SJB6RmI5gkdvQjPZc8KyyFrk4Jm1ozhXPKTvPzE3i
|
361
|
+
itSGRrQWAo9LxR9ikQrUrAVtaCwUOMm+KB4Vm8Xm+RotaLJdALQ7Xwwq/b3i
|
362
|
+
TvFXMeuCkZPcaEBLqvgPBhCuiZo8+sAAAAAASUVORK5CYII=
|
363
|
+
" alt="">
|
364
|
+
<h1 class="title">RuboCop Inspection Report</h1>
|
365
|
+
</div>
|
366
|
+
<div class="information">
|
367
|
+
<div class="infobox">
|
368
|
+
<div class="total">
|
369
|
+
16 files inspected,
|
370
|
+
no offenses detected:
|
371
|
+
</div>
|
372
|
+
<ul class="offenses-list">
|
373
|
+
|
374
|
+
|
375
|
+
|
376
|
+
|
377
|
+
|
378
|
+
|
379
|
+
|
380
|
+
|
381
|
+
|
382
|
+
|
383
|
+
|
384
|
+
|
385
|
+
|
386
|
+
|
387
|
+
|
388
|
+
|
389
|
+
|
390
|
+
</ul>
|
391
|
+
</div>
|
392
|
+
</div>
|
393
|
+
<div id="offenses">
|
394
|
+
|
395
|
+
|
396
|
+
|
397
|
+
|
398
|
+
|
399
|
+
|
400
|
+
|
401
|
+
|
402
|
+
|
403
|
+
|
404
|
+
|
405
|
+
|
406
|
+
|
407
|
+
|
408
|
+
|
409
|
+
|
410
|
+
|
411
|
+
|
412
|
+
|
413
|
+
|
414
|
+
|
415
|
+
|
416
|
+
|
417
|
+
|
418
|
+
|
419
|
+
|
420
|
+
|
421
|
+
|
422
|
+
|
423
|
+
|
424
|
+
|
425
|
+
|
426
|
+
|
427
|
+
</div>
|
428
|
+
<footer>
|
429
|
+
Generated by <a href="https://github.com/rubocop/rubocop">RuboCop</a>
|
430
|
+
<span class="version">1.23.0</span>
|
431
|
+
</footer>
|
432
|
+
</body>
|
433
|
+
</html>
|
metadata
CHANGED
@@ -1,85 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: company_number
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- victorauthiat
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-04
|
11
|
+
date: 2022-11-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: pry
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 0.14.1
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 0.14.1
|
26
|
+
version: '0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: rake
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
44
30
|
requirements:
|
45
|
-
- - "
|
31
|
+
- - ">="
|
46
32
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
33
|
+
version: '0'
|
48
34
|
type: :development
|
49
35
|
prerelease: false
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
51
37
|
requirements:
|
52
|
-
- - "
|
38
|
+
- - ">="
|
53
39
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
40
|
+
version: '0'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: rspec
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
|
-
- - "
|
45
|
+
- - ">="
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
47
|
+
version: '0'
|
62
48
|
type: :development
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
|
-
- - "
|
52
|
+
- - ">="
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
54
|
+
version: '0'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: simplecov
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
72
58
|
requirements:
|
73
|
-
- - "
|
59
|
+
- - ">="
|
74
60
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0
|
61
|
+
version: '0'
|
76
62
|
type: :development
|
77
63
|
prerelease: false
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
79
65
|
requirements:
|
80
|
-
- - "
|
66
|
+
- - ">="
|
81
67
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0
|
68
|
+
version: '0'
|
83
69
|
description:
|
84
70
|
email:
|
85
71
|
- authiatv@gmail.com
|
@@ -87,10 +73,12 @@ executables: []
|
|
87
73
|
extensions: []
|
88
74
|
extra_rdoc_files: []
|
89
75
|
files:
|
90
|
-
- ".
|
76
|
+
- ".codeclimate.yml"
|
77
|
+
- ".github/workflows/ci.yml"
|
91
78
|
- ".gitignore"
|
92
79
|
- ".rspec"
|
93
80
|
- ".rubocop.yml"
|
81
|
+
- ".simplecov"
|
94
82
|
- CHANGELOG.md
|
95
83
|
- CODE_OF_CONDUCT.md
|
96
84
|
- Gemfile
|
@@ -107,6 +95,7 @@ files:
|
|
107
95
|
- lib/company_number/number.rb
|
108
96
|
- lib/company_number/validation.rb
|
109
97
|
- lib/company_number/version.rb
|
98
|
+
- rubocop/rubocop.html
|
110
99
|
homepage: https://github.com/victorauthiat/company_number
|
111
100
|
licenses:
|
112
101
|
- MIT
|
@@ -119,7 +108,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
119
108
|
requirements:
|
120
109
|
- - ">="
|
121
110
|
- !ruby/object:Gem::Version
|
122
|
-
version: '
|
111
|
+
version: '2.5'
|
123
112
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
124
113
|
requirements:
|
125
114
|
- - ">="
|
data/.github/workflows/build.yml
DELETED
@@ -1,93 +0,0 @@
|
|
1
|
-
name: build
|
2
|
-
|
3
|
-
on: [ push ]
|
4
|
-
|
5
|
-
jobs:
|
6
|
-
rubocop:
|
7
|
-
runs-on: ubuntu-latest
|
8
|
-
steps:
|
9
|
-
- uses: actions/checkout@v2
|
10
|
-
- uses: actions/setup-ruby@v1
|
11
|
-
- name: Run Rubocop
|
12
|
-
run: |
|
13
|
-
gem install rubocop
|
14
|
-
mkdir rubocop
|
15
|
-
rubocop --format html -o rubocop/rubocop.html || true
|
16
|
-
- name: Store Rubocop artifacts
|
17
|
-
uses: actions/upload-artifact@v2
|
18
|
-
with:
|
19
|
-
name: rubocop-report
|
20
|
-
path: rubocop/rubocop.html
|
21
|
-
|
22
|
-
rubycritic:
|
23
|
-
runs-on: ubuntu-latest
|
24
|
-
steps:
|
25
|
-
- uses: actions/checkout@v2
|
26
|
-
- uses: actions/setup-ruby@v1
|
27
|
-
- name: Run RubyCritic
|
28
|
-
run: |
|
29
|
-
gem install rubycritic
|
30
|
-
rubycritic lib --no-browser
|
31
|
-
- name: Store RubyCritic artifacts
|
32
|
-
uses: actions/upload-artifact@v2
|
33
|
-
with:
|
34
|
-
name: rubycritic-report
|
35
|
-
path: tmp/rubycritic
|
36
|
-
|
37
|
-
fukuzatsu:
|
38
|
-
runs-on: ubuntu-latest
|
39
|
-
steps:
|
40
|
-
- uses: actions/checkout@v2
|
41
|
-
- uses: actions/setup-ruby@v1
|
42
|
-
- name: Run Fukuzatsu
|
43
|
-
run: |
|
44
|
-
gem install fukuzatsu
|
45
|
-
fuku check lib -f html
|
46
|
-
- name: Store Fukuzatsu artifacts
|
47
|
-
uses: actions/upload-artifact@v2
|
48
|
-
with:
|
49
|
-
name: fukuzatsu-report
|
50
|
-
path: doc/fukuzatsu/htm
|
51
|
-
|
52
|
-
fasterer:
|
53
|
-
runs-on: ubuntu-latest
|
54
|
-
steps:
|
55
|
-
- uses: actions/checkout@v2
|
56
|
-
- uses: actions/setup-ruby@v1
|
57
|
-
- name: Install Fasterer
|
58
|
-
run: gem install fasterer
|
59
|
-
- name: Configure Fasterer
|
60
|
-
run: |
|
61
|
-
cat << EOF > .fasterer.yml
|
62
|
-
exclude_paths:
|
63
|
-
- 'vendor/**/*.rb'
|
64
|
-
EOF
|
65
|
-
- name: Run Fasterer
|
66
|
-
run: fasterer || true
|
67
|
-
|
68
|
-
rspec:
|
69
|
-
runs-on: ubuntu-latest
|
70
|
-
steps:
|
71
|
-
- uses: actions/checkout@v2
|
72
|
-
- uses: actions/setup-ruby@v1
|
73
|
-
- name: Setup
|
74
|
-
run: gem install simplecov pry rspec
|
75
|
-
- name: Run RSpec
|
76
|
-
run: rspec --format progress
|
77
|
-
- name: Store SimpleCov artifacts
|
78
|
-
uses: actions/upload-artifact@v2
|
79
|
-
with:
|
80
|
-
name: simplecov-report
|
81
|
-
path: coverage
|
82
|
-
|
83
|
-
audit:
|
84
|
-
runs-on: ubuntu-latest
|
85
|
-
steps:
|
86
|
-
- uses: actions/checkout@v2
|
87
|
-
- uses: actions/setup-ruby@v1
|
88
|
-
- name: Setup
|
89
|
-
run : |
|
90
|
-
gem install bundler:2.2.25 bundler-audit:0.9.0.1
|
91
|
-
bundle install
|
92
|
-
- name: Run Bundler Audit
|
93
|
-
run : bundle audit --update
|