mogu 0.2.0 → 0.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e882b669b0fb0757b1919c4dd31ce6a27eb60d34c8314e1a09c687afa6c498c7
4
- data.tar.gz: '08e6fd354a294d446a9725272d5f4bd3d1c70ab1fb4e4049f5cc2d280a601d95'
3
+ metadata.gz: 1b6b652ea5e6c6cff5a7afea1a7001739c1037b999574e11010c24eb56f12a4a
4
+ data.tar.gz: 8d6d194add2fff01d83ed36568940892e4f915b8b1093df8d904e3a9227c93f8
5
5
  SHA512:
6
- metadata.gz: ebe98974f88cc22c125d2506c374911327a88f0a5fe84bf7ca07c93b5e17d0c47788ca8d02215d2118098d9105edbfe18ad27fc2e0f6e3416e0878f6468dad60
7
- data.tar.gz: e890c2635c9d80b8950ff1c903b8a1aa62f5258c76db07eb0f34f989b50e66838d595fc6cbf081df66332d191e882f89396190252ed7780952b46b9bc5cec2d2
6
+ metadata.gz: eb5b43087c23d0cb37565a73aff07563fcf3fcc597e5c572c7619cca1df8d92e37892e28a1370abc5e09ed1b380222290fab16e14979859db3eb58ac7a8a5fa3
7
+ data.tar.gz: a91fdab847dd718b44f017e1f149949a8fee092d150452eb63d2c84db74e2261d502cb7c31e7ec4faffeeac3595faab3a2c94aea43c8db34cc647f5c4648677c
data/README.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  CLI to create rails projects interactively.
4
4
 
5
+ ## Prerequisites
6
+
7
+ - Rails 7+
8
+
5
9
  ## Features
6
10
 
7
11
  - Support for rails new option selection.
@@ -18,6 +22,38 @@ gem install mogu
18
22
  mogu
19
23
  ```
20
24
 
25
+ ```bash
26
+ Please input app path
27
+
28
+ Choose customizes
29
+ > ⬡ database
30
+ ⬡ javascript
31
+ ⬡ css
32
+ ⬡ gems
33
+
34
+ Choose database
35
+ > sqlite3
36
+ mysql
37
+ postgresql
38
+ ...
39
+
40
+ Choose javascript
41
+ > importmap
42
+ webpack
43
+ esbuild
44
+ rollup
45
+
46
+ Choose css
47
+ > tailwind
48
+ bootstrap
49
+ bulma
50
+ postcss
51
+ sass
52
+
53
+ Choose gems
54
+ > ⬡ rspec
55
+ ```
56
+
21
57
  ## Development
22
58
 
23
59
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
data/lib/mogu/prompt.rb CHANGED
@@ -52,12 +52,20 @@ module Mogu
52
52
  result.customizes.include? 'gems'
53
53
  end
54
54
 
55
+ def brakeman?
56
+ result.gems.include? 'brakeman'
57
+ end
58
+
55
59
  def rspec?
56
60
  result.gems.include? 'rspec'
57
61
  end
58
62
 
63
+ def rubocop?
64
+ result.gems.include? 'rubocop'
65
+ end
66
+
59
67
  def template?
60
- rspec?
68
+ [brakeman?, rspec?, rubocop?].any?
61
69
  end
62
70
 
63
71
  def app_path
@@ -83,7 +91,7 @@ module Mogu
83
91
  end
84
92
 
85
93
  def gems
86
- choices = %w[rspec]
94
+ choices = %w[brakeman rspec rubocop]
87
95
 
88
96
  prompt.multi_select 'Choose gems', choices
89
97
  end
data/lib/mogu/template.rb CHANGED
@@ -20,24 +20,55 @@ module Mogu
20
20
  end
21
21
 
22
22
  def write(gems)
23
+ file.write brakeman_code if gems.include? 'brakeman'
23
24
  file.write rspec_code if gems.include? 'rspec'
25
+ file.write rubocop_code if gems.include? 'rubocop'
24
26
 
25
27
  file.rewind
26
28
  end
27
29
 
28
30
  private
29
31
 
32
+ def brakeman_code
33
+ <<~CODE
34
+ gem 'brakeman', group: :development
35
+ CODE
36
+ end
37
+
30
38
  def rspec_code
31
39
  <<~CODE
32
- gem_group :development, :test do
33
- gem 'factory_bot_rails'
34
- gem 'rspec-rails'
35
- end
40
+ gem 'factory_bot_rails', group: %i[development test]
41
+ gem 'rspec-rails', group: %i[development test]
36
42
 
37
43
  after_bundle do
38
44
  generate 'rspec:install'
39
45
  end
40
46
  CODE
41
47
  end
48
+
49
+ def rubocop_code
50
+ <<~CODE
51
+ gem 'rubocop-rails', group: :development, require: false
52
+
53
+ create_file '.rubocop.yml', #{rubocop_yml}
54
+
55
+ after_bundle do
56
+ run 'rubocop --auto-gen-config'
57
+ end
58
+ CODE
59
+ end
60
+
61
+ def rubocop_yml
62
+ <<~CODE
63
+ require:
64
+ - rubocop-rails
65
+
66
+ AllCops:
67
+ NewCops: enable
68
+
69
+ Rails:
70
+ Enabled: true
71
+ CODE
72
+ end
42
73
  end
43
74
  end
data/lib/mogu/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mogu
4
- VERSION = '0.2.0'
4
+ VERSION = '0.3.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mogu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - MoguraStore
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-18 00:00:00.000000000 Z
11
+ date: 2022-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties