Skip to content

Commit 2f3cbbe

Browse files
committed
Generates Ruby on Rails Application with Vue.js
0 parents  commit 2f3cbbe

File tree

136 files changed

+15371
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

136 files changed

+15371
-0
lines changed

.better-html.yml

Whitespace-only changes.

.browserslistrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
defaults

.circleci/config.yml

Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
# Ruby CircleCI 2.0 configuration file
2+
#
3+
# Check https://circleci.com/docs/2.0/language-ruby/ for more details
4+
#
5+
---
6+
7+
version: 2.1
8+
9+
orbs:
10+
browser-tools: circleci/browser-tools@1
11+
node: circleci/node@4
12+
ruby: circleci/ruby@1
13+
14+
workflows:
15+
version: 2
16+
commit:
17+
jobs:
18+
- test:
19+
requires:
20+
- lint
21+
- lint:
22+
filters:
23+
branches:
24+
ignore:
25+
- master
26+
- production
27+
- staging
28+
merge:
29+
jobs:
30+
- test:
31+
filters:
32+
branches:
33+
only:
34+
- master
35+
- production
36+
- staging
37+
38+
auto_upgrade_tools:
39+
triggers:
40+
- schedule:
41+
cron: "0 10 1 * *"
42+
filters:
43+
branches:
44+
only:
45+
- master
46+
jobs:
47+
- upgrade_tools
48+
49+
jobs:
50+
test:
51+
docker:
52+
# specify the version you desire here
53+
- image: cimg/ruby:3.0-browsers
54+
environment:
55+
BUNDLE_GEMFILE: Gemfile
56+
BUNDLE_PATH: vendor/bundle
57+
BUNDLE_JOBS: 4
58+
BUNDLE_RETRY: 3
59+
BUNDLE_WITHOUT: "production:staging:development"
60+
COVERAGE: true
61+
DATABASE_URL: postgresql://ubuntu@localhost/db
62+
NODE_ENV: test
63+
RACK_ENV: test
64+
RAILS_ENV: test
65+
66+
# Specify service dependencies here if necessary
67+
# CircleCI maintains a library of pre-built images
68+
# documented at https://circleci.com/docs/2.0/circleci-images/
69+
- image: circleci/postgres:alpine-ram
70+
environment:
71+
POSTGRES_USER: ubuntu
72+
POSTGRES_DB: db
73+
74+
steps:
75+
- checkout
76+
- browser-tools/install-chrome
77+
- browser-tools/install-chromedriver
78+
79+
- restore_cache:
80+
name: Restore Bundler Cache between Branches
81+
keys:
82+
- v1-dependencies-{{ checksum "Gemfile.lock" }}
83+
- v1-dependencies-
84+
85+
- ruby/install-deps:
86+
bundler-version: '`cat Gemfile.lock | tail -1 | tr -d " "`'
87+
key: v1-dependencies
88+
with-cache: false
89+
path: './vendor/bundle'
90+
91+
- run: bundle exec bootsnap precompile --gemfile app/ lib/
92+
- run: gem install spring
93+
94+
- save_cache:
95+
name: Save Bundler Cache between Branches
96+
paths:
97+
- vendor/bundle
98+
- tmp/cache/bootsnap-compile-cache
99+
key: v1-dependencies-{{ checksum "Gemfile.lock" }}
100+
101+
- node/install-packages:
102+
app-dir: .
103+
pkg-manager: yarn
104+
cache-version: v1
105+
106+
- restore_cache:
107+
keys:
108+
- asset-cache-v1-{{ arch }}-{{ .Branch }}-{{ checksum "yarn.lock" }}-{{ .Environment.CIRCLE_SHA1 }}
109+
- asset-cache-v1-{{ arch }}-{{ .Branch }}-{{ checksum "yarn.lock" }}-
110+
- asset-cache-v1-{{ arch }}-{{ .Branch }}-
111+
- asset-cache-v1-{{ arch }}-master-
112+
113+
- run:
114+
name: Precompile Assets
115+
command: |
116+
bin/rails assets:precompile
117+
118+
- save_cache:
119+
key: asset-cache-v1-{{ arch }}-{{ .Branch }}-{{ checksum "yarn.lock" }}-{{ .Environment.CIRCLE_SHA1 }}
120+
paths:
121+
- public/packs-test
122+
- tmp/cache/assets
123+
- tmp/cache/webpacker
124+
125+
# Run JS Tests
126+
# - restore_cache:
127+
# name: Restore Jest Cache
128+
# keys:
129+
# - jest-cache-v1-{{ arch }}-{{ .Branch }}-{{ .Environment.CIRCLE_SHA1 }}
130+
# - jest-cache-v1-{{ arch }}-{{ .Branch }}-
131+
# - jest-cache-v1-
132+
#
133+
# - run:
134+
# name: JavaScript Unit Tests
135+
# command: |
136+
# bin/yarn test --ci --no-watchman \
137+
# --coverage --coverageDirectory coverage/jest \
138+
# --coverageReporters text-summary --coverageReporters html \
139+
# --reporters=jest-junit
140+
# environment:
141+
# JEST_JUNIT_OUTPUT_DIR: tmp/reports/jest-results
142+
#
143+
# - save_cache:
144+
# name: Save Jest Cache
145+
# key: jest-cache-v1-{{ arch }}-{{ .Branch }}-{{ .Environment.CIRCLE_SHA1 }}
146+
# paths:
147+
# - tmp/cache/jest
148+
149+
- run: bin/rails db:test:prepare
150+
- run: bin/rails test "test/**/*_test.rb"
151+
152+
# Collect reports
153+
- store_test_results:
154+
path: ./tmp/reports/
155+
- store_artifacts:
156+
path: ./coverage
157+
- store_artifacts:
158+
path: ./tmp/screenshots
159+
lint:
160+
docker:
161+
- image: cimg/ruby:3.0-node
162+
environment:
163+
DISABLE_SPRING: 1
164+
BUNDLE_GEMFILE: Gemfile.tools
165+
BUNDLE_PATH: vendor/bundle-tools
166+
BUNDLE_JOBS: 4
167+
BUNDLE_RETRY: 3
168+
169+
steps:
170+
- checkout
171+
172+
- restore_cache:
173+
keys:
174+
- v1-tools-dependencies-{{ checksum "Gemfile.tools.lock" }}-{{ checksum "yarn.lock" }}
175+
- v1-tools-dependencies-
176+
177+
- run:
178+
name: Install cmake for building pronto dependencies
179+
command: sudo apt-get update -qq
180+
&& sudo apt-get install -yq --no-install-recommends
181+
cmake yamllint python3-setuptools python3-pkg-resources pkg-config
182+
183+
- run:
184+
name: Install Bundle Dependencies
185+
command: bin/bundle check || bin/bundle install
186+
187+
- run:
188+
name: Install Node Packages
189+
command: bin/yarn check || bin/yarn install
190+
191+
- save_cache:
192+
key: v1-tools-dependencies-{{ checksum "Gemfile.tools.lock" }}-{{ checksum "yarn.lock" }}
193+
paths:
194+
- ./vendor/bundle-tools
195+
- ./node_modules
196+
197+
- run: bin/lint-pr
198+
199+
upgrade_tools:
200+
docker:
201+
- image: cimg/ruby:3.0-node
202+
environment:
203+
DISABLE_SPRING: 1
204+
BUNDLE_GEMFILE: Gemfile.tools
205+
BUNDLE_JOBS: 4
206+
BUNDLE_RETRY: 3
207+
208+
steps:
209+
- checkout
210+
211+
- run:
212+
name: Install Bundler
213+
command: |
214+
echo 'export BUNDLER_VERSION=$(cat Gemfile.tools.lock | tail -1 | tr -d " ")' >> $BASH_ENV
215+
source $BASH_ENV
216+
gem install bundler:$BUNDLER_VERSION
217+
218+
- run:
219+
name: Install System Dependencies
220+
command: sudo apt-get update
221+
&& sudo apt-get install cmake yamllint python3-setuptools python3-pkg-resources pkg-config
222+
223+
- run:
224+
name: Run Gemfile tools update in separate branch
225+
command: ./bin/circleci-auto_upgrade_tools

