safety_goggles 2.1.1 → 2.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2ec032ed55d989245c79a5f98fc0cc27c0a6043c243aa188bd0b45cbb295ab30
4
- data.tar.gz: d72e853e0e1a2267ed597c7f90b9eb08672a1c85d9932158145f3543e6048ac7
3
+ metadata.gz: 9b1e159356c9abc67b5042c96605bf47117b3ffb157cf16e3d8a1ac1ebad9519
4
+ data.tar.gz: ac3c63c701c3139b57fad9e755266ed5b2a97977ff676dfa61f7d37316aff9b5
5
5
  SHA512:
6
- metadata.gz: a4129ce1067e1bdeeb674df2d23a4cfeb9473c14364ba3024027895fecd907781397b04dbd31fc956fefc934c7db5095678d0543fe56b4bc939de653db2c35f2
7
- data.tar.gz: b017b7d621ef2456cafec1c21956d68569d483c7d87ec96de2a7c83fec266ae8a36bdac0de2adac7907f08750787ca936479e7e9b5c1e7a2c73a170b8ae59d15
6
+ metadata.gz: 4cb4f3b8a3aa8d547ddd58a3e0cea083e92c7c7369fb807f14505cfebddc5e22b90ee7c1a61f878c216e1091fa434afbe38f3fca3e64b9b5c2a2cf2519ca18b0
7
+ data.tar.gz: 98b0982ad7f53b5a9a2ba9ba77ba6c34368dfc5397be388a81b5c0d6f4ad4187cca3664c01a5e0b2abcacbc0d22ad263d795910f0865fc30e2d1e607f1a342f1
@@ -0,0 +1,60 @@
1
+ ---
2
+ # Ruby CircleCI 2.0 configuration file
3
+ #
4
+ # Check https://circleci.com/docs/2.0/language-ruby/ for more details
5
+ #
6
+ version: 2
7
+ jobs:
8
+ build:
9
+ docker:
10
+ # specify the version you desire here
11
+ - image: circleci/ruby:2.6.5-node-browsers
12
+
13
+ # Specify service dependencies here if necessary
14
+ # CircleCI maintains a library of pre-built images
15
+ # documented at https://circleci.com/docs/2.0/circleci-images/
16
+ # - image: circleci/postgres:9.4
17
+
18
+ working_directory: ~/repo
19
+
20
+ steps:
21
+ - checkout
22
+
23
+ # Download and cache dependencies
24
+ - restore_cache:
25
+ keys:
26
+ - v1-dependencies-{{ checksum "Gemfile.lock" }}
27
+ # fallback to using the latest cache if no exact match is found
28
+ - v1-dependencies-
29
+
30
+ - run:
31
+ name: install dependencies
32
+ command: |
33
+ bundle install --jobs=4 --retry=3 --path vendor/bundle
34
+
35
+ - save_cache:
36
+ paths:
37
+ - ./vendor/bundle
38
+ key: v1-dependencies-{{ checksum "Gemfile.lock" }}
39
+
40
+ # run tests!
41
+ - run:
42
+ name: run tests
43
+ command: |
44
+ mkdir /tmp/test-results
45
+ TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | \
46
+ circleci tests split --split-by=timings)"
47
+
48
+ bundle exec rspec \
49
+ --format progress \
50
+ --format RspecJunitFormatter \
51
+ --out /tmp/test-results/rspec.xml \
52
+ --format progress \
53
+ $TEST_FILES
54
+
55
+ # collect reports
56
+ - store_test_results:
57
+ path: /tmp/test-results
58
+ - store_artifacts:
59
+ path: /tmp/test-results
60
+ destination: test-results
@@ -0,0 +1,8 @@
1
+ ## Description
2
+
3
+ _add your description here_
4
+
5
+ ## Details
6
+
7
+ - [ ] I updated `CHANGELOG.md`
8
+ - [ ] I added test cases for this new feature
data/.gitignore CHANGED
@@ -97,4 +97,3 @@ com_crashlytics_export_strings.xml
97
97
  crashlytics.properties
98
98
  crashlytics-build.properties
99
99
  fabric.properties
100
-
@@ -0,0 +1,62 @@
1
+ ---
2
+ # Install pre-commit via either of these:
3
+ # pip install pre-commit
4
+ # brew install pre-commit
5
+ #
6
+ # Enable the current repo for pre-commit:
7
+ # pre-commit install
8
+ #
9
+ # Check current commit:
10
+ # pre-commit
11
+ #
12
+ # Check all files:
13
+ # pre-commit run --all-files
14
+ repos:
15
+ - repo: https://github.com/pre-commit/pre-commit-hooks
16
+ rev: v2.3.0
17
+ hooks:
18
+ - id: check-ast # Python syntax
19
+ - id: check-case-conflict # VERSION and version in same repo
20
+ - id: check-docstring-first # Python docs
21
+ - id: check-executables-have-shebangs # #!/bin/bash
22
+ - id: check-json
23
+ - id: check-merge-conflict
24
+ - id: check-symlinks
25
+ - id: check-xml
26
+ - id: check-yaml
27
+ - id: debug-statements # Python debug stuff
28
+ - id: detect-aws-credentials
29
+ args:
30
+ - --allow-missing-credentials
31
+ - id: detect-private-key
32
+ - id: end-of-file-fixer # Forces newline at the end
33
+ - id: flake8 # Lint Python stuff
34
+ - id: mixed-line-ending
35
+ # - id: no-commit-to-branch # Protect master
36
+ - id: pretty-format-json
37
+ args:
38
+ - --autofix
39
+ - id: requirements-txt-fixer
40
+ - id: sort-simple-yaml
41
+ - id: trailing-whitespace
42
+
43
+ # Install detect-secrets:
44
+ # pip install detect-secrets
45
+ #
46
+ # For every additional repo, generate a known secrets file:
47
+ # detect-secrets scan > .secrets.baseline
48
+ #
49
+ # And whitelist known good stuff:
50
+ # detect-secrets audit .secrets.baseline
51
+ #
52
+ # You can update and whitelist more later:
53
+ # detect-secrets scan --update .secrets.baseline
54
+ #
55
+ # https://github.com/Yelp/detect-secrets
56
+ - repo: https://github.com/Yelp/detect-secrets
57
+ rev: v0.12.7
58
+ hooks:
59
+ - id: detect-secrets
60
+ args: ["--baseline", ".secrets.baseline"]
61
+ exclude: .*/tests/.*
62
+ language_version: python3
@@ -1,53 +1,43 @@
1
- # inherit_from: ../.rubocop.yml
1
+ ---
2
+ require:
3
+ - rubocop-gitlab-security
4
+ - rubocop-performance
5
+ - rubocop-rails
2
6
 
