bankai 0.9.1 → 0.12.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87925a6dda0432c79ccf3b194df09dca2b10db120c6164461e77b159d454784c
4
- data.tar.gz: 77adaf8ff0730f116145570b382a9a79cc4b70e23db2b2964e19b5fd06df5428
3
+ metadata.gz: 9a6b1cb1c6a50602163dc85a7bd042189ec388bc215c8a2f8060a9ce84323d6b
4
+ data.tar.gz: 2a4f7de2291eaa6f1441affa1ea4f5dce0452a3a5d953c5e880266d9b45cc37c
5
5
  SHA512:
6
- metadata.gz: fa0c5b971be83b6b8ba3aa23fbf79b573acdffd62597d228871975515db2e537ce22c858ffa143530e969e767acc978224c9fba3422f49b4ae9e2626b4c5101b
7
- data.tar.gz: 7645a98ae959327151ce7f6e3cf68f566da6898a21c07160982b218e5dd0532db4d6530c2442571a1d632a8c812acf3b71b9b8d0e9d9b3c5d4776fac6d0a8055
6
+ metadata.gz: c13a49b6e7e6e01d87b915007c93a0d3efe5a137494b064526a771a40c6c691a1fe76fc543d29681966741e450b2201136941c05727a9bdb707e3b81535be19c
7
+ data.tar.gz: 37929709a79426fb405ff059e8d02051aff5fc0f087b7c6a19adb9fecc0285f9761147641813d9532c66ded7b06739c592a816b9546a660120840fce0d2260dd
data/.gitlab-ci.yml CHANGED
@@ -1,4 +1,4 @@
1
- image: ruby:2.6.6
1
+ image: ruby:2.7.4
2
2
 
3
3
  stages:
4
4
  - lint
@@ -10,7 +10,7 @@ cache:
10
10
  - vendor/ruby
11
11
 
12
12
  .install_ruby_gems: &install_ruby_gems
13
- - gem install bundler -v 2.1.4
13
+ - gem install bundler -v 2.2.26
14
14
  - bundle install --path vendor
15
15
 
16
16
  before_script:
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.6.6
1
+ 2.7.4
data/.travis.yml CHANGED
@@ -3,5 +3,5 @@ sudo: false
3
3
  language: ruby
4
4
  cache: bundler
5
5
  rvm:
6
- - 2.6.6
7
- before_install: gem install bundler -v 2.1.4
6
+ - 2.7.4
7
+ before_install: gem install bundler -v 2.2.26
data/bankai.gemspec CHANGED
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ['lib']
29
29
 
30
- spec.add_development_dependency 'bundler', '~> 2.1.4'
30
+ spec.add_development_dependency 'bundler', '~> 2.2.26'
31
31
  spec.add_development_dependency 'bundler-audit'
32
32
  spec.add_development_dependency 'overcommit'
33
33
  spec.add_development_dependency 'rake', '~> 12.0'
@@ -12,15 +12,15 @@ module Bankai
12
12
  desc: 'Configure for selected database ' \
13
13
  "(options: #{DATABASES.join('/')})"
14
14
 
15
+ class_option :capistrano, type: :boolean, default: false,
16
+ desc: 'Use Capistrano'
17
+
15
18
  class_option :skip_test, type: :boolean, default: true,
16
19
  desc: 'Skip test files'
17
20
 
18
21
  class_option :skip_coffee, type: :boolean, default: true,
19
22
  desc: "Don't use CoffeeScript"
20
23
 
21
- class_option :skip_capistrano, type: :boolean, default: false,
22
- desc: "Don't use Capistrano"
23
-
24
24
  class_option :skip_rspec, type: :boolean, default: false,
25
25
  desc: 'Skip rspec files'
26
26
 
@@ -68,11 +68,11 @@ module Bankai
68
68
  def generate_default
69
69
  run('spring stop')
70
70
  generate('bankai:testing') unless options[:skip_rspec]
71
- generate('bankai:ci')
71
+ generate('bankai:ci', options.api? ? '--api' : '')
72
72
  generate('bankai:json')
73
73
  generate('bankai:db_optimizations')
74
74
  generate('bankai:mailer')
75
- generate('bankai:deploy') unless options[:skip_capistrano]
75
+ generate('bankai:deploy') if options[:capistrano]
76
76
  generate('annotate:install')
77
77
  generate('bankai:lint')
78
78
  end
@@ -6,6 +6,8 @@ module Bankai
6
6
  module Generators
7
7
  # :nodoc:
8
8
  class CiGenerator < Base
9
+ class_option :api, type: :boolean, default: false
10
+
9
11
  def configure_ci
10
12
  template 'gitlab-ci.yml.erb', '.gitlab-ci.yml'
