kowl 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -5
- data/lib/kowl/templates/Gemfile.erb.tt +1 -1
- data/lib/kowl/templates/dotfiles/fasterer.yml +27 -7
- data/lib/kowl/version.rb +1 -1
- data/spec/kowl/actions_spec.rb +35 -0
- metadata +7 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be03d9c18610ea68b0e5663188e776db98a578118637b241b6cf7b1218566ecf
|
4
|
+
data.tar.gz: c245cdc06bc91440aaee513e786a4ad61c2a2defe2576dbaf93527caf962abe6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3839ce3bb4cfa92e672e60c3b6c1e6df48c997a02aaa044117d51184d54050e38c90d0db69bbb1fd5a9d735622c20a626edfee40c9e8a8795bcdb763a3024b90
|
7
|
+
data.tar.gz: 6451a8cdb37f97469422b62f2d2180414fecb3c61143789377a90ca4abd8b2375b6560cd8235cb8221ea7454cd14f38b7a948d1903df32a798e436f0c114fcf5
|
data/README.md
CHANGED
@@ -170,7 +170,7 @@ Options:
|
|
170
170
|
|
171
171
|
`kowl AppName --git_repo=https://github/username/REPO_NAME.git`
|
172
172
|
|
173
|
-
Will generate an app with remote
|
173
|
+
Will generate an app with the remote repo set as `https://github/username/REPO_NAME.git`
|
174
174
|
|
175
175
|
`kowl foobar --template_engine=haml --simpleform --framework=semantic;`
|
176
176
|
|
@@ -231,7 +231,7 @@ User gems that will be included unless the `--noauth` flag is specified when gen
|
|
231
231
|
* [active_decorator](https://github.com/amatsuda/active_decorator) OOP view helpers for cleaning up your models.
|
232
232
|
* [annotate](https://github.com/ctran/annotate_models) for adding a comment summarizing the current schema to models, routes, etc.
|
233
233
|
* [auto_strip_attributes](https://github.com/holli/auto_strip_attributes) remove unnecessary whitespace from ActiveRecord attributes.
|
234
|
-
* [
|
234
|
+
* [jsonapi-serializer](https://github.com/jsonapi-serializer/jsonapi-serializer) lightning fast JSON:API serializer (originally releases by [Netflix](https://github.com/Netflix/fast_jsonapi))
|
235
235
|
* [meta-tags](https://github.com/kpumuk/meta-tags) helpers for making SEO/meta-tags easier to manage with your rails application.
|
236
236
|
* [oj](http://www.ohler.com/oj/) a fast JSON object serializer.
|
237
237
|
* [simple_form](https://github.com/heartcombo/simple_form) a DSL for making forms easy to style and manage.
|
@@ -269,7 +269,7 @@ User gems that will be included unless the `--noauth` flag is specified when gen
|
|
269
269
|
These gems will be included to setup sidekiq unless the `--skip_sidekiq` flag is used when generating an application.
|
270
270
|
|
271
271
|
* [hiredis](https://github.com/redis/hiredis-rb) a C adapter for connecting your application to a Redis datestore _(faster than the ruby redis library)_.
|
272
|
-
* [Sidekiq](https://github.com/mperham/sidekiq/)
|
272
|
+
* [Sidekiq](https://github.com/mperham/sidekiq/) simple, efficient background processing for Ruby
|
273
273
|
* [Sidekiq-Failures](https://github.com/mhfs/sidekiq-failures/) to get a better view of what jobs are failing.
|
274
274
|
* [Sidekiq-Scheduler](https://moove-it.github.io/sidekiq-scheduler/) to schedule sidekiq jobs on a given interval.
|
275
275
|
* [Sidekiq-Status](https://github.com/utgarda/sidekiq-status) is sidekiq extension to get a better status report of all currently running jobs.
|
@@ -326,11 +326,12 @@ If using ruby `>= 2.7` it also includes `e2mmap` and `thwait` to prevent ruby de
|
|
326
326
|
|
327
327
|
## Additonal Stuff
|
328
328
|
|
329
|
+
* It corrects the issue ([37008](https://github.com/rails/rails/pull/37008)) when generating a Rails (v6) application when specifying Oracle as the database
|
329
330
|
* When using this gem to generate applications it changes the devise password encrypting from bcrypt to [Argon2](https://cryptobook.nakov.com/mac-and-key-derivation/argon2)
|
330
331
|
* When generating application Dockerfiles it defaults to using [Alpine](https://alpinelinux.org/) which will produce smaller docker images. But if applications are specified to use Oracle as the database it will default to [Debian](https://www.debian.org/) _(due to the required dependencies to use the [Oracle InstantClient](https://www.oracle.com/database/technologies/instant-client.html))_.
|
331
332
|
* The `--encrypt` flag is used to enforce [GDPR](https://gdprchecklist.io/) and [CCPA](https://oag.ca.gov/privacy/ccpa) compliance to encrypt PII for users. _([GDPR Article 34, Section 3 (a)](https://gdpr-info.eu/art-34-gdpr/))_ By encrypting user identifiable information; this ensurers PII isn't plain text readable by hackers in case there is a data breach with the application. When encrypting user data it will use the [lockbox](https://github.com/ankane/lockbox) with the [xsalsa20](https://en.wikipedia.org/wiki/Salsa20) algorithm which requires [libsodium](https://libsodium.gitbook.io/doc/).
|
332
|
-
* When using javascript/webpacker not only will it gzip js assets, it will also compress assets with brotli and zopfli compression.
|
333
|
-
* A number of linter dotfiles added
|
333
|
+
* When using javascript/webpacker not only will it gzip js assets, it will also compress assets with brotli and zopfli compression _(in production)_.
|
334
|
+
* A number of linter dotfiles added, that way you don't have to hunt down how they are setup. And you only need to use the linters than you want to use.
|
334
335
|
|
335
336
|
## Notes
|
336
337
|
|
@@ -126,7 +126,7 @@ end
|
|
126
126
|
# Misc
|
127
127
|
##############################
|
128
128
|
gem 'auto_strip_attributes', '~> 2.5' # Reduce needing to add before_validation hooks to the models to cleanup attributes
|
129
|
-
gem '
|
129
|
+
gem 'jsonapi-serializer', github: 'jsonapi-serializer/jsonapi-serializer' # A lightening fast json serializer
|
130
130
|
gem 'jbuilder'<%= gemfile_requirement('jbuilder') %> # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
|
131
131
|
gem 'meta-tags' # Used for adding dynamic titles when switching between pages.
|
132
132
|
gem 'oj' # For faster json generating and parsing
|
@@ -1,14 +1,34 @@
|
|
1
|
+
speedups:
|
2
|
+
rescue_vs_respond_to: true
|
3
|
+
module_eval: true
|
4
|
+
shuffle_first_vs_sample: true
|
5
|
+
for_loop_vs_each: true
|
6
|
+
each_with_index_vs_while: false
|
7
|
+
map_flatten_vs_flat_map: true
|
8
|
+
reverse_each_vs_reverse_each: true
|
9
|
+
select_first_vs_detect: true
|
10
|
+
sort_vs_sort_by: true
|
11
|
+
fetch_with_argument_vs_block: true
|
12
|
+
keys_each_vs_each_key: true
|
13
|
+
hash_merge_bang_vs_hash_brackets: true
|
14
|
+
block_vs_symbol_to_proc: true
|
15
|
+
proc_call_vs_yield: true
|
16
|
+
gsub_vs_tr: true
|
17
|
+
select_last_vs_reverse_detect: true
|
18
|
+
getter_vs_attr_reader: true
|
19
|
+
setter_vs_attr_writer: true
|
20
|
+
|
1
21
|
exclude_paths:
|
2
22
|
- 'app/assets/**/**'
|
3
23
|
- 'app/javascript/**/**'
|
4
|
-
- 'bin
|
5
|
-
- 'coverage
|
24
|
+
- 'bin/'
|
25
|
+
- 'coverage/'
|
6
26
|
- 'db/**/*.rb'
|
7
|
-
- 'doc
|
8
|
-
- 'log
|
27
|
+
- 'doc/'
|
28
|
+
- 'log/'
|
9
29
|
- 'node_modulse/**/**'
|
10
|
-
- 'public
|
11
|
-
- 'storage
|
12
|
-
- 'tmp
|
30
|
+
- 'public/'
|
31
|
+
- 'storage/'
|
32
|
+
- 'tmp/'
|
13
33
|
- 'vendor/**/*.rb'
|
14
34
|
- '**.yml'
|
data/lib/kowl/version.rb
CHANGED
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Kowl::Docker do
|
6
|
+
before(:each) do
|
7
|
+
# Include the Kowl::Docker module in a class in order to make it testible
|
8
|
+
# => This is because it is also included into the Rails generator class
|
9
|
+
class KowlClass
|
10
|
+
include Kowl::Actions
|
11
|
+
end
|
12
|
+
@kowl = KowlClass.new
|
13
|
+
end
|
14
|
+
|
15
|
+
context 'database route (pghero)' do
|
16
|
+
it { expect(@kowl.database_route).to eq('') }
|
17
|
+
it { expect(@kowl.database_route('mysql')).to eq('') }
|
18
|
+
it { expect(@kowl.database_route('postgresql')).to eq(" mount PgHero::Engine, at: \"pghero\"\n") }
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'mailers' do
|
22
|
+
it { expect(@kowl.mailer_gems('postmark')).to eq("gem 'postmark-rails'") }
|
23
|
+
it { expect(@kowl.mailer_gems).to eq("gem 'sparkpost_rails'") }
|
24
|
+
end
|
25
|
+
|
26
|
+
context 'pry_gems' do
|
27
|
+
it { expect(@kowl.pry_gems(true)).to eq(nil) }
|
28
|
+
end
|
29
|
+
|
30
|
+
context 'robocop test engine' do
|
31
|
+
it { expect(@kowl.robocop_test_engine).to eq('') }
|
32
|
+
it { expect(@kowl.robocop_test_engine('minitest')).to include('minitest') }
|
33
|
+
it { expect(@kowl.robocop_test_engine('rspec')).to include('rspec') }
|
34
|
+
end
|
35
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kowl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Hicks
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -374,6 +374,7 @@ files:
|
|
374
374
|
- lib/kowl/templates/text_files/robots.txt.tt
|
375
375
|
- lib/kowl/templates/text_files/security.txt
|
376
376
|
- lib/kowl/version.rb
|
377
|
+
- spec/kowl/actions_spec.rb
|
377
378
|
- spec/kowl/docker_spec.rb
|
378
379
|
- spec/kowl/helpers_spec.rb
|
379
380
|
- spec/kowl/version_spec.rb
|
@@ -386,7 +387,7 @@ metadata:
|
|
386
387
|
bug_tracker_uri: https://github.com/tarellel/kowl/issues
|
387
388
|
changelog_uri: https://github.com/tarellel/kowl/blob/master/CHANGELOG.md
|
388
389
|
source_code_uri: https://github.com/tarellel/kowl
|
389
|
-
post_install_message:
|
390
|
+
post_install_message:
|
390
391
|
rdoc_options: []
|
391
392
|
require_paths:
|
392
393
|
- lib
|
@@ -402,11 +403,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
402
403
|
version: '0'
|
403
404
|
requirements: []
|
404
405
|
rubygems_version: 3.0.6
|
405
|
-
signing_key:
|
406
|
+
signing_key:
|
406
407
|
specification_version: 4
|
407
408
|
summary: A rails application generator to get you out the door and started without
|
408
409
|
wasting hours to get started.
|
409
410
|
test_files:
|
411
|
+
- spec/kowl/actions_spec.rb
|
410
412
|
- spec/kowl/docker_spec.rb
|
411
413
|
- spec/kowl/helpers_spec.rb
|
412
414
|
- spec/kowl/version_spec.rb
|