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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 37626221be27260120fd6a0f658280f422fe7e93e696e5fac6502f7d644470f7
4
- data.tar.gz: ec6f8debdb845e0638c7c3ad5739a59d8e164142a9dc3fced6150e0b6b8799c9
3
+ metadata.gz: be03d9c18610ea68b0e5663188e776db98a578118637b241b6cf7b1218566ecf
4
+ data.tar.gz: c245cdc06bc91440aaee513e786a4ad61c2a2defe2576dbaf93527caf962abe6
5
5
  SHA512:
6
- metadata.gz: 643d150a84ca6d872cf7fdb9488fea678e9edc6d0a1172175b804858cf46ef659bed67c90eefd0ea46845b9392cb7648ab1c425e7c2dda2206f68343f882aed0
7
- data.tar.gz: a4d0ee1bfae9b4616d9de8502bd49b1aaa03517962767364c9755f8dd7ed9f60e6c384c73650cdac321fa7b083649c208bf1b961a23421c4d5b4d4c9089342b8
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 directory of https://github/username/REPO_NAME.git
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
- * [fast_jsonapi](fast-jsonapi/fast_jsonapi) lightning fast JSON:API serializer (originally releases by [Netflix](https://github.com/Netflix/fast_jsonapi))
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 so you don't have to hunt down how they are setup.
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 'fast_jsonapi', github: 'fast-jsonapi/fast_jsonapi' # A lightening fast json serializer
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'
@@ -5,5 +5,5 @@ module Kowl
5
5
  # Minimum required ruby version which to install the gem
6
6
  RUBY_VERSION = '2.5'
7
7
  WEBPACKER_VERSION = '5.0'
8
- VERSION = '0.0.2'
8
+ VERSION = '0.0.3'
9
9
  end
@@ -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.2
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-05-03 00:00:00.000000000 Z
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