lolipop-mc-starter-rails 0.1.1 → 0.2.0

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: 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