bankai 0.9.0 → 0.12.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: aad487d097c2958de9a83c226cff767df8d91c4219bcc64df3dd7a772444296f
4
- data.tar.gz: b007e0bb678daa8c633dd79abd8ab0c2bc3dee19639673a5db821019b90fdfd7
3
+ metadata.gz: 0b6fed9ca466f370a660ab68887fd86ed521deee23993b3bf16034216bf0a963
4
+ data.tar.gz: 6a386b4f1147032589f722aa02abf440d6e8c586eef47a055172ba750fe306e2
5
5
  SHA512:
6
- metadata.gz: e1a9582f2380c707733507c66b67a55d01f1d99b77c30bb6f18ae300a58e1564e4ec3bba0875f1f3cb3886dd9d337805584a460169834bb4870079e8a6435460
7
- data.tar.gz: aa645568f5d0993d4f67060147b15965e39d510a4f21a5e002e61abb068608d8d0db22a64ec75e14dd22d46efc0275a988c962eca152ae19d81bccb6e9e07b9c
6
+ metadata.gz: f4da905cbcbc1ee8d8b88515aa02070f10b5868fade35639644110cb7d7571922ce8b3d5bf089f1d4f6fc218e0f0af3c7d307d5b284f480e4a7d90b448cd79dd
7
+ data.tar.gz: 2884f5f5b6da3057e4e28df69db47a5e346d0f2bf7b83ded9a611b4fc7a248ee1a271b8736057678eeb80c4c670edc7d5cf8f07cff430b387f5689dd3107b4b8
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
@@ -9,7 +9,7 @@ module Bankai
9
9
  DEFAULT_REPO = 'git@example.com:me/my_repo.git'
10
10
 
11
11
  def install_capistrano
12
- in_root { run 'bundle exec cap install' }
12
+ execute_command :bundle, 'exec cap install'
13
13
  end
14
14
 
15
15
  def configure_capfile
@@ -8,7 +8,7 @@ module Bankai
8
8
  class JsonGenerator < Base
9
9
  def add_oj
10
10
  gem 'oj'
11
- in_root { run 'bundle install' }
11
+ execute_command :bundle, 'install'
12
12
 
13
13
  initializer 'oj.rb' do
14
14
  "# frozen_string_literal: true\n\n" \
@@ -15,15 +15,15 @@ module Bankai
15
15
  end
16
16
 
17
17
  def install_overcommit
18
- in_root { run 'bundle exec overcommit --install' }
18
+ execute_command :bundle, 'exec overcommit --install'
19
19
  end
20
20
 
21
21
  def rubocop_autocorrect
22
- in_root { run 'bundle exec rubocop --auto-correct-all' }
22
+ execute_command :bundle, 'exec rubocop --auto-correct-all'
23
23
  end
24
24
 
25
25
  def rubocop_todo
26
- in_root { run 'bundle exec rubocop --auto-gen-config' }
26
+ execute_command :bundle, 'exec rubocop --auto-gen-config'
27
27
  end
28
28
  end
29
29
  end
@@ -8,12 +8,12 @@ module Bankai
8
8
  class WheneverGenerator < Base
9
9
  def add_whenever
10
10
  gem 'whenever', require: false
11
- in_root { run 'rubocop -a Gemfile' }
12
- in_root { run 'bundle install' }
11
+ execute_command :bundle, 'exec rubocop -a Gemfile'
12
+ execute_command :bundle, 'install'
13
13
  end
14
14
 
15
15
  def initialize_whenever
16
- in_root { run "wheneverize #{destination_root}" }
16
+ execute_command :bundle, "exec wheneverize #{destination_root}"
17
17
  end
18
18
 
19
19
  def initialize_capistrano
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bankai
4
- VERSION = '0.9.0'
5
- RUBY_VERSION = '2.6.6'
4
+ VERSION = '0.12.0'
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'
@@ -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.0
4
+ version: 0.12.0
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-02-09 00:00:00.000000000 Z
12
+ date: 2021-08-30 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