3
7
  # Common configuration.
4
8
  AllCops:
5
9
  # Include gemspec and Rakefile
6
10
  Include:
7
- - '**/Gemfile'
8
- - '**/Rakefile'
9
- - '**/*.gemspec'
10
- - '**/*.jbuilder'
11
- - '**/*.rb'
11
+ - "**/Gemfile"
12
+ - "**/Rakefile"
13
+ - "**/*.gemspec"
14
+ - "**/*.jbuilder"
15
+ - "**/*.rb"
12
16
  Exclude:
13
- - 'bin/bundle'
14
- - 'bin/rails'
15
- - 'bin/rake'
16
- - 'bin/setup'
17
- - 'bin/spring'
18
- - 'bin/update'
19
- - 'config.ru'
20
- - 'config/application.rb'
21
- - 'config/boot.rb'
22
- - 'config/environment.rb'
23
- - 'db/migrate/**/*'
24
- - 'db/schema.rb'
25
- - 'secure_rails'
26
- - 'test/**/*'
27
- - 'tmp/**/*'
28
- - 'vendor/**/*'
17
+ - "bin/bundle"
18
+ - "bin/rails"
19
+ - "bin/rake"
20
+ - "bin/setup"
21
+ - "bin/spring"
22
+ - "bin/update"
23
+ - "config.ru"
24
+ - "config/application.rb"
25
+ - "config/boot.rb"
26
+ - "config/environment.rb"
27
+ - "db/migrate/**/*"
28
+ - "db/schema.rb"
29
+ - "secure_rails"
30
+ - "test/**/*"
31
+ - "tmp/**/*"
32
+ - "vendor/**/*"
33
+ TargetRubyVersion: 2.6
29
34
 
30
- Rails:
31
- Enabled: true
32
-
33
- # # Not compatible with Rails < 4
34
- # ActionFilter:
35
- # Enabled: false
36
-
37
- AlignParameters:
38
- EnforcedStyle: with_fixed_indentation
39
-
40
- ClassLength:
41
- Max: 300
42
35
 
43
36
  Encoding:
44
37
  Enabled: false
45
38
 
46
- IndentHash:
47
- EnforcedStyle: consistent
48
-
49
- HasAndBelongsToMany:
50
- Enabled: false
39
+ Rails:
40
+ Enabled: true
51
41
 
52
42
  Layout/AlignHash:
53
43
  # Alignment of entries using colon as separator. Valid values are:
@@ -63,21 +53,33 @@ Layout/AlignHash:
63
53
  # bb: 1
64
54
  EnforcedColonStyle: table
65
55
 
56
+ Layout/IndentFirstHashElement:
57
+ EnforcedStyle: consistent
58
+
66
59
  Layout/SpaceBeforeFirstArg:
67
60
  Enabled: false
68
61
 
69
- LineLength:
62
+ Metrics/ClassLength:
63
+ Max: 300
64
+
65
+ Metrics/LineLength:
70
66
  Max: 120
71
67
 
72
68
  # Default 10
73
- MethodLength:
69
+ Metrics/MethodLength:
74
70
  Max: 30
75
71
 
76
72
  # Default 15
77
73
  Metrics/AbcSize:
78
74
  Max: 30
79
75
 
80
- StringLiterals:
76
+ Rails/HasAndBelongsToMany:
77
+ Enabled: false
78
+
79
+ Style/AliParameters:
80
+ EnforcedStygnle: with_fixed_indentation
81
+
82
+ Style/StringLiterals:
81
83
  EnforcedStyle: double_quotes
82
84
 
83
85
  Style/AsciiComments:
@@ -0,0 +1,44 @@
1
+ {
2
+ "exclude": {
3
+ "files": null,
4
+ "lines": null
5
+ },
6
+ "generated_at": "2019-10-21T17:11:16Z",
7
+ "plugins_used": [
8
+ {
9
+ "name": "AWSKeyDetector"
10
+ },
11
+ {
12
+ "base64_limit": 4.5,
13
+ "name": "Base64HighEntropyString"
14
+ },
15
+ {
16
+ "name": "BasicAuthDetector"
17
+ },
18
+ {
19
+ "hex_limit": 3,
20
+ "name": "HexHighEntropyString"
21
+ },
22
+ {
23
+ "name": "KeywordDetector"
24
+ },
25
+ {
26
+ "name": "PrivateKeyDetector"
27
+ }
28
+ ],
29
+ "results": {
30
+ "ci/push.sh": [
31
+ {
32
+ "hashed_secret": "335fb8097dbbc802d82afa076d8984279f81c32a",
33
+ "is_verified": false,
34
+ "line_number": 14,
35
+ "type": "Secret Keyword"
36
+ }
37
+ ]
38
+ },
39
+ "version": "0.12.7",
40
+ "word_list": {
41
+ "file": null,
42
+ "hash": null
43
+ }
44
+ }
@@ -2,31 +2,36 @@
2
2
  sudo: false
3
3
  language: ruby
4
4
  rvm:
