これを参考にpluginを作ってみようと思ったが、全くチュートリアル通りにいかないので、困った。
railsにプルリクを送りたいが、ルールがめんどいし、英語できないから誰かお願いします。
- rails 5.1.3
- bundler 1.15.3
- ruby 2.4.1
> 1.1 gem形式のプラグインを生成する
console
$ rails plugin new yaffle
動いた。
> 2 新しく生成したプラグインをテストする
console
$ cd yaffle
$ bundle install
You have one or more invalid gemspecs that need to be fixed.
The gemspec at ~/yaffle/yaffle.gemspec is not valid. Please fix this gemspec.
The validation error was '"FIXME" or "TODO" is not a description'
いきなりドキュメントの通りにいかない。ドキュメントにプルリク出したい。
以下対策。
yaffle.gemspec
@@ -9,9 +9,9 @@ Gem::Specification.new do |s|
s.version = Yaffle::VERSION
s.authors = ["user"]
s.email = ["xxx@example.com"]
- s.homepage = "TODO"
- s.summary = "TODO: Summary of Yaffle."
- s.description = "TODO: Description of Yaffle."
+ s.homepage = ""
+ s.summary = "Summary of Yaffle."
+ s.description = "Description of Yaffle."
s.license = "MIT"
s.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.md"]
console
$ bundle install
成功
> 自動生成されたテストをrakeコマンドで実行します
console
$ bundle exec rake test
~/yaffle/test/dummy/db/schema.rb doesn't exist yet. Run `rails db:migrate` to create it, then try again. If you do not intend to use a database, you should instead alter ~/yaffle/test/dummy/config/application.rb to limit the frameworks that will be loaded.
# ...略...
よくわからないけどdummyプロジェクトのdbを作ってくればいいのかな。
console
$ cd test/dummy
$ bin rails db:migrate
$ cd -
リトライ
console
$ bundle exec rake test
~/yaffle/test/test_helper.rb:9:in `<top (required)>': uninitialized constant Rails::TestUnitReporter (NameError)
なんなんだよぉ〜これもぉー。github行って該当クラス調べたら定義はされているけどrequireされてないみたいなので、以下のように修正してみた。
ただし、railtiesの構造がよくわかっていないので、これで良いのか自信がない。
test_helper.rb
@@ -6,6 +6,7 @@ require "rails/test_help"
# to be shown.
Minitest.backtrace_filter = Minitest::BacktraceFilter.new
+require 'rails/test_unit/reporter'
Rails::TestUnitReporter.executable = 'bin/test'
# Load fixtures from the engine
リトライ
$ bundle exec rake test
Run options: --seed 10841
# Running:
.
Finished in 0.003075s, 325.2033 runs/s, 325.2033 assertions/s.
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
やったー!
とりあえずここまで
何も始まっていないのに疲れてしまった!!