11
13
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bankai
4
- VERSION = '0.9.1'
5
- RUBY_VERSION = '2.6.6'
4
+ VERSION = '0.12.1'
5
+ RUBY_VERSION = '2.6.7'
6
6
  RAILS_VERSION = '5.2.0'
7
- RUBOCOP_VERSION = '1.8.1'
8
- CAPISTRANO_VERSION = '3.14.1'
7
+ RUBOCOP_VERSION = '1.9.1'
8
+ CAPISTRANO_VERSION = '3.16.0'
9
9
  end
@@ -54,6 +54,7 @@ group :development, :test do
54
54
  gem 'shoulda', require: false
55
55
  gem 'shoulda-matchers', require: false
56
56
  gem 'simplecov', require: false
57
+ gem 'simplecov-cobertura', require: false
57
58
  <%- end -%>
58
59
 
59
60
  gem 'bankai'
@@ -61,7 +62,7 @@ end
61
62
 
62
63
  group :development do
63
64
  <% if depend_on_listen? -%>
64
- gem 'listen', '>= 3.0.5', '< 3.2'
65
+ gem 'listen', '~> 3.3'
65
66
  <% end -%>
66
67
  <%- unless options.api? -%>
67
68
  # Access an interactive console on exception pages or
@@ -81,7 +82,7 @@ group :development do
81
82
  <% end -%>
82
83
  <% end -%>
83
84
 
84
- <% unless options[:skip_capistrano] -%>
85
+ <% if options[:capistrano] -%>
85
86
  gem 'capistrano', '<%= Bankai::CAPISTRANO_VERSION %>'
86
87
  gem 'capistrano-bundler'
87
88
  gem 'capistrano-rails'
@@ -206,7 +206,7 @@ bundle exec brakeman
206
206
  cp .env.example .env