5
- - 2.3.7
5
+ - 2.6.5
6
6
 
7
7
  cache:
8
- # - apt
9
8
  - bundler
10
9
 
11
10
  before_install:
12
11
  - gem install bundler -v 1.16.2
13
- - gem install bundler-audit -v 0.6.0
12
+ - gem install bundler-audit -v 0.6.1
14
13
 
15
14
  # We don't want deployment mode
16
15
  # It gets confusing when the gem we're building is part of the Gemfile.lock
17
- install: bundle install --jobs=3 --retry=3 --path vendor/bundle
16
+ install:
17
+ - bundle install --jobs=3 --retry=3 --path vendor/bundle
18
18
 
19
19
  script:
20
20
  - bundle audit --update
21
21
  - bundle exec rubocop -D Gemfile safety_goggles.gemspec lib/
22
22
  - bundle exec rake spec
23
23
 
24
+ before_deploy:
25
+ - mkdir -p ~/.gem
26
+ - 'echo ":rubygems_api_key: ${RUBYGEMS_API_KEY:?}" > ~/.gem/credentials'
27
+ - chmod 600 ~/.gem/credentials
28
+ - gem build *.gemspec
29
+ - git checkout -- Gemfile.lock
30
+ - ls -la
31
+
24
32
  deploy:
25
33
  provider: script
26
- script: ci/push.sh
34
+ script: 'gem push safety_goggles-${TRAVIS_TAG:?}.gem'
35
+ skip_cleanup: true
27
36
  on:
28
37
  tags: true
29
-
30
- notifications:
31
- slack:
32
- secure: "IEvcFxI8CddcjTjRPQYlh4SSyedYV55RRRyFBfuT9bpb0WRdmsOfsdyzCyJ2LjcqKlJ9IJIXd2oS9RQniSLgoc77KRyFhyX3ZnYr/v+d2Dk/IVWF7gDyMZ1UaYMhmnyXgX3SrUnu3uL5ID3KjsfQh5C7fATlj+M6k1qBLrpSJ8Q2rSkDEGOdtLKNAPp/eamXXizZcNUXmLXqqKhtOB8hvAtzVaXNxypfSkYQu9YpqS8GWwnK9EWgjMw0axPJ80iE9wlXDcOax5DdROfhbz9E8NZjaCSjadqPij3OebINI0ToRYlCvtjOQ32nx3av1rJV5rZ33/vn2Uq15RBOW/dkTI4ilQ+6ymlKVuDs+PsLzpYXmkT2XZJo+KXENUc+1MYxhpewmtio/KpV/1ecbtpzWFeFM/beLmrASePoKOgiNvH66b+ifSP4sQsFBZMhccF5px6+kiW3i8A1jY3mEyO9Ubh0jRl4bRdhaMqS5CqM5B7Vs86xiWoZqF+XEE4CPTT5oKTWptLEdXKTkJHkOLHohjjYKu2YT41Bm7jIng3CXD2Ej26bg65VHs78v/g/z5qimxrBgW1VgbUST+PpCyjb2CPNoAU++QgdstHX8Z4usPi2PpvP/zm+hGH4yCIDKvbSapGyC/aemlNQm2v7Pe+qNNFpqv/eVAn9YBS2kmMeNfA="
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
7
7
 
8
8
  ## [Unreleased][]
9
9
 
10
+ ## [2.2.0][] - 2019-10-21
11
+
12
+ ## Changed
13
+
14
+ - Published open source version.
15
+
10
16
  ## [2.1.1][] - 2018-07-13
11
17
 
12
18
  ### Fixed
@@ -65,8 +71,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
65
71
 
66
72
  - Fix for environment check
67
73
 
68
- [unreleased]: https://github.ibm.com/cognitive-class-labs/safety_goggles/compare/2.1.1...HEAD
69
- [2.1.1]: https://github.ibm.com/cognitive-class-labs/safety_goggles/compare/2.1.0...2.1.1
70
- [2.1.0]: https://github.ibm.com/cognitive-class-labs/safety_goggles/compare/2.0.10...2.1.0
71
- [2.0.10]: https://github.ibm.com/cognitive-class-labs/safety_goggles/compare/v1.2.2...2.0.10
72
- [1.2.2]: https://github.ibm.com/cognitive-class-labs/safety_goggles/compare/v1.1.0...v1.2.2
74
+ [unreleased]: https://github.com/IBM/safety-goggles/compare/2.2.0...HEAD
75
+ [2.2.0]: https://github.com/IBM/safety-goggles/compare/2.1.1...2.2.0
76
+ [2.1.1]: https://github.com/IBM/safety-goggles/compare/2.1.0...2.1.1
77
+ [2.1.0]: https://github.com/IBM/safety-goggles/compare/2.0.10...2.1.0
78
+ [2.0.10]: https://github.com/IBM/safety-goggles/compare/v1.2.2...2.0.10
79
+ [1.2.2]: https://github.com/IBM/safety-goggles/compare/v1.1.0...v1.2.2
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source "https://rubygems.org"
2
4
 
3
5
  gemspec
@@ -1,32 +1,32 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- safety_goggles (2.1.1)
4
+ safety_goggles (2.2.0)
5
5
  sentry-raven (~> 2.6)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- actionpack (5.2.0)
11
- actionview (= 5.2.0)
12
- activesupport (= 5.2.0)
10
+ actionpack (5.2.3)
11
+ actionview (= 5.2.3)
12
+ activesupport (= 5.2.3)
13
13
  rack (~> 2.0)
14
14
  rack-test (>= 0.6.3)
15
15
  rails-dom-testing (~> 2.0)
16
16
  rails-html-sanitizer (~> 1.0, >= 1.0.2)
17
- actionview (5.2.0)
18
- activesupport (= 5.2.0)
17
+ actionview (5.2.3)
18
+ activesupport (= 5.2.3)
19
19
  builder (~> 3.1)