.editorconfig

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
indent_size = 2
7+
indent_style = space
8+
insert_final_newline = true
9+
max_line_length = 113
10+
tab_width = 2
11+
trim_trailing_whitespace = true
12+
13+
[*.css]
14+
ij_continuation_indent_size = 2
15+
ij_css_align_closing_brace_with_properties = false
16+
ij_css_blank_lines_around_nested_selector = 1
17+
ij_css_blank_lines_between_blocks = 1
18+
ij_css_keep_blank_lines_in_code = 2
19+
ij_css_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow
20+
21+
[*.haml]
22+
tab_width = 2
23+
ij_haml_keep_indents_on_empty_lines = false
24+
25+
[*.properties]
26+
27+
[*.scss]
28+
ij_continuation_indent_size = 2
29+
ij_scss_align_closing_brace_with_properties = false
30+
ij_scss_blank_lines_around_nested_selector = 1
31+
ij_scss_blank_lines_between_blocks = 1
32+
33+
[.editorconfig]
34+
35+
[{*.js,*.cjs}]
36+
ij_continuation_indent_size = 2
37+
38+
[{*.sht,*.html,*.shtm,*.shtml,*.htm}]
39+
ij_continuation_indent_size = 2
40+
41+
[{*.xslt,*.rng,*.ant,*.xsl,*.xsd,*.xul,*.jhm,*.xml,*.tld,*.fxml,*.wsdl,*.jrxml,*.jnlp}]
42+
tab_width = 2
43+
44+
[{*.yml,*.yaml}]
45+
tab_width = 2
46+
47+
[{.babelrc,.stylelintrc,.eslintrc,jest.config,.resultset.json.lock,bowerrc,*.json,*.jsb3,*.jsb2}]
48+
tab_width = 2
49+
50+
[{Podfile,Brewfile,cucumber,yarn,spork,Gemfile.tools,rake,.simplecov,rcov,rails,spec,capfile,gemfile,rakefile,guardfile,isolate,vagrantfile,*.gemspec,*.jbuilder,*.thor,*.rbw,*.ru,*.rb,*.rake}]
51+
ij_ruby_align_group_field_declarations = false
52+
ij_ruby_align_multiline_parameters = false
53+
ij_ruby_blank_lines_around_method = 1
54+
ij_ruby_chain_calls_alignment = 0
55+
ij_ruby_convert_brace_block_by_enter = true
56+
ij_ruby_force_newlines_around_visibility_mods = true
57+
ij_ruby_indent_private_methods = false
58+
ij_ruby_indent_protected_methods = false
59+
ij_ruby_indent_public_methods = false
60+
ij_ruby_indent_when_cases = false
61+
ij_ruby_keep_blank_lines_in_declarations = 2
62+
ij_ruby_keep_line_breaks = true
63+
ij_ruby_parentheses_around_method_arguments = true
64+
ij_ruby_spaces_around_assignment_operators = true
65+
ij_ruby_spaces_around_hashrocket = true
66+
ij_ruby_spaces_around_other_operators = true
67+
ij_ruby_spaces_around_range_operators = false
68+
ij_ruby_spaces_around_relational_operators = true
69+
ij_ruby_spaces_within_array_initializer_braces = true
70+
ij_ruby_spaces_within_braces = true

