diff --git a/.circleci/config.yml b/.circleci/config.yml
index 125390e..5a4c1d9 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -7,17 +7,14 @@
version: 2.1
orbs:
- browser-tools: circleci/browser-tools@1
- node: circleci/node@4
- ruby: circleci/ruby@1
+ ruby: circleci/ruby@1.1.1
+ node: circleci/node@4.0.0
workflows:
version: 2
- commit:
+ test:
jobs:
- - test:
- requires:
- - lint
+ - test
- lint:
filters:
branches:
@@ -25,15 +22,6 @@ workflows:
- master
- production
- staging
- merge:
- jobs:
- - test:
- filters:
- branches:
- only:
- - master
- - production
- - staging
auto_upgrade_tools:
triggers:
@@ -50,7 +38,7 @@ jobs:
test:
docker:
# specify the version you desire here
- - image: cimg/ruby:3.0.0-browsers
+ - image: circleci/ruby:2.7-node-browsers
environment:
BUNDLE_GEMFILE: Gemfile
BUNDLE_PATH: vendor/bundle
@@ -73,8 +61,6 @@ jobs:
steps:
- checkout
- - browser-tools/install-chrome
- - browser-tools/install-chromedriver
- restore_cache:
name: Restore Bundler Cache between Branches
@@ -88,14 +74,10 @@ jobs:
with-cache: false
path: './vendor/bundle'
- - run: bundle exec bootsnap precompile --gemfile app/ lib/
- - run: gem install spring
-
- save_cache:
name: Save Bundler Cache between Branches
paths:
- - vendor/bundle
- - tmp/cache/bootsnap-compile-cache
+ - ./vendor/bundle
key: v1-dependencies-{{ checksum "Gemfile.lock" }}
- node/install-packages:
@@ -113,56 +95,55 @@ jobs:
- run:
name: Precompile Assets
command: |
+ bin/webpack
bin/rails assets:precompile
- save_cache:
key: asset-cache-v1-{{ arch }}-{{ .Branch }}-{{ checksum "yarn.lock" }}-{{ .Environment.CIRCLE_SHA1 }}
paths:
- - public/packs-test
+ - public/assets
+ - public/pack-test
- tmp/cache/assets
- tmp/cache/webpacker
- # Run JS Tests
- # - restore_cache:
- # name: Restore Jest Cache
- # keys:
- # - jest-cache-v1-{{ arch }}-{{ .Branch }}-{{ .Environment.CIRCLE_SHA1 }}
- # - jest-cache-v1-{{ arch }}-{{ .Branch }}-
- # - jest-cache-v1-
- #
- # - run:
- # name: JavaScript Unit Tests
- # command: |
- # bin/yarn test --ci --no-watchman \
- # --coverage --coverageDirectory coverage/jest \
- # --coverageReporters text-summary --coverageReporters html \
- # --reporters=jest-junit
- # environment:
- # JEST_JUNIT_OUTPUT_DIR: tmp/reports/jest-results
- #
- # - save_cache:
- # name: Save Jest Cache
- # key: jest-cache-v1-{{ arch }}-{{ .Branch }}-{{ .Environment.CIRCLE_SHA1 }}
- # paths:
- # - tmp/cache/jest
-
- - run: bin/rails db:test:prepare
+ - restore_cache:
+ name: Restore Jest Cache
+ keys:
+ - jest-cache-v1-{{ arch }}-{{ .Branch }}-{{ .Environment.CIRCLE_SHA1 }}
+ - jest-cache-v1-{{ arch }}-{{ .Branch }}-
+ - jest-cache-v1-
+
+ - run:
+ name: JavaScript Unit Tests
+ command: |
+ bin/yarn test --ci --no-watchman \
+ --coverage --coverageDirectory coverage/jest \
+ --coverageReporters text-summary --coverageReporters html \
+ --reporters=jest-junit
+ environment:
+ JEST_JUNIT_OUTPUT_DIR: tmp/reports/jest-results
+
+ - save_cache:
+ name: Save Jest Cache
+ key: jest-cache-v1-{{ arch }}-{{ .Branch }}-{{ .Environment.CIRCLE_SHA1 }}
+ paths:
+ - tmp/cache/jest
+
+ - run: bin/rails db:schema:load
+ # rails test
- run: bin/rails test "test/**/*_test.rb"
- # Collect reports
+ # collect reports
- store_test_results:
path: ./tmp/reports/
- store_artifacts:
path: ./coverage
- - store_artifacts:
- path: ./tmp/screenshots
lint:
docker:
- - image: cimg/ruby:3.0.0-node
+ - image: cimg/ruby:2.7-node
environment:
DISABLE_SPRING: 1
BUNDLE_GEMFILE: Gemfile.tools
- BUNDLE_PATH: vendor/bundle-tools
BUNDLE_JOBS: 4
BUNDLE_RETRY: 3
@@ -182,7 +163,7 @@ jobs:
- run:
name: Install Bundle Dependencies
- command: bin/bundle check || bin/bundle install
+ command: bin/bundle check --path vendor/bundle-tools || bin/bundle install --path vendor/bundle-tools
- run:
name: Install Node Packages
@@ -198,7 +179,7 @@ jobs:
upgrade_tools:
docker:
- - image: cimg/ruby:3.0.0-node
+ - image: cimg/ruby:2.7-node
environment:
DISABLE_SPRING: 1
BUNDLE_GEMFILE: Gemfile.tools
diff --git a/.github/dependabot.yml b/.github/config.yml
similarity index 100%
rename from .github/dependabot.yml
rename to .github/config.yml
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
deleted file mode 100644
index 014bae1..0000000
--- a/.github/workflows/codeql-analysis.yml
+++ /dev/null
@@ -1,71 +0,0 @@
-# For most projects, this workflow file will not need changing; you simply need
-# to commit it to your repository.
-#
-# You may wish to alter this file to override the set of languages analyzed,
-# or to provide custom queries or build logic.
-#
-# ******** NOTE ********
-# We have attempted to detect the languages in your repository. Please check
-# the `language` matrix defined below to confirm you have the correct set of
-# supported CodeQL languages.
-#
-name: "CodeQL"
-
-on:
- push:
- branches: [ master ]
- pull_request:
- # The branches below must be a subset of the branches above
- branches: [ master ]
- schedule:
- - cron: '29 15 * * 2'
-
-jobs:
- analyze:
- name: Analyze
- runs-on: ubuntu-latest
- permissions:
- actions: read
- contents: read
- security-events: write
-
- strategy:
- fail-fast: false
- matrix:
- language: [ 'javascript' ]
- # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
- # Learn more:
- # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v2
-
- # Initializes the CodeQL tools for scanning.
- - name: Initialize CodeQL
- uses: github/codeql-action/init@v1
- with:
- languages: ${{ matrix.language }}
- # If you wish to specify custom queries, you can do so here or in a config file.
- # By default, queries listed here will override any specified in a config file.
- # Prefix the list here with "+" to use these queries and those in the config file.
- # queries: ./path/to/local/query, your-org/your-repo/queries@main
-
- # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
- # If this step fails, then you should remove it and run the build manually (see below)
- - name: Autobuild
- uses: github/codeql-action/autobuild@v1
-
- # ā¹ļø Command-line programs to run using the OS shell.
- # š https://git.io/JvXDl
-
- # āļø If the Autobuild fails above, remove it and uncomment the following three lines
- # and modify them (or add more) to build your code if your project
- # uses a compiled language
-
- #- run: |
- # make bootstrap
- # make release
-
- - name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v1
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
deleted file mode 100644
index dd1a56b..0000000
--- a/.github/workflows/test.yml
+++ /dev/null
@@ -1,146 +0,0 @@
----
-name: Test
-
-# yamllint disable-line rule:truthy
-on:
- push:
- branches: [$default-branch]
- pull_request:
-
-env:
- CI: true
- RAILS_ENV: test
-
-jobs:
- lint:
- runs-on: ubuntu-latest
- env:
- BUNDLE_GEMFILE: Gemfile.tools
- COVERAGE: true
- DISABLE_SPRING: 1
- steps:
- - run: |-
- sudo apt-get update -qq && \
- sudo apt-get install -yq --no-install-recommends \
- cmake yamllint python3-setuptools python3-pkg-resources pkg-config
-
- - uses: actions/checkout@v2
- with:
- fetch-depth: 10
-
- - name: Set up Ruby
- uses: ruby/setup-ruby@v1
- with:
- bundler-cache: true
-
- - name: Use Node.js
- uses: actions/setup-node@v1
- with:
- node-version: 14
-
- - name: Get yarn cache directory path
- id: yarn-cache-dir-path
- run: echo "::set-output name=dir::$(yarn cache dir)"
-
- - uses: actions/cache@v2
- with:
- path: |
- **/node_modules
- ${{ steps.yarn-cache-dir-path.outputs.dir }}
- key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- restore-keys: |
- ${{ runner.os }}-modules-
-
- - run: bin/yarn check || bin/yarn install
-
- - run: git fetch origin master --depth 1
- - run: bin/lint-pr
- test:
- needs: [lint]
- runs-on: ubuntu-latest
- env:
- COVERAGE: true
- DATABASE_URL: postgresql://postgres_user:postgres@localhost:5432/postgres_db
-
- services:
- postgres:
- image: circleci/postgres:alpine-ram
- env:
- POSTGRES_DB: postgres_db
- POSTGRES_USER: postgres_user
- POSTGRES_PASSWORD: postgres
- ports:
- - 5432:5432
- options: >-
- --health-cmd pg_isready
- --health-interval 10s
- --health-timeout 5s
- --health-retries 5
-
- steps:
- - name: Install PostgreSQL 11 client
- run: |
- sudo apt-get -yqq install libpq-dev
-
- - uses: actions/checkout@v2
- - name: Set up Ruby
- uses: ruby/setup-ruby@v1
- with:
- ruby-version: 3.0
- bundler-cache: true
-
- - name: Setup DB
- run: bundle exec rake db:test:prepare
-
- - name: Use Node.js
- uses: actions/setup-node@v1
- with:
- node-version: 14
-
- - name: Get yarn cache directory path
- id: yarn-cache-dir-path
- run: echo "::set-output name=dir::$(yarn cache dir)"
-
- - uses: actions/cache@v2
- with:
- path: |
- **/node_modules
- ${{ steps.yarn-cache-dir-path.outputs.dir }}
- key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- restore-keys: |
- ${{ runner.os }}-modules-
-
- - run: bin/yarn check || bin/yarn install
-
- - uses: actions/cache@v2
- with:
- path: |
- public/assets
- public/packs-test
- tmp/cache/assets
- tmp/cache/webpacker
- key: "${{ runner.os }}-assets-${{ hashFiles('**/yarn.lock') }}\
- -${{ hashFiles('**/app/assets') }}-${{ hashFiles('**/app/javascript') }}"
-
- restore-keys: |
- ${{ runner.os }}-assets-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**/app/assets') }}
- ${{ runner.os }}-assets-${{ hashFiles('**/yarn.lock') }}
- ${{ runner.os }}-assets-
-
- - name: Precompile assets
- run: bundle exec rake assets:precompile
-
- - name: Run tests
- run: bin/rails test "test/**/*_test.rb"
-
- - name: Upload Coverage
- uses: actions/upload-artifact@v2
- with:
- name: coverage
- path: coverage
-
- - name: Upload Capybara Screenshots
- uses: actions/upload-artifact@v2
- with:
- name: capybara-screenshots
- path: tmp/screenshots
diff --git a/.rubocop.yml b/.rubocop.yml
index 1b44b0d..f7e3d22 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -1,19 +1,15 @@
---
require:
- - rubocop-minitest
- - rubocop-rails
- - rubocop-performance
- standard
+ - rubocop-rails
inherit_gem:
standard: config/base.yml
AllCops:
- NewCops: enable
- TargetRubyVersion: 3.0
+ TargetRubyVersion: 2.7
Exclude:
- - 'bin/**/*'
- 'db/migrate/**/*'
- 'db/schema.rb'
- 'vendor/**/*'
@@ -67,10 +63,6 @@ Naming/PredicateName:
Exclude:
- 'app/helpers/application_helper.rb'
-Standard/BlockDelimiters:
- Enabled: true
- EnforcedStyle: braces_for_chaining
-
Style/ClassAndModuleChildren:
Exclude:
- 'test/**/*.rb'
@@ -78,15 +70,23 @@ Style/ClassAndModuleChildren:
Style/Documentation:
Enabled: false
+Style/ExponentialNotation:
+ Enabled: true
+
Style/FrozenStringLiteralComment:
Enabled: true
Style/HashEachMethods:
Enabled: true
-Style/StringLiterals:
+Style/HashTransformKeys:
+ Enabled: true
+
+Style/HashTransformValues:
+ Enabled: true
+
+Style/SlicingWithRange:
Enabled: true
- EnforcedStyle: single_quotes
# Rails
diff --git a/.ruby-version b/.ruby-version
index 4a36342..37c2961 100644
--- a/.ruby-version
+++ b/.ruby-version
@@ -1 +1 @@
-3.0.0
+2.7.2
diff --git a/.simplecov b/.simplecov
index 2640655..c763ddf 100644
--- a/.simplecov
+++ b/.simplecov
@@ -1,17 +1,17 @@
# frozen_string_literal: true
-if defined?(Spring) && ENV['DISABLE_SPRING'].nil?
- puts '**** NO COVERAGE FOR YOU! ****'
- puts 'Please disable Spring to get COVERAGE by `DISABLE_SPRING=1 COVERAGE=1 bin/rspec`'
+if defined?(Spring) && ENV["DISABLE_SPRING"].nil?
+ puts "**** NO COVERAGE FOR YOU! ****"
+ puts "Please disable Spring to get COVERAGE by `DISABLE_SPRING=1 COVERAGE=1 bin/rspec`"
else
- SimpleCov.start 'rails' do
+ SimpleCov.start "rails" do
add_filter %w[app/views bin spec test]
maximum_coverage_drop 0.5
end
- if ENV['CODECOV_TOKEN']
- require 'codecov'
+ if ENV["CODECOV_TOKEN"]
+ require "codecov"
SimpleCov.formatter = SimpleCov::Formatter::Codecov
end
end
diff --git a/Brewfile b/Brewfile
index ea2043e..fcb2ebc 100644
--- a/Brewfile
+++ b/Brewfile
@@ -1,14 +1,14 @@
# frozen_string_literal: true
-tap 'heroku/brew'
+tap "heroku/brew"
-brew 'circleci'
-brew 'graphicsmagick' # For ActiveStorage
-brew 'heroku'
-brew 'hub' # For creating Pull Request from CLI
-brew 'postgresql'
-brew 'rbenv'
-brew 'ruby-build'
-brew 'vips' # For ActiveStorage
-brew 'yamllint' # For Linters
-brew 'yarn'
+brew "circleci"
+brew "graphicsmagick" # For ActiveStorage
+brew "heroku"
+brew "hub" # For creating Pull Request from CLI
+brew "postgresql"
+brew "rbenv"
+brew "ruby-build"
+brew "vips" # For ActiveStorage
+brew "yamllint" # For Linters
+brew "yarn"
diff --git a/Gemfile b/Gemfile
index d82bf3f..6e7609d 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,10 +1,10 @@
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
-ruby RUBY_VERSION
+ruby '2.7.2'
-# Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main'
-gem 'rails', '~> 6.1.3', '>= 6.1.3.1'
+# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
+gem 'rails', '~> 6.1.0'
# Use postgresql as the database for Active Record
gem 'pg', '~> 1.1'
# Use Puma as the app server
@@ -54,7 +54,6 @@ gem 'jt_tools', github: 'jetthoughts/jt_tools', group: :development
group :test do
gem 'simplecov', require: false, group: :test
gem 'codecov', require: false, group: :test
- gem 'rexml', require: false, group: :test
end
gem 'oj'
diff --git a/Gemfile.lock b/Gemfile.lock
index 439b583..cf767d6 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,8 +1,8 @@
GIT
remote: https://github.com/jetthoughts/jt_tools.git
- revision: 66a830f21b5786d081d7e6a4f48110f0a0c44742
+ revision: dea42afa345acfba36795cbca0038ecec86604e3
specs:
- jt_tools (0.0.19)
+ jt_tools (0.0.14)
railties (>= 4.2)
GIT
@@ -15,60 +15,60 @@ GIT
GEM
remote: https://rubygems.org/
specs:
- actioncable (6.1.3.1)
- actionpack (= 6.1.3.1)
- activesupport (= 6.1.3.1)
+ actioncable (6.1.0)
+ actionpack (= 6.1.0)
+ activesupport (= 6.1.0)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
- actionmailbox (6.1.3.1)
- actionpack (= 6.1.3.1)
- activejob (= 6.1.3.1)
- activerecord (= 6.1.3.1)
- activestorage (= 6.1.3.1)
- activesupport (= 6.1.3.1)
+ actionmailbox (6.1.0)
+ actionpack (= 6.1.0)
+ activejob (= 6.1.0)
+ activerecord (= 6.1.0)
+ activestorage (= 6.1.0)
+ activesupport (= 6.1.0)
mail (>= 2.7.1)
- actionmailer (6.1.3.1)
- actionpack (= 6.1.3.1)
- actionview (= 6.1.3.1)
- activejob (= 6.1.3.1)
- activesupport (= 6.1.3.1)
+ actionmailer (6.1.0)
+ actionpack (= 6.1.0)
+ actionview (= 6.1.0)
+ activejob (= 6.1.0)
+ activesupport (= 6.1.0)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
- actionpack (6.1.3.1)
- actionview (= 6.1.3.1)
- activesupport (= 6.1.3.1)
+ actionpack (6.1.0)
+ actionview (= 6.1.0)
+ activesupport (= 6.1.0)
rack (~> 2.0, >= 2.0.9)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
- actiontext (6.1.3.1)
- actionpack (= 6.1.3.1)
- activerecord (= 6.1.3.1)
- activestorage (= 6.1.3.1)
- activesupport (= 6.1.3.1)
+ actiontext (6.1.0)
+ actionpack (= 6.1.0)
+ activerecord (= 6.1.0)
+ activestorage (= 6.1.0)
+ activesupport (= 6.1.0)
nokogiri (>= 1.8.5)
- actionview (6.1.3.1)
- activesupport (= 6.1.3.1)
+ actionview (6.1.0)
+ activesupport (= 6.1.0)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
- activejob (6.1.3.1)
- activesupport (= 6.1.3.1)
+ activejob (6.1.0)
+ activesupport (= 6.1.0)
globalid (>= 0.3.6)
- activemodel (6.1.3.1)
- activesupport (= 6.1.3.1)
- activerecord (6.1.3.1)
- activemodel (= 6.1.3.1)
- activesupport (= 6.1.3.1)
- activestorage (6.1.3.1)
- actionpack (= 6.1.3.1)
- activejob (= 6.1.3.1)
- activerecord (= 6.1.3.1)
- activesupport (= 6.1.3.1)
- marcel (~> 1.0.0)
- mini_mime (~> 1.0.2)
- activesupport (6.1.3.1)
+ activemodel (6.1.0)
+ activesupport (= 6.1.0)
+ activerecord (6.1.0)
+ activemodel (= 6.1.0)
+ activesupport (= 6.1.0)
+ activestorage (6.1.0)
+ actionpack (= 6.1.0)
+ activejob (= 6.1.0)
+ activerecord (= 6.1.0)
+ activesupport (= 6.1.0)
+ marcel (~> 0.3.1)
+ mimemagic (~> 0.3.2)
+ activesupport (6.1.0)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
@@ -77,91 +77,93 @@ GEM
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
bindex (0.8.1)
- bootsnap (1.7.3)
+ bootsnap (1.5.1)
msgpack (~> 1.0)
builder (3.2.4)
byebug (11.1.3)
- capybara (3.35.3)
+ capybara (3.34.0)
addressable
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
rack (>= 1.6.0)
rack-test (>= 0.6.3)
- regexp_parser (>= 1.5, < 3.0)
+ regexp_parser (~> 1.5)
xpath (~> 3.2)
childprocess (3.0.0)
- codecov (0.5.1)
- simplecov (>= 0.15, < 0.22)
- concurrent-ruby (1.1.8)
+ codecov (0.2.12)
+ json
+ simplecov
+ concurrent-ruby (1.1.7)
connection_pool (2.2.3)
crass (1.0.6)
dalli (2.7.11)
- docile (1.3.5)
+ docile (1.3.3)
erubi (1.10.0)
- ffi (1.15.0)
+ ffi (1.14.1)
globalid (0.4.2)
activesupport (>= 4.2.0)
- i18n (1.8.10)
+ i18n (1.8.5)
concurrent-ruby (~> 1.0)
- jbuilder (2.11.2)
+ jbuilder (2.10.1)
activesupport (>= 5.0.0)
- listen (3.5.1)
+ json (2.4.1)
+ listen (3.3.3)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
- loofah (2.9.1)
+ loofah (2.8.0)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
mini_mime (>= 0.1.1)
- marcel (1.0.1)
+ marcel (0.3.3)
+ mimemagic (~> 0.3.2)
method_source (1.0.0)
- mini_mime (1.0.3)
- minitest (5.14.4)
+ mimemagic (0.3.5)
+ mini_mime (1.0.2)
+ mini_portile2 (2.4.0)
+ minitest (5.14.2)
minitest-ci (3.4.0)
minitest (>= 5.0.6)
- msgpack (1.4.2)
- nio4r (2.5.7)
- nokogiri (1.11.5-x86_64-darwin)
- racc (~> 1.4)
- nokogiri (1.11.5-x86_64-linux)
- racc (~> 1.4)
- oj (3.11.3)
+ msgpack (1.3.3)
+ nio4r (2.5.4)
+ nokogiri (1.10.10)
+ mini_portile2 (~> 2.4.0)
+ oj (3.10.17)
pg (1.2.3)
public_suffix (4.0.6)
- puma (5.3.2)
+ puma (5.1.1)
nio4r (~> 2.0)
r7insight (3.0.4)
- racc (1.5.2)
rack (2.2.3)
- rack-mini-profiler (2.3.1)
+ rack-mini-profiler (2.2.0)
rack (>= 1.2.0)
rack-proxy (0.6.5)
rack
rack-test (1.1.0)
rack (>= 1.0, < 3)
- rails (6.1.3.1)
- actioncable (= 6.1.3.1)
- actionmailbox (= 6.1.3.1)
- actionmailer (= 6.1.3.1)
- actionpack (= 6.1.3.1)
- actiontext (= 6.1.3.1)
- actionview (= 6.1.3.1)
- activejob (= 6.1.3.1)
- activemodel (= 6.1.3.1)
- activerecord (= 6.1.3.1)
- activestorage (= 6.1.3.1)
- activesupport (= 6.1.3.1)
+ rails (6.1.0)
+ actioncable (= 6.1.0)
+ actionmailbox (= 6.1.0)
+ actionmailer (= 6.1.0)
+ actionpack (= 6.1.0)
+ actiontext (= 6.1.0)
+ actionview (= 6.1.0)
+ activejob (= 6.1.0)
+ activemodel (= 6.1.0)
+ activerecord (= 6.1.0)
+ activestorage (= 6.1.0)
+ activesupport (= 6.1.0)
bundler (>= 1.15.0)
- railties (= 6.1.3.1)
+ railties (= 6.1.0)
sprockets-rails (>= 2.0.0)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.3.0)
loofah (~> 2.3)
- railties (6.1.3.1)
- actionpack (= 6.1.3.1)
- activesupport (= 6.1.3.1)
+ railties (6.1.0)
+ actionpack (= 6.1.0)
+ activesupport (= 6.1.0)
method_source
rake (>= 0.8.7)
thor (~> 1.0)
@@ -169,15 +171,14 @@ GEM
rb-fsevent (0.10.4)
rb-inotify (0.10.1)
ffi (~> 1.0)
- regexp_parser (2.1.1)
- rexml (3.2.5)
- rollbar (3.1.2)
+ regexp_parser (1.8.2)
+ rollbar (3.1.1)
rubyzip (2.3.0)
selenium-webdriver (3.142.7)
childprocess (>= 0.5, < 4.0)
rubyzip (>= 1.2.2)
- semantic_range (3.0.0)
- simplecov (0.21.2)
+ semantic_range (2.3.1)
+ simplecov (0.20.0)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
@@ -191,7 +192,7 @@ GEM
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
- thor (1.1.0)
+ thor (1.0.1)
tzinfo (2.0.4)
concurrent-ruby (~> 1.0)
web-console (4.1.0)
@@ -199,7 +200,7 @@ GEM
activemodel (>= 6.0.0)
bindex (>= 0.4.0)
railties (>= 6.0.0)
- webdrivers (4.6.0)
+ webdrivers (4.4.1)
nokogiri (~> 1.6)
rubyzip (>= 1.3.0)
selenium-webdriver (>= 3.0, < 4.0)
@@ -216,8 +217,7 @@ GEM
zeitwerk (2.4.2)
PLATFORMS
- x86_64-darwin-20
- x86_64-linux
+ ruby
DEPENDENCIES
bootsnap (>= 1.4.4)
@@ -235,8 +235,7 @@ DEPENDENCIES
puma (~> 5.0)
r7insight
rack-mini-profiler (~> 2.0)
- rails (~> 6.1.3, >= 6.1.3.1)
- rexml
+ rails (~> 6.1.0)
rollbar
selenium-webdriver
serviceworker-rails!
@@ -248,7 +247,7 @@ DEPENDENCIES
webpacker (~> 5.0)
RUBY VERSION
- ruby 3.0.0p0
+ ruby 2.7.2p137
BUNDLED WITH
- 2.2.16
+ 2.1.4
diff --git a/Gemfile.tools b/Gemfile.tools
index dd56eb6..c23f663 100644
--- a/Gemfile.tools
+++ b/Gemfile.tools
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
source 'https://rubygems.org'
git_source(:github) do |repo_name|
@@ -8,21 +10,19 @@ end
gem 'oj'
group :tools do
- gem 'pronto', require: false
+ gem 'pronto'
gem 'pronto-blacklist', require: false
gem 'pronto-erb_lint', require: false
- gem 'pronto-eslint', require: false
+ gem 'pronto-eslint_npm', require: false
gem 'pronto-fasterer', require: false
gem 'pronto-rails_best_practices', require: false
gem 'pronto-reek', require: false
gem 'pronto-rubocop', require: false
+ # gem 'pronto-standardrb', require: false
gem 'pronto-yamllint', require: false
- gem 'rubocop-performance', require: false
+ # gem 'rubocop-minitest', require: false
gem 'rubocop-rails', require: false
- gem 'rubocop-minitest', require: false
-
- gem 'standard', '>= 0.4.7', require: false
- # gem 'pronto-standardrb', require: false
# gem 'rubocop-rspec', require: false
+ gem 'standard', '>= 0.4.7', require: false
end
diff --git a/Gemfile.tools.lock b/Gemfile.tools.lock
index 25f4e87..6f07e4e 100644
--- a/Gemfile.tools.lock
+++ b/Gemfile.tools.lock
@@ -1,13 +1,13 @@
GEM
remote: https://rubygems.org/
specs:
- actionview (6.1.3.1)
- activesupport (= 6.1.3.1)
+ actionview (6.1.0)
+ activesupport (= 6.1.0)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
- activesupport (6.1.3.1)
+ activesupport (6.1.0)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
@@ -15,8 +15,12 @@ GEM
zeitwerk (~> 2.3)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
- ast (2.4.2)
- better_html (1.0.16)
+ ast (2.4.1)
+ axiom-types (0.1.1)
+ descendants_tracker (~> 0.0.4)
+ ice_nine (~> 0.11.0)
+ thread_safe (~> 0.3, >= 0.3.1)
+ better_html (1.0.15)
actionview (>= 4.0)
activesupport (>= 4.0)
ast (~> 2.0)
@@ -27,32 +31,32 @@ GEM
builder (3.2.4)
code_analyzer (0.5.2)
sexp_processor
+ codeclimate-engine-rb (0.4.1)
+ virtus (~> 1.0)
+ coercible (1.0.0)
+ descendants_tracker (~> 0.0.1)
colorize (0.8.1)
- concurrent-ruby (1.1.8)
+ concurrent-ruby (1.1.7)
crass (1.0.6)
- erb_lint (0.0.37)
+ descendants_tracker (0.0.4)
+ thread_safe (~> 0.3, >= 0.3.1)
+ equalizer (0.0.11)
+ erb_lint (0.0.35)
activesupport
better_html (~> 1.0.7)
html_tokenizer
parser (>= 2.7.1.4)
rainbow
- rubocop
+ rubocop (~> 0.79)
smart_properties
erubi (1.10.0)
erubis (2.7.0)
- eslintrb (2.1.0)
- execjs
- multi_json (>= 1.3)
- rake
- execjs (2.7.0)
- faraday (1.3.0)
- faraday-net_http (~> 1.0)
+ faraday (1.1.0)
multipart-post (>= 1.2, < 3)
ruby2_keywords
- faraday-net_http (1.0.1)
- fasterer (0.7.1)
+ fasterer (0.8.3)
colorize (~> 0.7)
- ruby_parser (>= 3.13.0)
+ ruby_parser (>= 3.14.1)
gitlab (4.17.0)
httparty (~> 0.18)
terminal-table (~> 1.5, >= 1.5.1)
@@ -60,66 +64,62 @@ GEM
httparty (0.18.1)
mime-types (~> 3.0)
multi_xml (>= 0.5.2)
- i18n (1.8.10)
+ i18n (1.8.5)
concurrent-ruby (~> 1.0)
- json (2.5.1)
+ ice_nine (0.11.2)
+ json (2.4.1)
kwalify (0.7.2)
- loofah (2.9.1)
+ loofah (2.8.0)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mime-types (3.3.1)
mime-types-data (~> 3.2015)
- mime-types-data (3.2021.0225)
- minitest (5.14.4)
- multi_json (1.15.0)
+ mime-types-data (3.2020.1104)
+ mini_portile2 (2.4.0)
+ minitest (5.14.2)
multi_xml (0.6.0)
multipart-post (2.1.1)
- nokogiri (1.11.3-x86_64-darwin)
- racc (~> 1.4)
- nokogiri (1.11.3-x86_64-linux)
- racc (~> 1.4)
- octokit (4.20.0)
+ nokogiri (1.10.10)
+ mini_portile2 (~> 2.4.0)
+ octokit (4.19.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3)
- oj (3.11.3)
+ oj (3.10.17)
parallel (1.20.1)
- parser (3.0.1.0)
+ parser (2.7.2.0)
ast (~> 2.4.1)
pathspec (0.2.1)
- pronto (0.11.0)
- gitlab (~> 4.4, >= 4.4.0)
+ pronto (0.10.0)
+ gitlab (~> 4.0, >= 4.0.0)
httparty (>= 0.13.7)
octokit (~> 4.7, >= 4.7.0)
rainbow (>= 2.2, < 4.0)
- rexml (~> 3.2)
- rugged (>= 0.23.0, < 1.1.0)
- thor (>= 0.20.3, < 2.0)
+ rugged (~> 0.24, >= 0.23.0)
+ thor (~> 0.20.0)
pronto-blacklist (0.2.0)
pathspec (~> 0.2)
pronto (~> 0.9)
pronto-erb_lint (0.1.5)
erb_lint (~> 0.0.24)
pronto (> 0.9.0)
- pronto-eslint (0.11.0)
- eslintrb (~> 2.0, >= 2.0.0)
- pronto (~> 0.11.0)
- pronto-fasterer (0.11.0)
- fasterer (~> 0.7.1)
- pronto (~> 0.11.0)
- pronto-rails_best_practices (0.11.0)
- pronto (~> 0.11.0)
+ pronto-eslint_npm (0.10.1)
+ pronto (~> 0.10.0)
+ pronto-fasterer (0.10.0)
+ fasterer (~> 0.3, >= 0.3.0)
+ pronto (~> 0.10.0)
+ pronto-rails_best_practices (0.10.0)
+ pronto (~> 0.10.0)
rails_best_practices (~> 1.16, >= 1.15.0)
- pronto-reek (0.11.0)
- pronto (~> 0.11.0)
- reek (>= 4.2, < 7.0)
- pronto-rubocop (0.11.1)
- pronto (~> 0.11.0)
- rubocop (>= 0.63.1, < 2.0)
- pronto-yamllint (0.2.0)
- pronto (~> 0.11.0)
- psych (3.3.1)
+ pronto-reek (0.10.0)
+ pronto (~> 0.10.0)
+ reek (>= 4.2, < 6.0)
+ pronto-rubocop (0.10.0)
+ pronto (~> 0.10.0)
+ rubocop (~> 0.50, >= 0.49.1)
+ pronto-yamllint (0.1.2)
+ pronto (~> 0.10.0)
+ psych (3.1.0)
public_suffix (4.0.6)
- racc (1.5.2)
rack (2.2.3)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
@@ -135,75 +135,76 @@ GEM
require_all (~> 3.0)
ruby-progressbar
rainbow (3.0.0)
- rake (13.0.3)
- reek (6.0.3)
+ reek (5.6.0)
+ codeclimate-engine-rb (~> 0.4.0)
kwalify (~> 0.7.0)
- parser (~> 3.0.0)
- psych (~> 3.1)
+ parser (>= 2.5.0.0, < 2.8, != 2.5.1.1)
+ psych (~> 3.1.0)
rainbow (>= 2.0, < 4.0)
- regexp_parser (2.1.1)
+ regexp_parser (2.0.0)
require_all (3.0.0)
- rexml (3.2.5)
- rubocop (1.11.0)
+ rexml (3.2.4)
+ rubocop (0.92.0)
parallel (~> 1.10)
- parser (>= 3.0.0.0)
+ parser (>= 2.7.1.5)
rainbow (>= 2.2.2, < 4.0)
- regexp_parser (>= 1.8, < 3.0)
+ regexp_parser (>= 1.7)
rexml
- rubocop-ast (>= 1.2.0, < 2.0)
+ rubocop-ast (>= 0.5.0)
ruby-progressbar (~> 1.7)
- unicode-display_width (>= 1.4.0, < 3.0)
- rubocop-ast (1.4.1)
+ unicode-display_width (>= 1.4.0, < 2.0)
+ rubocop-ast (1.3.0)
parser (>= 2.7.1.5)
- rubocop-minitest (0.11.1)
- rubocop (>= 0.90, < 2.0)
- rubocop-performance (1.10.1)
- rubocop (>= 0.90.0, < 2.0)
+ rubocop-performance (1.8.1)
+ rubocop (>= 0.87.0)
rubocop-ast (>= 0.4.0)
- rubocop-rails (2.9.1)
+ rubocop-rails (2.9.0)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 0.90.0, < 2.0)
- ruby-progressbar (1.11.0)
- ruby2_keywords (0.0.4)
- ruby_parser (3.15.1)
+ ruby-progressbar (1.10.1)
+ ruby2_keywords (0.0.2)
+ ruby_parser (3.15.0)
sexp_processor (~> 4.9)
- rugged (1.0.1)
+ rugged (0.99.0)
sawyer (0.8.2)
addressable (>= 2.3.5)
faraday (> 0.8, < 2.0)
- sexp_processor (4.15.2)
+ sexp_processor (4.15.1)
smart_properties (1.15.0)
- standard (1.0.4)
- rubocop (= 1.11.0)
- rubocop-performance (= 1.10.1)
+ standard (0.7)
+ rubocop (= 0.92)
+ rubocop-performance (= 1.8.1)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
- thor (1.1.0)
+ thor (0.20.3)
+ thread_safe (0.3.6)
tzinfo (2.0.4)
concurrent-ruby (~> 1.0)
unicode-display_width (1.7.0)
+ virtus (1.0.5)
+ axiom-types (~> 0.1)
+ coercible (~> 1.0)
+ descendants_tracker (~> 0.0, >= 0.0.3)
+ equalizer (~> 0.0, >= 0.0.9)
zeitwerk (2.4.2)
PLATFORMS
- x86_64-darwin-20
- x86_64-linux
+ ruby
DEPENDENCIES
oj
pronto
pronto-blacklist
pronto-erb_lint
- pronto-eslint
+ pronto-eslint_npm
pronto-fasterer
pronto-rails_best_practices
pronto-reek
pronto-rubocop
pronto-yamllint
- rubocop-minitest
- rubocop-performance
rubocop-rails
standard (>= 0.4.7)
BUNDLED WITH
- 2.2.16
+ 2.1.4
diff --git a/README.md b/README.md
index 5f36131..a921a06 100644
--- a/README.md
+++ b/README.md
@@ -4,8 +4,7 @@
https://github.com/jetthoughts/vuejs-rails-starterkit/tree/rails-5-latest
[](https://heroku.com/deploy)
-
-[](https://circleci.com/gh/jetthoughts/vuejs-rails-starterkit)
+[](https://circleci.com/gh/jetthoughts/vuejs-rails-starterkit)
[](https://codecov.io/gh/jetthoughts/vuejs-rails-starterkit)
A quick and easy way to setup Rails + PWA + Turbolinks + Webpacker + Bootstrap with AdminLTE theme + Vue + Jest.
@@ -65,7 +64,7 @@ As an additional review of how to setup PWA, Turbolinks, CSS frameworks, Storybo
#### System Dependencies:
-* [Ruby](https://www.ruby-lang.org/en/) 3.0
+* [Ruby](https://www.ruby-lang.org/en/) 2.7
* [Node.js](https://nodejs.org/en/) 14
* [Yarn](https://yarnpkg.com/en/)
* [PostgreSQL](https://www.postgresql.org/) 12
@@ -317,8 +316,6 @@ commit -m "Generates Ruby on Rails application with Vue.js onboard"`
```bash
heroku create
-heroku addons:create heroku-postgresql:hobby-dev
-
heroku buildpacks:add heroku/ruby
heroku config:set RAILS_ENV=production NODE_ENV=production YARN_PRODUCTION=true MALLOC_ARENA_MAX=2
@@ -341,7 +338,7 @@ Drop the āvā to save only the version number:
}
```
-4. Deploy and verify that vue.js is working on Heroku
+5. Deploy and verify that vue.js is working on Heroku
```bash
git push heroku master
diff --git a/app/assets/images/logo.png b/app/assets/images/logo.png
new file mode 100644
index 0000000..eca1663
Binary files /dev/null and b/app/assets/images/logo.png differ
diff --git a/app/javascript/app.vue b/app/javascript/app.vue
index e304dc1..4823221 100644
--- a/app/javascript/app.vue
+++ b/app/javascript/app.vue
@@ -1,5 +1,6 @@
+
{{ message }}
@@ -15,6 +16,10 @@ export default {