20
20
  erubi (~> 1.4)
21
21
  rails-dom-testing (~> 2.0)
22
22
  rails-html-sanitizer (~> 1.0, >= 1.0.3)
23
- activemodel (5.2.0)
24
- activesupport (= 5.2.0)
25
- activerecord (5.2.0)
26
- activemodel (= 5.2.0)
27
- activesupport (= 5.2.0)
23
+ activemodel (5.2.3)
24
+ activesupport (= 5.2.3)
25
+ activerecord (5.2.3)
26
+ activemodel (= 5.2.3)
27
+ activesupport (= 5.2.3)
28
28
  arel (>= 9.0)
29
- activesupport (5.2.0)
29
+ activesupport (5.2.3)
30
30
  concurrent-ruby (~> 1.0, >= 1.0.2)
31
31
  i18n (>= 0.7, < 2)
32
32
  minitest (~> 5.1)
@@ -34,23 +34,23 @@ GEM
34
34
  addressable (2.4.0)
35
35
  arel (9.0.0)
36
36
  ast (2.4.0)
37
- backports (3.11.3)
37
+ backports (3.15.0)
38
38
  builder (3.2.3)
39
- bundler-audit (0.6.0)
40
- bundler (~> 1.2)
39
+ bundler-audit (0.6.1)
40
+ bundler (>= 1.2.0, < 3)
41
41
  thor (~> 0.18)
42
- concurrent-ruby (1.0.5)
43
- crass (1.0.4)
42
+ concurrent-ruby (1.1.5)
43
+ crass (1.0.5)
44
44
  diff-lcs (1.3)
45
- docile (1.3.1)
46
- erubi (1.7.1)
47
- ethon (0.11.0)
45
+ docile (1.3.2)
46
+ erubi (1.9.0)
47
+ ethon (0.12.0)
48
48
  ffi (>= 1.3.0)
49
- faraday (0.15.2)
49
+ faraday (0.17.0)
50
50
  multipart-post (>= 1.2, < 3)
51
- faraday_middleware (0.12.2)
51
+ faraday_middleware (0.13.1)
52
52
  faraday (>= 0.7.4, < 1.0)
53
- ffi (1.9.25)
53
+ ffi (1.11.1)
54
54
  gh (0.15.1)
55
55
  addressable (~> 2.4.0)
56
56
  backports
@@ -59,73 +59,78 @@ GEM
59
59
  net-http-persistent (~> 2.9)
60
60
  net-http-pipeline
61
61
  highline (1.7.10)
62
- i18n (1.0.1)
62
+ i18n (1.7.0)
63
63
  concurrent-ruby (~> 1.0)
64
- jaro_winkler (1.5.1)
65
- json (2.1.0)
64
+ jaro_winkler (1.5.3)
65
+ json (2.2.0)
66
66
  launchy (2.4.3)
67
67
  addressable (~> 2.3)
68
- loofah (2.2.2)
68
+ loofah (2.3.0)
69
69
  crass (~> 1.0.2)
70
70
  nokogiri (>= 1.5.9)
71
- mini_portile2 (2.3.0)
72
- minitest (5.11.3)
73
- multi_json (1.13.1)
74
- multipart-post (2.0.0)
71
+ mini_portile2 (2.4.0)
72
+ minitest (5.12.2)
73
+ multi_json (1.14.1)
74
+ multipart-post (2.1.1)
75
75
  net-http-persistent (2.9.4)
76
76
  net-http-pipeline (1.0.1)
77
77
  net-ldap (0.16.1)
78
- nokogiri (1.8.4)
79
- mini_portile2 (~> 2.3.0)
80
- parallel (1.12.1)
81
- parser (2.5.1.2)
78
+ nokogiri (1.10.4)
79
+ mini_portile2 (~> 2.4.0)
80
+ parallel (1.18.0)
81
+ parser (2.6.5.0)
82
82
  ast (~> 2.4.0)
83
- powerpack (0.1.2)
84
83
  pusher-client (0.6.2)
85
84
  json
86
85
  websocket (~> 1.0)
87
- rack (2.0.5)
88
- rack-test (1.0.0)
86
+ rack (2.0.7)
87
+ rack-test (1.1.0)
89
88
  rack (>= 1.0, < 3)
90
89
  rails-dom-testing (2.0.3)
91
90
  activesupport (>= 4.2.0)
92
91
  nokogiri (>= 1.6)
93
- rails-html-sanitizer (1.0.4)
94
- loofah (~> 2.2, >= 2.2.2)
92
+ rails-html-sanitizer (1.3.0)
93
+ loofah (~> 2.3)
95
94
  rainbow (3.0.0)
96
- rake (12.3.1)
97
- rspec (3.7.0)
98
- rspec-core (~> 3.7.0)
99
- rspec-expectations (~> 3.7.0)
100
- rspec-mocks (~> 3.7.0)
101
- rspec-core (3.7.1)
102
- rspec-support (~> 3.7.0)
103
- rspec-expectations (3.7.0)
95
+ rake (12.3.3)
96
+ rspec (3.9.0)
97
+ rspec-core (~> 3.9.0)
98
+ rspec-expectations (~> 3.9.0)
99
+ rspec-mocks (~> 3.9.0)
100
+ rspec-core (3.9.0)
101
+ rspec-support (~> 3.9.0)
102
+ rspec-expectations (3.9.0)
104
103
  diff-lcs (>= 1.2.0, < 2.0)
105
- rspec-support (~> 3.7.0)
106
- rspec-mocks (3.7.0)
104
+ rspec-support (~> 3.9.0)
105
+ rspec-mocks (3.9.0)
107
106
  diff-lcs (>= 1.2.0, < 2.0)
