Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSS Gate Workshop: PHPCon2017: 2017-10-08: @sashiyama: faker: Work log #632

Closed
sashiyama opened this issue Oct 8, 2017 · 28 comments
Closed

Comments

@sashiyama
Copy link

This is a work log of a "OSS Gate workshop".
"OSS Gate workshop" is an activity to increase OSS developers.
Here's been discussed in Japanese. Thanks.

作業ログ作成時の説明

以下のテンプレートを埋めてタイトルに設定します。埋め方例はスクロールすると見えてきます。

OSS Gate Workshop: ${LOCATION}: ${YEAR}-${MONTH}-${DAY}: ${アカウント名}: ${OSS名}: Work log

タイトル例↓:

OSS Gate Workshop: Tokyo: 2017-01-16: kou: Rabbit: Work log

OSS Gateワークショップ関連情報

  • スライド:ワークショップの進行に使っているスライドがあります。
  • チャット:OSS開発に関することならなんでも相談できます。ワークショップが終わった後もオンラインで相談しながら継続的にOSSの開発に参加しましょう!
  • シナリオ:ワークショップの目的・内容・進め方の詳細が書いています。
  • 過去のビギナーの作業ログ:他の人の作業ログから学べることがいろいろあるはずです。
@satoryu
Copy link
Member

satoryu commented Oct 8, 2017

よろしくお願いしますー

@ryo-utsunomiya
Copy link
Contributor

サポーターです。よろしくお願いします!

@suzukieita
Copy link

向かいの人です。よろしくおねがいします!

@ykagata
Copy link
Contributor

ykagata commented Oct 8, 2017

よろしくお願いします。

@sashiyama
Copy link
Author

公式ドキュメントを開く (https://github.com/stympy/faker)

@sashiyama
Copy link
Author

インストール方法を見る( https://github.com/stympy/faker#installing )

@sashiyama
Copy link
Author

インストールを以下のコマンドで行う
rbenv exec gem install faker

@sashiyama
Copy link
Author

使い方を見る ( https://github.com/stympy/faker#usage )

@sashiyama
Copy link
Author

sashiyama commented Oct 8, 2017

使い方を参照しながらirbで動かす
rbenv exec irb

@sashiyama
Copy link
Author

公式ドキュメントの使い方を見ながら以下のコマンドを打つ

require `faker`

すると以下のエラーが発生

Errno::ENOENT: No such file or directory - faker
	from (irb):1:in ``'

なので、バッククォートではなくシングルクォートで囲んで実行

@sashiyama
Copy link
Author

シングルクォーテーションで囲んで実行した場合、正しく読み込むことができた。
次に使い方を見ながら、以下を実行

irb(main):004:0> Faker::Name.name
=> "Ara Mraz"
irb(main):005:0> Faker::Internet.email
=> "[email protected]"

正常に動作した

@sashiyama
Copy link
Author

バッククォートで正常に読み込めなかった理由を調べる

@sashiyama
Copy link
Author

sashiyama commented Oct 8, 2017

rubyのドキュメント( https://docs.ruby-lang.org/ja/latest/doc/spec=2fliteral.html )を見たところバッククォートで囲まれた文字列は、コマンドとして実行される
Usageからコピペして

require `faker`

を行うとエラーが発生する

@sashiyama
Copy link
Author

以上はruby 2.4.1の環境で実行した。
別のバージョンでは動作するのかを確認する。(サンプルとして、2.2.4、2.3.4で動作させてみる)

@sashiyama
Copy link
Author

2.3.4でも同様のエラーが発生

irb(main):003:0> require `faker`
Errno::ENOENT: No such file or directory - faker
	from (irb):3:in ``'

@sashiyama
Copy link
Author

2.2.4でも同様のエラーが発生

irb(main):001:0> require `faker`
Errno::ENOENT: No such file or directory - faker
	from (irb):1:in ``'

@sashiyama
Copy link
Author

やはりシングルクォートだと成功する

irb(main):002:0> require 'faker'
=> true

@sashiyama
Copy link
Author

以上より、READMEのUsageをコピペで実行していくとエラーが発生すると考えられる

@sashiyama
Copy link
Author

CONTRIBUTING.md( https://github.com/stympy/faker/blob/master/CONTRIBUTING.md )を見ながら以上のエラーをまとめていく

@sashiyama
Copy link
Author

  1. Fork the repo. とあるのでリポジトリをforkする

@sashiyama
Copy link
Author

  1. Run the tests. We only take pull requests with passing tests, and it's great to know that you have a clean slate: bundle && bundle exec rake
    上記に従い、テストを実行

@sashiyama
Copy link
Author

全てのテストをパスすることを確認

@sashiyama
Copy link
Author

PRをsubmitした( faker-ruby/faker#1040 )

@sashiyama
Copy link
Author

Usage以下の動作確認をしていく

@sashiyama
Copy link
Author

以下のコマンドを実行

irb(main):004:0> Faker::Name.unique.name
=> "Ezra Kling"

正常に動作

@sashiyama
Copy link
Author

以下を実行するとエラーが発生する

irb(main):029:0> Faker::Name.unique + ((1..1000).to_a).sample
NoMethodError: undefined method `+' for Faker::Name:Class
	from /Users/nijimac056/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/faker-1.8.4/lib/faker.rb:185:in `method_missing'
	from /Users/nijimac056/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/faker-1.8.4/lib/helpers/unique_generator.rb:11:in `public_send'
	from /Users/nijimac056/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/faker-1.8.4/lib/helpers/unique_generator.rb:11:in `block in method_missing'
	from /Users/nijimac056/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/faker-1.8.4/lib/helpers/unique_generator.rb:10:in `times'
	from /Users/nijimac056/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/faker-1.8.4/lib/helpers/unique_generator.rb:10:in `method_missing'
	from (irb):29
	from /Users/nijimac056/.rbenv/versions/2.4.1/bin/irb:11:in `<main>'

Faker::Name.uniqueに+methodが定義されていない

@sashiyama
Copy link
Author

Faker::Nameのuniqueの定義場所を参照( https://github.com/stympy/faker/blob/master/lib/faker.rb )
UniqueGeneratorインスタンスが返されていたので、UniqueGeneratorの定義場所も参照( https://github.com/stympy/faker/blob/fbe20839ca533de1b6ec79de0c9ffcb2213d7f79/lib/helpers/unique_generator.rb )

@kou
Copy link
Member

kou commented Nov 26, 2017

お疲れ様でした!
ぜひ第2回もやりたいのでGitterで相談しましょう!

12月5日(火)の夜にここ3ヶ月くらいのOSS Gateの活動をふりかえる機会があります。
OSS Gateふりかえり2017-12

ふりかえる材料としてPHPカンファレンス2017内で実施したOSS Gateワークショップ参加者が感じたことがあると助かるので、ぜひ12月5日までに https://github.com/oss-gate/retrospective/issues/new から感じたことを登録してください。「よかったこと」、「困ったこと」という分類で書いていますが、分類は気にせずに感じたことを書いてもらえれば大丈夫です。あとで、こっちでまとめて https://github.com/oss-gate/retrospective/projects/4 から見えるようにします。

これからも引き続きOSSの開発に参加していきましょう!

@kou kou closed this as completed Nov 26, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants