lolipop-mc-starter-rails 0.1.1 → 0.2.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: 93c291c950fe225ba9ef8da6ce38133d3608e6848096f16a383833754910d8d4
4
- data.tar.gz: 4091a67053494ee0d6f33502663c026b12dea68271c9a159b340d572bb717931
3
+ metadata.gz: 488fb28079071c085f877ab99ebac62a9cc35f006257c40684d972152b9e8334
4
+ data.tar.gz: 1220a2a58215d34963e1a503ede9ca924c34dd4f2e80a7d4c818e5ccc156ba38
5
5
  SHA512:
6
- metadata.gz: d3ac67bdb20db243d063c92096ade09c6df9a91a6f86f17fb58b31501a62d83eae3ee84a873c1cbcc5f53d86e2f197c55c8b17ddb4896c7e9b1d6e30cdcd45be
7
- data.tar.gz: c91bfe27e9fe2ce9514a687a3f4311d0f146a61aa7f4b4611c5cc494dc6ddda83b890da7bf6dac5963e7f9cf458f42a4708b81fae3869a0c0549462625db4389
6
+ metadata.gz: d53a406883595a2ad5bc34a3f0bc3550be173a33bb16075f221b7aab2e91454c3ccf94b3a5a9700b839a84e26acf0decfeca3b51d06dba260889ca3e6a272361
7
+ data.tar.gz: 8d788ebe837845f83a966e8afea28f55dff55d6456729732bec48f3c44b7f95a86be49bcafaa8cfac8a41e573b180f04cb3dec68aa2d41cd14f1cafb44b82e9e
@@ -23,8 +23,7 @@ module Lolipop
23
23
  def hint
24
24
  puts 'Railsは環境変数に `DATABASE_URL` を設定すると config/database.yml ではなく `DATABASE_URL` のDB接続設定を優先します'
25
25
  puts 'マネージドクラウドのプロジェクト詳細の `データベース` の記載を組み合わせて `DATABASE_URL` を作成して、同じくマネージドクラウドのプロジェクト詳細の `環境変数の設定と管理` で環境変数 `DATABASE_URL` を追加してください'
26
- puts '`DATABASE_URL` はマネージドクラウドのプロジェクト詳細の `データベース` の記載から `mysql2://[ユーザ名]:[パスワード]@[データベースのホスト名]/[データベース名]` のようになります'
27
- puts '例: `mysql2://33dcdbandusername4854d40bb41698b53a:DataBasePassW0rd@mysql-1.mc.lolipop.lan/33dcdbandusername4854d40bb41698b53a'
26
+ puts 'DATABASE_URL を作成するために、 `mc-rails database` というコマンドを実行し、インストラクションに従って値を入力してください。'
28
27
  end
29
28
  end
30
29
  end
@@ -5,8 +5,11 @@ module Lolipop
5
5
  module CheckItem
6
6
  class RailsDir < Base
7
7
  def check
8
- %w(Rakefile app bin config config.ru db lib log public storage test tmp vendor).each do |f|
9
- raise 'カレントディレクトリにRailsプロジェクトのソースコードが設置されていません' unless File.exist?("#{Dir.pwd}/#{f}")
8
+ %w(Rakefile app bin config config.ru db lib log public tmp vendor).each do |f|
9
+ raise "カレントディレクトリにRailsプロジェクトのソースコードが設置されていません: #{f}" unless File.exist?("#{Dir.pwd}/#{f}")
10
+ end
11
+ if %(test spec).all? {|d| !File.exist?("#{Dir.pwd}/#{f}") }
12
+ raise 'カレントディレクトリにRailsプロジェクトのソースコードが設置されていません。テストコード用のディレクトリはありますか?'
10
13
  end
11
14
  'カレントディレクトリにRailsプロジェクトのソースコードが設置されてます'
12
15
  end
@@ -1,5 +1,6 @@
1
1
  require 'thor'
2
2
  require 'lolipop/mc/starter/rails/check_list'
3
+ require 'lolipop/mc/starter/rails/generators'
3
4
 
4
5
  module Lolipop
5
6
  module Mc
@@ -11,6 +12,11 @@ module Lolipop
11
12
  Lolipop::Mc::Starter::Rails::CheckList.check_all
12
13
  end
13
14
 
15
+ desc 'database', 'Generate DATABASE_URL'
16
+ def database
17
+ Lolipop::Mc::Starter::Rails::Generators::DatabaseURL.run
18
+ end
19
+
14
20
  option :version, type: :boolean, aliases: :v
15
21
  def help(version = nil)
16
22
  if version
@@ -0,0 +1,6 @@
1
+ module Lolipop::Mc::Starter::Rails
2
+ module Generators
3
+ end
4
+ end
5
+
6
+ require 'lolipop/mc/starter/rails/generators/database_url'
@@ -0,0 +1,23 @@
1
+ require 'tty-prompt'
2
+
3
+ module Lolipop::Mc::Starter::Rails
4
+ module Generators
5
+ module DatabaseURL
6
+ def self.run
7
+ puts 'マネージドクラウドのプロジェクト詳細ページを開き、データベースの情報を確認しながら以下を入力してください。'
8
+ prompt = TTY::Prompt.new(active_color: :cyan)
9
+ database = prompt.ask('データベース名: ')
10
+ user = prompt.ask('ユーザー名: ')
11
+ password = prompt.mask('パスワード(プロジェクト作成時に入力したものです): ')
12
+ host = prompt.ask('データベースのホスト名: ')
13
+ uri = URI::Generic.build(['mysql2', user, host, 3306, nil, "/#{database}", nil, nil, nil])
14
+ uri.password = password
15
+
16
+ puts '以下の内容を、プロジェクト詳細ページの「環境変数の設定と管理」から登録してください。'
17
+ puts '新しい環境変数(名前): ' + prompt.decorate('DATABASE_URL', :bold, :magenta)
18
+ puts '新しい環境変数(値): ' + prompt.decorate(uri.to_s, :bold, :magenta)
19
+ puts '登録後、再び `mc-rails check` を実行してください。'
20
+ end
21
+ end
22
+ end
23
+ end
@@ -2,7 +2,7 @@ module Lolipop
2
2
  module Mc
3
3
  module Starter
4
4
  module Rails
5
- VERSION = '0.1.1'.freeze
5
+ VERSION = '0.2.0'.freeze
6
6
  end
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lolipop-mc-starter-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - k1low
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-05 00:00:00.000000000 Z
11
+ date: 2019-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-inflector
@@ -158,6 +158,8 @@ files:
158
158
  - lib/lolipop/mc/starter/rails/check_item/ssh.rb
159
159
  - lib/lolipop/mc/starter/rails/check_list.rb
160
160
  - lib/lolipop/mc/starter/rails/cli.rb
161
+ - lib/lolipop/mc/starter/rails/generators.rb
162
+ - lib/lolipop/mc/starter/rails/generators/database_url.rb
161
163
  - lib/lolipop/mc/starter/rails/version.rb
162
164
  - lolipop-mc-starter-rails.gemspec
163
165
  homepage: https://github.com/k1LoW/lolipop-mc-starter-rails