108
- rspec-support (~> 3.7.0)
109
- rspec-support (3.7.1)
110
- rubocop (0.58.1)
107
+ rspec-support (~> 3.9.0)
108
+ rspec-support (3.9.0)
109
+ rubocop (0.75.1)
111
110
  jaro_winkler (~> 1.5.1)
112
111
  parallel (~> 1.10)
113
- parser (>= 2.5, != 2.5.1.1)
114
- powerpack (~> 0.1)
112
+ parser (>= 2.6)
115
113
  rainbow (>= 2.2.2, < 4.0)
116
114
  ruby-progressbar (~> 1.7)
117
- unicode-display_width (~> 1.0, >= 1.0.1)
118
- ruby-progressbar (1.9.0)
119
- sentry-raven (2.7.4)
115
+ unicode-display_width (>= 1.4.0, < 1.7)
116
+ rubocop-gitlab-security (0.1.1)
117
+ rubocop (>= 0.51)
118
+ rubocop-performance (1.5.0)
119
+ rubocop (>= 0.71.0)
120
+ rubocop-rails (2.3.2)
121
+ rack (>= 1.1)
122
+ rubocop (>= 0.72.0)
123
+ ruby-progressbar (1.10.1)
124
+ sentry-raven (2.12.0)
120
125
  faraday (>= 0.7.6, < 1.0)
121
- simplecov (0.16.1)
126
+ simplecov (0.17.1)
122
127
  docile (~> 1.1)
123
128
  json (>= 1.8, < 3)
124
129
  simplecov-html (~> 0.10.0)
125
130
  simplecov-html (0.10.2)
126
- thor (0.20.0)
131
+ thor (0.20.3)
127
132
  thread_safe (0.3.6)
128
- travis (1.8.8)
133
+ travis (1.8.10)
129
134
  backports
130
135
  faraday (~> 0.9)
131
136
  faraday_middleware (~> 0.9, >= 0.9.1)
@@ -138,27 +143,32 @@ GEM
138
143
  ethon (>= 0.8.0)
139
144
  tzinfo (1.2.5)
140
145
  thread_safe (~> 0.1)
141
- unicode-display_width (1.4.0)
146
+ unicode-display_width (1.6.0)
142
147
  websocket (1.2.8)
143
148
 
144
149
  PLATFORMS
145
150
  ruby
146
151
 
147
152
  DEPENDENCIES
148
- actionpack (~> 5.0, >= 5.0.2)
149
- activemodel (~> 5.0, >= 5.0.2)
150
- activerecord (~> 5.0, >= 5.0.2)
153
+ actionpack (~> 5.2)
154
+ actionview (~> 5.2, >= 5.2.2.1)
155
+ activemodel (~> 5.2)
156
+ activerecord (~> 5.2)
151
157
  bundler-audit (~> 0.6)
152
- loofah (~> 2.2, >= 2.2.1)
158
+ loofah (~> 2.2, >= 2.2.3)
153
159
  net-ldap (~> 0.16)
154
- nokogiri (~> 1.8, >= 1.8.3)
160
+ nokogiri (~> 1.10, >= 1.10.4)
161
+ rack (~> 2.0, >= 2.0.6)
155
162
  rails-html-sanitizer (~> 1.0, >= 1.0.4)
156
163
  rake (~> 12.0)
157
164
  rspec (~> 3.4)
158
165
  rubocop (~> 0.49)
166
+ rubocop-gitlab-security (~> 0.1)
167
+ rubocop-performance (~> 1.5)
168
+ rubocop-rails (~> 2.3)
159
169
  safety_goggles!
160
170
  simplecov (~> 0.11, >= 0.11.1)
161
171
  travis (~> 1.8)
162
172
 
163
173
  BUNDLED WITH
164
- 1.16.2
174
+ 1.17.3
data/LICENSE ADDED
@@ -0,0 +1,14 @@
1
+ Copyright 2019 IBM
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
4
+ documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
5
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
6
+ persons to whom the Software is furnished to do so, subject to the following conditions:
7
+
8
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
9
+ Software.
10
+
11
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
12
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
13
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
14
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile CHANGED
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bundler/gem_tasks"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "safety_goggles/handler"
2
4
  require "safety_goggles/unauthorized_error"
3
5
  require "safety_goggles/record_not_found_error"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SafetyGoggles
2
4
  class Handler
3
5
  ERROR_CODES = {
@@ -38,14 +40,15 @@ module SafetyGoggles
38
40
  severity = SEVERITIES.fetch(code, "warning")
39
41
 
40
42
  Raven.capture_exception(error,
41
- extra: { nice_backtrace: get_backtrace(error) },
42
- level: severity,
43
- tags: { code: code, class: error.class })
43
+ extra: { nice_backtrace: get_backtrace(error) },
44
+ level: severity,
45
+ tags: { code: code, class: error.class })
44
46
  end
45
47
  # :nocov:
46
48
 
47
49
  def self.serious_env?
48
50
  return false unless defined?(Rails)
51
+
49
52
  # :nocov:
50
53
  # rubocop:disable Rails/UnknownEnv
51
54
  Rails.env.production? || Rails.env.staging?
@@ -56,16 +59,19 @@ module SafetyGoggles
56
59
  def self.get_backtrace(error)
57
60
  return [] unless error.respond_to?(:backtrace)
58
61
  return [] if error.backtrace.nil?
62
+
59
63
  error.backtrace.reject { |line| %r{/gems/}.match(line).present? }
60
64
  end
61
65
 
62
66
  def self.logger
63
67
  return Rails.logger if defined?(Rails) && Rails.respond_to?(:logger) && Rails.logger.present?
68
+
64
69
  Logger.new(STDOUT)
65
70
  end
66
71
 
67
72
  def self.guess_env
68
73
  return Rails.env if defined?(Rails) && Rails.respond_to?(:env)
74
+
69
75
  "development"
70
76
  end
71
77
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SafetyGoggles
2
4
  class RecordNotFoundError < StandardError
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SafetyGoggles
2
4
  class UnauthorizedError < StandardError
3
5
  end
@@ -1,18 +1,17 @@
1
1
  # coding: utf-8
2
+ # frozen_string_literal: true
2
3
 
3
4
  lib = File.expand_path("lib", __dir__)
4
5
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
-
6
- # rubocop:disable Metrics/BlockLength
7
6
  Gem::Specification.new do |spec|
8
7
  spec.name = "safety_goggles"
9
- spec.version = File.open("VERSION", "r").read.strip
8
+ spec.version = ENV.fetch("TRAVIS_TAG", "0.0.0")
10
9
  spec.authors = ["Leons Petrazickis"]
11
10
  spec.email = ["leonsp@ca.ibm.com"]
12
11
  spec.summary = "Rails error handler"
13
12
  spec.description = "Rails error handler that integrates with Sentry and generates 4xx error responses"
14
- spec.homepage = "http://cognitiveclass.ai"
15
- spec.license = "Nonstandard"
13
+ spec.homepage = "https://github.com/IBM/safety-goggles"
14
+ spec.license = "MIT"
16
15
 
17
16
  # TODO: Remove dependency on git.
18
17
  spec.files = %x(git ls-files).split($INPUT_RECORD_SEPARATOR)
@@ -20,24 +19,25 @@ Gem::Specification.new do |spec|
20
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
21
20
  spec.require_paths = ["lib"]
22
21
 
23
- # Install geminabox on the system but don't include it here
24
- # so that Sinatra doesn't conflict with Rails5 stuff
25
-
26
- # Force dependency update because of vulnerabilities
27
- spec.add_development_dependency "loofah", "~> 2.2", ">= 2.2.1"
28
- spec.add_development_dependency "nokogiri", "~> 1.8", ">= 1.8.3"
29
- spec.add_development_dependency "rails-html-sanitizer", "~> 1.0", ">= 1.0.4"
30
-
31
22
  # ActionController, ActiveRecord, and ActiveModel error definitions
32
- spec.add_development_dependency "actionpack", "~> 5.0", ">= 5.0.2"
33
- spec.add_development_dependency "activemodel", "~> 5.0", ">= 5.0.2"
34
- spec.add_development_dependency "activerecord", "~> 5.0", ">= 5.0.2"
23
+ spec.add_development_dependency "actionpack", "~> 5.2"
24
+ spec.add_development_dependency "actionview", "~> 5.2", ">= 5.2.2.1"
25
+ spec.add_development_dependency "activemodel", "~> 5.2"
26
+ spec.add_development_dependency "activerecord", "~> 5.2"
35
27
 
36
28
  spec.add_development_dependency "bundler-audit", "~> 0.6"
37
29
 
30
+ spec.add_development_dependency "loofah", "~> 2.2", ">= 2.2.3"
31
+
38
32
  # LDAP errors
39
33
  spec.add_development_dependency "net-ldap", "~> 0.16"
40
34
 
35
+ spec.add_development_dependency "nokogiri", "~> 1.10", ">= 1.10.4"
36
+
37
+ spec.add_development_dependency "rack", "~> 2.0", ">= 2.0.6"
38
+
39
+ spec.add_development_dependency "rails-html-sanitizer", "~> 1.0", ">= 1.0.4"
40
+
41
41
  # To install the gem locally:
42
42
  # bundle exec rake install
43
43
  spec.add_development_dependency "rake", "~> 12.0"
@@ -55,8 +55,10 @@ Gem::Specification.new do |spec|
55
55
  # Ruby Style Guide.
56
56
  # https://github.com/bbatsov/rubocop
57
57
  spec.add_development_dependency "rubocop", "~> 0.49"
58
+ spec.add_development_dependency "rubocop-gitlab-security", "~> 0.1"
59
+ spec.add_development_dependency "rubocop-performance", "~> 1.5"
60
+ spec.add_development_dependency "rubocop-rails", "~> 2.3"
58
61
 
59
62
  # Also send stacktraces
60
63
  spec.add_runtime_dependency "sentry-raven", "~> 2.6"
61
64
  end
62
- # rubocop:enable Metrics/BlockLength
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "action_controller"
2
4
  require "active_model"
3
5
  require "active_model/validations"
@@ -14,11 +16,9 @@ require "safety_goggles/unauthorized_error"
14
16
  RSpec.describe(SafetyGoggles::Handler) do
15
17
  describe :handle_error do
16
18
  it "doesn't throw any errors" do
17
- begin
18
- raise SafetyGoggles::UnauthorizedError, "Just testing"
19
- rescue StandardError => error
20
- expect { SafetyGoggles::Handler.handle_error(error) }.not_to raise_error
21
- end
19
+ raise SafetyGoggles::UnauthorizedError, "Just testing"
20
+ rescue StandardError => e
21
+ expect { SafetyGoggles::Handler.handle_error(e) }.not_to raise_error
22
22
  end
23
23
 
