kowl 0.0.2 → 0.0.3
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 +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
|