rails-interactive 0.1.3 → 0.1.4

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: 148eddf5013e8b0aa00c0c9382bf958ee3605395a5bab401514b772e4817bf7c
4
- data.tar.gz: 1ee04978ade60ae7da13f5680a4790fe6a09c1e525f1aec9b627d96eba9799da
3
+ metadata.gz: 311ecd51603ff6353bf81e6ddf9b466e316e42ddd7f30439f4e85283b3d95d9b
4
+ data.tar.gz: 146d9ca05439b52554e80996919a8354a56bf8c7109fcacfc2edb724d64d82cc
5
5
  SHA512:
6
- metadata.gz: ca97e2f36298174563a77699108b4c3cbcf7418d4e1a73441f7968ba229ab3475650fd9665abc23f89341870d346f3ba69abdad19f6d6cf51aff8f85cb8012c0
7
- data.tar.gz: 3b8a4a8c79d1b2dc8d517f442420596c8a6c7a2129a3d1b1ecc5e4a93b494622788a8451206e065839a4308041f56926739078832e12543a8ba2b25d9abc98d7
6
+ metadata.gz: da265f43d7300c8664384f83f31d2b9389b9cb1141ef3cce871e77c6e44e97bfe8f9d336398db5c60d0de659d8298dd9161a9c39129ad5cdb5f2043165e8e200
7
+ data.tar.gz: f288819b67edf4700bc05d50392097ef9611e2f2293e23651a58aee3e98a63cf304415471b513389b524db96c23c608bb1d352dde2b2fda228cfa8f5d272620c
@@ -14,24 +14,44 @@ jobs:
14
14
  check-name: 'Run tests'
15
15
  repo-token: ${{ secrets.GITHUB_TOKEN }}
16
16
  wait-interval: 10
17
- - name: Setup Ruby
17
+ - uses: GoogleCloudPlatform/release-please-action@v2
18
+ id: release
19
+ with:
20
+ release-type: ruby
21
+ package-name: rails-interactive
22
+ version-file: 'lib/rails_interactive/version.rb'
23
+ - uses: actions/checkout@v2
24
+ if: ${{ steps.release.outputs.release_created }}
25
+ - name: Set up Ruby
18
26
  uses: ruby/setup-ruby@v1
27
+ if: ${{ steps.release.outputs.release_created }}
19
28
  with:
20
29
  ruby-version: 3.0.2
21
30
  bundler-cache: true
31
+ - name: Bundle Install
32
+ run: bundle install
33
+ if: ${{ steps.release.outputs.release_created }}
22
34
  - name: Set Credentials
23
35
  run: |
24
36
  mkdir -p $HOME/.gem
25
37
  touch $HOME/.gem/credentials
26
38
  chmod 0600 $HOME/.gem/credentials
27
- printf -- "---\n:github: Bearer ${{secrets.GITHUB_TOKEN}}\n" > $HOME/.gem/credentials
28
- printf -- "---\n:rubygems_api_key: ${{secrets.RUBYGEMS_TOKEN}}\n" > $HOME/.gem/credentials
39
+ printf -- "---\n:github: Bearer ${GITHUB_TOKEN}\n" > $HOME/.gem/credentials
40
+ printf -- "---\n:rubygems_api_key: ${RUBYGEMS_TOKEN}\n" > $HOME/.gem/credentials
41
+ if: ${{ steps.release.outputs.release_created }}
42
+ env:
43
+ GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
44
+ RUBYGEMS_TOKEN: '${{secrets.RUBYGEMS_TOKEN}}'
29
45
  - name: Publish to GitHub Packages
30
46
  run: |
31
47
  export OWNER=$( echo ${{ github.repository }} | cut -d "/" -f 1 )
32
48
  gem build *.gemspec
33
49
  gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
50
+ gem push *.gem
51
+ if: ${{ steps.release.outputs.release_created }}
34
52
  - name: Publish to RubyGems
35
53
  run: |
36
54
  gem build *.gemspec
55
+ gem push --host https://rubygems.pkg.github.com/${OWNER} *.gem
37
56
  gem push *.gem
57
+ if: ${{ steps.release.outputs.release_created }}
data/README.md CHANGED
@@ -12,7 +12,7 @@ $ gem install rails-interactive
12
12
  ## Usage
13
13
 
14
14
  ```bash
15
- $ interactive new
15
+ $ rails-interactive new
16
16
  ```
17
17
 
18
18
  ## Development
@@ -32,10 +32,7 @@ module RailsInteractive
32
32
  def self.prepare
33
33
  puts ""
34
34
  puts "Project created successfully ✅".colorize(:green)
35
- puts "Go to your project folder and run :".colorize(:green)
36
- puts "> bundle install && yarn".colorize(:yellow)
37
- puts "After that, ready to go 🎉".colorize(:green)
38
-
35
+ puts "Go to your project folder and ready to go 🎉".colorize(:green)
39
36
  rails_commands
40
37
  end
41
38
 
@@ -30,6 +30,8 @@ module RailsInteractive
30
30
  @prompt.ask(@msg, required: @required)
31
31
  when "select"
32
32
  @prompt.select(@msg, @options, required: @required)
33
+ when "multi_select"
34
+ @prompt.multi_select(@msg, @options)
33
35
  else
34
36
  puts "Invalid parameter"
35
37
  end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ run "bundle add devise"
4
+ Bundler.with_unbundled_env { run "bundle install" }
5
+
6
+ rails_command "generate devise:install"
7
+
8
+ run "rails generate devise User"
9
+ run "rails db:create"
10
+ run "rails db:migrate"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsInteractive
4
- VERSION = "0.1.3"
4
+ VERSION = "0.1.4"
5
5
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "rails_interactive/prompt"
4
4
  require "rails_interactive/message"
5
+ require "fileutils"
5
6
 
6
7
  module RailsInteractive
7
8
  # CLI class for the interactive CLI module
@@ -31,6 +32,9 @@ module RailsInteractive
31
32
  database_types = { "PostgreSQL" => "-d postgresql", "MySQL" => "-d mysql", "SQLite" => "" }
32
33
  @inputs[:database] = Prompt.new("Choose project's database: ", "select", database_types, required: true).perform
33
34
 
35
+ features = %w[devise]
36
+ @inputs[:features] = Prompt.new("Choose project features: ", "multi_select", features).perform
37
+
34
38
  create
35
39
  end
36
40
 
@@ -39,6 +43,15 @@ module RailsInteractive
39
43
  system("bin/setup")
40
44
  # Create project
41
45
  system(setup)
46
+
47
+ copy_templates_to_project
48
+
49
+ # Move to project folder and install gems
50
+ Dir.chdir "./#{@inputs[:name]}"
51
+ @inputs[:features].each do |feature|
52
+ system("bin/rails app:template LOCATION=templates/setup_#{feature}.rb")
53
+ end
54
+
42
55
  # Prepare project requirements and give instructions
43
56
  Message.prepare
44
57
  end
@@ -51,5 +64,9 @@ module RailsInteractive
51
64
 
52
65
  "#{base} #{cmd}".strip!
53
66
  end
67
+
68
+ def copy_templates_to_project
69
+ FileUtils.cp_r "#{__dir__}/rails_interactive/templates", "./#{@inputs[:name]}"
70
+ end
54
71
  end
55
72
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-interactive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oguzhan Ince
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-20 00:00:00.000000000 Z
11
+ date: 2022-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -136,6 +136,7 @@ files:
136
136
  - lib/rails_interactive.rb
137
137
  - lib/rails_interactive/message.rb
138
138
  - lib/rails_interactive/prompt.rb
139
+ - lib/rails_interactive/templates/setup_devise.rb
139
140
  - lib/rails_interactive/version.rb
140
141
  - rails-interactive.gemspec
141
142
  homepage: https://github.com/oguzsh/rails-interactive