.erb-lint.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
linters:
3+
ErbSafety:
4+
enabled: true
5+
better_html_config: .better-html.yml
6+
Rubocop:
7+
enabled: true
8+
rubocop_config:
9+
inherit_from:
10+
- .rubocop.yml
11+
Layout/InitialIndentation:
12+
Enabled: false
13+
Layout/LineLength:
14+
Enabled: false
15+
Layout/TrailingEmptyLines:
16+
Enabled: false
17+
Layout/TrailingWhitespace:
18+
Enabled: false
19+
Lint/UselessAssignment:
20+
Enabled: false
21+
Naming/FileName:
22+
Enabled: false
23+
Rails/OutputSafety:
24+
Enabled: false
25+
Style/FrozenStringLiteralComment:
26+
Enabled: false

.eslintrc.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Documentation on http://eslint.org/docs/rules/
2+
3+
module.exports = {
4+
'env': {
5+
'browser': true,
6+
'node': true,
7+
'jquery': true
8+
},
9+
'rules': {
10+
'no-unused-expressions': ['error', { 'allowShortCircuit': true }],
11+
'max-len': ['error', { 'code': 113 }]
12+
},
13+
}

.gitattributes

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# See https://git-scm.com/docs/gitattributes for more about git attribute files.
2+
3+
# Mark the database schema as having been generated.
4+
db/schema.rb linguist-generated
5+
6+
# Mark the yarn lockfile as having been generated.
7+
yarn.lock linguist-generated
8+
9+
# Mark any vendored files as having been vendored.
10+
vendor/* linguist-vendored
11+
*.gemspec diff=ruby
12+
*.rake diff=ruby
13+
*.rb diff=ruby
14+
*.js diff=javascript
15+
16+
db/schema.rb merge=ours diff=ruby
17+
yarn.lock merge=ours
18+
Gemfile.lock merge=ours linguist-generated

.github/FUNDING.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# These are supported funding model platforms
2+
3+
github: [pftg]
4+
patreon: pftg
5+
custom: ['https://www.jetthoughts.com', 'https://jtway.co']

.github/dependabot.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
version: 2
3+
updates:
4+
- package-ecosystem: bundler
5+
directory: "/"
6+
schedule:
7+
interval: weekly
8+
time: "10:00"
9+
open-pull-requests-limit: 3
10+
versioning-strategy: lockfile-only
11+
allow:
12+
- dependency-type: all
13+
- package-ecosystem: npm
14+
directory: "/"
15+
schedule:
16+
interval: weekly
17+
time: "10:00"
18+
open-pull-requests-limit: 3
19+
versioning-strategy: lockfile-only
20+
allow:
21+
- dependency-type: all

0 commit comments

Comments
 (0)