24
24
  ERROR_CODES = {
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "safety_goggles/record_not_found_error"
2
4
 
3
5
  RSpec.describe(SafetyGoggles::RecordNotFoundError) do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "safety_goggles/unauthorized_error"
2
4
 
3
5
  RSpec.describe(SafetyGoggles::UnauthorizedError) do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "simplecov"
2
4
  SimpleCov.start do
3
5
  add_filter "/spec/"
metadata CHANGED
@@ -1,163 +1,185 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: safety_goggles
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leons Petrazickis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-13 00:00:00.000000000 Z
11
+ date: 2019-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: loofah
14
+ name: actionpack
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.2'
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 2.2.1
19
+ version: '5.2'
23
20
  type: :development
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: '2.2'
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 2.2.1
26
+ version: '5.2'
33
27
  - !ruby/object:Gem::Dependency
34
- name: nokogiri
28
+ name: actionview
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - "~>"
38
32
  - !ruby/object:Gem::Version
39
- version: '1.8'
33
+ version: '5.2'
40
34
  - - ">="
41
35
  - !ruby/object:Gem::Version
42
- version: 1.8.3
36
+ version: 5.2.2.1
43
37
  type: :development
44
38
  prerelease: false
45
39
  version_requirements: !ruby/object:Gem::Requirement
46
40
  requirements:
47
41
  - - "~>"
48
42
  - !ruby/object:Gem::Version
49
- version: '1.8'
43
+ version: '5.2'
50
44
  - - ">="
51
45
  - !ruby/object:Gem::Version
52
- version: 1.8.3
46
+ version: 5.2.2.1
53
47
  - !ruby/object:Gem::Dependency
54
- name: rails-html-sanitizer
48
+ name: activemodel
55
49
  requirement: !ruby/object:Gem::Requirement
56
50
  requirements:
57
51
  - - "~>"
58
52
  - !ruby/object:Gem::Version
59
- version: '1.0'
60
- - - ">="
53
+ version: '5.2'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
61
59
  - !ruby/object:Gem::Version
62
- version: 1.0.4
60
+ version: '5.2'
61
+ - !ruby/object:Gem::Dependency
62
+ name: activerecord
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '5.2'
63
68
  type: :development
64
69
  prerelease: false
65
70
  version_requirements: !ruby/object:Gem::Requirement
66
71
  requirements:
67
72
  - - "~>"
68
73
  - !ruby/object:Gem::Version
69
- version: '1.0'
70
- - - ">="
74
+ version: '5.2'
75
+ - !ruby/object:Gem::Dependency
76
+ name: bundler-audit
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
71
80
  - !ruby/object:Gem::Version
72
- version: 1.0.4
81
+ version: '0.6'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '0.6'
73
89
  - !ruby/object:Gem::Dependency
74
- name: actionpack
90
+ name: loofah
75
91
  requirement: !ruby/object:Gem::Requirement
76
92
  requirements:
77
93
  - - "~>"
78
94
  - !ruby/object:Gem::Version
79
- version: '5.0'
95
+ version: '2.2'
80
96
  - - ">="
81
97
  - !ruby/object:Gem::Version
82
- version: 5.0.2
98
+ version: 2.2.3
83
99
  type: :development
84
100
  prerelease: false
85
101
  version_requirements: !ruby/object:Gem::Requirement
86
102
  requirements:
87
103
  - - "~>"
88
104
  - !ruby/object:Gem::Version
89
- version: '5.0'
105
+ version: '2.2'
90
106
  - - ">="
91
107
  - !ruby/object:Gem::Version
92
- version: 5.0.2
108
+ version: 2.2.3
93
109
  - !ruby/object:Gem::Dependency
94
- name: activemodel
110
+ name: net-ldap
95
111
  requirement: !ruby/object:Gem::Requirement
96
112
  requirements:
97
113
  - - "~>"
98
114
  - !ruby/object:Gem::Version
99
- version: '5.0'
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: 5.0.2
115
+ version: '0.16'
103
116
  type: :development
104
117
  prerelease: false
105
118
  version_requirements: !ruby/object:Gem::Requirement
106
119
  requirements:
107
120
  - - "~>"
108
121
  - !ruby/object:Gem::Version
109
- version: '5.0'
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- version: 5.0.2
122
+ version: '0.16'
113
123
  - !ruby/object:Gem::Dependency
114
- name: activerecord
124
+ name: nokogiri
115
125
  requirement: !ruby/object:Gem::Requirement
116
126
  requirements:
117
127
  - - "~>"
118
128
  - !ruby/object:Gem::Version
119
- version: '5.0'
129
+ version: '1.10'
120
130
  - - ">="
121
131
  - !ruby/object:Gem::Version
122
- version: 5.0.2
132
+ version: 1.10.4
123
133
  type: :development
124
134
  prerelease: false
125
135
  version_requirements: !ruby/object:Gem::Requirement
126
136
  requirements:
127
137
  - - "~>"
128
138
  - !ruby/object:Gem::Version
129
- version: '5.0'
139
+ version: '1.10'
130
140
  - - ">="
131
141
  - !ruby/object:Gem::Version
132
- version: 5.0.2
142
+ version: 1.10.4
133
143
  - !ruby/object:Gem::Dependency
134
- name: bundler-audit
144
+ name: rack
135
145
  requirement: !ruby/object:Gem::Requirement
136
146
  requirements:
137
147
  - - "~>"
138
148
  - !ruby/object:Gem::Version
139
- version: '0.6'
149
+ version: '2.0'
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 2.0.6
140
153
  type: :development
141
154
  prerelease: false
142
155
  version_requirements: !ruby/object:Gem::Requirement
143
156
  requirements:
144
157
  - - "~>"
145
158
  - !ruby/object:Gem::Version
146
- version: '0.6'
159
+ version: '2.0'
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: 2.0.6
147
163
  - !ruby/object:Gem::Dependency
148
- name: net-ldap
164
+ name: rails-html-sanitizer
149
165
  requirement: !ruby/object:Gem::Requirement
150
166
  requirements:
151
167
  - - "~>"
152
168
  - !ruby/object:Gem::Version
153
- version: '0.16'
169
+ version: '1.0'
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: 1.0.4
154
173
  type: :development
155
174
  prerelease: false
156
175
  version_requirements: !ruby/object:Gem::Requirement
157
176
  requirements:
158
177
  - - "~>"
159
178
  - !ruby/object:Gem::Version
160
- version: '0.16'
179
+ version: '1.0'
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: 1.0.4
161
183
  - !ruby/object:Gem::Dependency
162
184
  name: rake
163
185
  requirement: !ruby/object:Gem::Requirement
@@ -234,6 +256,48 @@ dependencies:
234
256
  - - "~>"
235
257
  - !ruby/object:Gem::Version
236
258
  version: '0.49'
259
+ - !ruby/object:Gem::Dependency
260
+ name: rubocop-gitlab-security
261
+ requirement: !ruby/object:Gem::Requirement
262
+ requirements:
263
+ - - "~>"
264
+ - !ruby/object:Gem::Version
265
+ version: '0.1'
266
+ type: :development
267
+ prerelease: false
268
+ version_requirements: !ruby/object:Gem::Requirement
269
+ requirements:
270
+ - - "~>"
271
+ - !ruby/object:Gem::Version
272
+ version: '0.1'
273
+ - !ruby/object:Gem::Dependency
274
+ name: rubocop-performance
275
+ requirement: !ruby/object:Gem::Requirement
276
+ requirements:
277
+ - - "~>"
278
+ - !ruby/object:Gem::Version
279
+ version: '1.5'
280
+ type: :development
281
+ prerelease: false
282
+ version_requirements: !ruby/object:Gem::Requirement
283
+ requirements:
284
+ - - "~>"
285
+ - !ruby/object:Gem::Version
286
+ version: '1.5'
287
+ - !ruby/object:Gem::Dependency
288
+ name: rubocop-rails
289
+ requirement: !ruby/object:Gem::Requirement
290
+ requirements:
291
+ - - "~>"
292
+ - !ruby/object:Gem::Version
293
+ version: '2.3'
294
+ type: :development
295
+ prerelease: false
296
+ version_requirements: !ruby/object:Gem::Requirement
297
+ requirements:
298
+ - - "~>"
299
+ - !ruby/object:Gem::Version
300
+ version: '2.3'
237
301
  - !ruby/object:Gem::Dependency
238
302
  name: sentry-raven
239
303
  requirement: !ruby/object:Gem::Requirement
@@ -256,20 +320,21 @@ executables: []
256
320
  extensions: []
257
321
  extra_rdoc_files: []
258
322
  files:
323
+ - ".circleci/config.yml"
259
324
  - ".editorconfig"
325
+ - ".github/PULL_REQUEST_TEMPLATE.md"
260
326
  - ".gitignore"
327
+ - ".pre-commit-config.yaml"
261
328
  - ".rspec"
262
329
  - ".rubocop.yml"
330
+ - ".secrets.baseline"
263
331
  - ".travis.yml"
264
332
  - CHANGELOG.md
265
333
  - Gemfile
266
334
  - Gemfile.lock
267
- - Makefile
335
+ - LICENSE
268
336
  - README.md
269
337
  - Rakefile
270
- - VERSION
271
- - ci/README.md
272
- - ci/push.sh
273
338
  - lib/safety_goggles.rb
274
339
  - lib/safety_goggles/handler.rb
275
340
  - lib/safety_goggles/record_not_found_error.rb
@@ -279,9 +344,9 @@ files:
279
344
  - spec/lib/record_not_found_error_spec.rb
280
345
  - spec/lib/unauthorized_error_spec.rb
281
346
  - spec/spec_helper.rb
282
- homepage: http://cognitiveclass.ai
347
+ homepage: https://github.com/IBM/safety-goggles
283
348
  licenses:
284
- - Nonstandard
349
+ - MIT
285
350
  metadata: {}
286
351
  post_install_message:
287
352
  rdoc_options: []
@@ -298,8 +363,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
298
363
  - !ruby/object:Gem::Version
299
364
  version: '0'
300
365
  requirements: []
301
- rubyforge_project:
302
- rubygems_version: 2.7.6
366
+ rubygems_version: 3.0.6
303
367
  signing_key:
304
368
  specification_version: 4
305
369
  summary: Rails error handler
data/Makefile DELETED
@@ -1,26 +0,0 @@
1
- .PHONY: build clean precommit publish spec
2
-
3
- VERSION:=$(shell cat VERSION)
4
-
5
- build: precommit tag
6
- gem build *.gemspec
7
- gem install *.gem --ignore-dependencies
8
-
9
- clean:
10
- rm *.gem
11
-
12
- publish: build
13
- gem inabox *.gem
14
- make clean
15
-
16
- precommit:
17
- -@gem install geminabox
18
- -rubocop -Da
19
- -bundle
20
- -bundle-audit check --update
21
-
22
- spec:
23
- bundle exec rspec
24
-
25
- tag:
26
- git tag -f v$(VERSION)
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 2.1.1
@@ -1,21 +0,0 @@
1
- # CI
2
-
3
-
4
- The following commands were used to configure CI with Travis (one-time setup).
5
-
6
- ```shell
7
- travis env set ART_URL <...>
8
- travis env set ART_USERNAME <...>
9
- travis env set ART_API_KEY <...>
10
- ```
11
-
12
- Note: If your username has an `@`, change it to `%40`
13
-
14
- You can also set these values through the Travis web gui
15
-
16
- The value for `notifications/slack/secure` is obtained by running the following
17
- command.
18
-
19
- ```sh
20
- travis encrypt "<SLACK_TEAM_SUB_DOMAIN>:<SLACK_TOKEN>" --add notifications.slack
21
- ```
data/ci/push.sh DELETED
@@ -1,22 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # Exit immediately if a command exits with a non-zero status.
4
- set -e
5
-
6
- echo "Clean the environment"
7
- rm -f *.gem
8
-
9
- echo "Building gem"
10
- gem build *.gemspec
11
-
12
- # Log into Artifactory
13
- echo "Getting repository api key"
14
- curl -fsu "${ART_USERNAME:?}:${ART_API_KEY:?}" "${ART_URL:?}/api/v1/api_key.yaml" >> ~/.gem/credentials
15
-
16
- echo "Setting credential permissions"
17
- chmod 0600 ~/.gem/credentials
18
-
19
- echo "Publishing gem"
20
- gem push *.gem --host "$ART_URL"
21
-
22
- echo "Gem published"