207
207
  ```
208
208
 
209
- <%- unless options[:skip_capistrano] -%>
209
+ <%- if options[:capistrano] -%>
210
210
  ## 部署
211
211
 
212
212
  這個專案使用 Capistrano 進行部署,請先確定有權限透過 `deployer` 帳號 SSH 到伺服器上。
@@ -8,8 +8,10 @@ stages:
8
8
 
9
9
  variables:
10
10
  RAILS_ENV: test
11
+ <%- unless options.api? -%>
11
12
  NODE_VERSION: 12.13.1
12
- BUNDLER_VERSION: 2.1.4
13
+ <%- end -%>
14
+ BUNDLER_VERSION: 2.2.26
13
15
  <%- if pg? -%>
14
16
  POSTGRES_DB: <%= app_name %>
15
17
  POSTGRES_PASSWORD: postgres
@@ -26,11 +28,12 @@ variables:
26
28
  .install_ruby_gems: &install_ruby_gems
27
29
  - gem install bundler -v ${BUNDLER_VERSION}
28
30
  - bundle install --path vendor
29
-
31
+ <% unless options.api? %>
30
32
  .install_nodejs: &install_nodejs
31
33
  - curl -SLO https://nodejs.org/dist/v$NODE_VERSION/node-v${NODE_VERSION}-linux-x64.tar.xz && tar -xJf node-v${NODE_VERSION}-linux-x64.tar.xz -C /usr/local --strip-components=1;
32
34
  - curl -o- -L https://yarnpkg.com/install.sh | bash
33
35
  - export PATH=$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH
36
+ <% end -%>
34
37
 
35
38
  .common:
36
39
  before_script:
@@ -41,26 +44,34 @@ variables:
41
44
  key:
42
45
  files:
43
46
  - Gemfile.lock
47
+ <%- unless options.api? -%>
44
48
  - yarn.lock
49
+ <%- end -%>
45
50
  paths:
46
51
  - vendor/ruby
52
+ <% unless options.api? %>
47
53
  - node_modules
54
+ <% end -%>
48
55
 
49
56
  rubocop:
50
57
  extends: .common
51
58
  stage: lint
52
59
  script:
53
60
  - bundle exec rubocop
54
- except:
55
- - schedules
61
+ rules:
62
+ - if: $CI_MERGE_REQUEST_ID
56
63
 
57
64
  brakeman:
58
- extends: .common
65
+ image: registry.gitlab.com/gitlab-org/security-products/analyzers/brakeman:2
59
66
  stage: lint
67
+ allow_failure: true
60
68
  script:
61
- - bundle exec brakeman
62
- except:
63
- - schedules
69
+ - /analyzer run
70
+ artifacts:
71
+ reports:
72
+ sast: gl-sast-report.json
73
+ rules:
74
+ - if: $CI_MERGE_REQUEST_ID
64
75
 
65
76
  bundler-audit:
66
77
  extends: .common
@@ -69,10 +80,9 @@ bundler-audit:
69
80
  - gem install bundler-audit
70
81
  - bundle audit --update
71
82
  - bundle audit
72
- only:
73
- changes:
74
- - Gemfile
75
- - Gemfile.lock
83
+ rules:
84
+ - if: $CI_MERGE_REQUEST_ID
85
+ - if: $CI_PIPELINE_SOURCE == 'schedule'
76
86
  allow_failure: true
77
87
 
78
88
  bundler-leak:
@@ -82,12 +92,10 @@ bundler-leak:
82
92
  - gem install bundler-leak
83
93
  - bundle leak check --update
84
94
  - bundle leak
85
- only:
86
- changes:
87
- - Gemfile
88
- - Gemfile.lock
89
- allow_failure: true
90
-
95
+ rules:
96
+ - if: $CI_MERGE_REQUEST_ID
97
+ - if: $CI_PIPELINE_SOURCE == 'schedule'
98
+ <% unless options.api? %>
91
99
  yarn-audit:
92
100
  extends: .common
93
101
  stage: lint
@@ -95,20 +103,21 @@ yarn-audit:
95
103
  - *install_nodejs
96
104
  script:
97
105
  - yarn audit
98
- only:
99
- changes:
100
- - package.json
101
- - package-lock.json
102
- - yarn.lock
106
+ rules:
107
+ - if: $CI_MERGE_REQUEST_ID
108
+ - if: $CI_PIPELINE_SOURCE == 'schedule'
103
109
  allow_failure: true
110
+ <% end -%>
104
111
 
105
112
  rspec:
106
113
  extends: .common
107
114
  stage: test
108
115
  before_script:
109
- - *install_nodejs
110
116
  - *install_ruby_gems
117
+ <%- unless options.api? -%>
118
+ - *install_nodejs
111
119
  - yarn install
120
+ <%- end -%>
112
121
  services:
113
122
  <%- if pg? -%>
114
123
  - postgres:12-alpine
@@ -120,5 +129,9 @@ rspec:
120
129
  script:
121
130
  - bundle exec rake db:migrate
122
131
  - bundle exec rspec
123
- except:
124
- - schedules
132
+ rules:
133
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
134
+ - if: $CI_MERGE_REQUEST_ID
135
+ artifacts:
136
+ reports:
137
+ cobertura: coverage/coverage.xml
@@ -3,34 +3,24 @@ require:
3
3
  - rubocop-rails
4
4
  - rubocop-rspec
5
5
 
6
+ inherit_mode:
7
+ merge:
8
+ - Exclude
9
+
6
10
  AllCops:
11
+ NewCops: enable
7
12
  TargetRubyVersion: <%= RUBY_VERSION %>
8
13
  DisplayCopNames: true
9
14
  SuggestExtensions: false
10
15
  Exclude:
11
- - bin/*
12
16
  - vendor/ruby/**/*
13
17
  - node_modules/**/*
14
- - db/schema.rb
15
18
  - .licenses/**/*
16
19
  Rails:
17
20
  Enabled: true
18
- Rails/UnknownEnv:
19
- Environments:
20
- - production
21
- - staging
22
- - development
23
- - test
24
- Metrics:
25
- Exclude:
26
- - db/migrate/*
27
- - Rakefile
28
- - Gemfile
29
- - config/**/*
30
- - spec/**/*
31
- - lib/tasks/**/*
32
21
  Metrics/BlockLength:
33
22
  Exclude:
23
+ - db/migrate/*
34
24
  - config/environments/*
35
25
  - lib/tasks/**/*
36
26
  - spec/**/*
@@ -2,6 +2,10 @@
2
2
 
3
3
  if ENV.fetch('COVERAGE', false) || ENV.fetch('CI', false)
4
4
  require 'simplecov'
5
+ require 'simplecov-cobertura'
6
+
7
+ SimpleCov.formatter = SimpleCov::Formatter::CoberturaFormatter if ENV.fetch('GITLAB_CI', false)
8
+
5
9
  SimpleCov.start 'rails' do
6
10
  add_filter 'vendor'
7
11
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bankai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - 5xRuby
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2021-03-20 00:00:00.000000000 Z
12
+ date: 2021-10-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 2.1.4
20
+ version: 2.2.26
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 2.1.4
27
+ version: 2.2.26
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: bundler-audit
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -201,14 +201,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
201
201
  requirements:
202
202
  - - ">="
203
203
  - !ruby/object:Gem::Version
204
- version: 2.6.6
204
+ version: 2.6.7
205
205
  required_rubygems_version: !ruby/object:Gem::Requirement
206
206
  requirements:
207
207
  - - ">="
208
208
  - !ruby/object:Gem::Version
209
209
  version: '0'
210
210
  requirements: []
211
- rubygems_version: 3.0.3
211
+ rubygems_version: 3.2.26
212
212
  signing_key:
213
213
  specification_version: 4
214
214
  summary: The Rails template for 5xRuby