GitHubにプルリクを送ってみる

まず、前回の「RubyからCocoaを使ってみる」を参照する。
https://qiita.com/KoichiroEto/items/3e408e1420171f97fe61

# 修正する内容
実行する際に、warningが出る。

> % ruby test1.rb
> /usr/local/lib/ruby/gems/2.7.0/gems/cocoa-0.1.6/lib/cocoa/objc/method_def.rb:154: warning: constant ::Fixnum is deprecated
> /usr/local/lib/ruby/gems/2.7.0/gems/cocoa-0.1.6/lib/cocoa/objc/method_def.rb:154: warning: constant ::Fixnum is deprecated
> /usr/local/lib/ruby/gems/2.7.0/gems/cocoa-0.1.6/lib/cocoa/objc/method_def.rb:154: warning: constant ::Bignum is deprecated

以下のようにFixnum, BignumをIntegerに変更すると、warningは出なくなる。

```
% cd /usr/local/lib/ruby/gems/2.7.0/gems/cocoa-0.1.6/lib/cocoa/objc
% cp method_def.rb method_def.rb.org
% vi method_def.rb
% diff method_def.rb.org method_def.rb
154c154
<         when Fixnum, Bignum
---
>         when Integer
```

参考：
- https://teratail.com/questions/153236
- https://github.com/rails/sprockets/pull/392

# プルリクエストの作成
せっかくなので、プルリクしてみよう。

## 1. Forkする
- https://github.com/patrickhno/cocoa/ を表示する。
- 右上のFork→eto。
- そうすると、 https://github.com/eto/cocoa が作られる。

## 2. cloneする
> % cd ~/dev
> % git clone https://github.com/eto/cocoa.git
> % cd cocoa
> % git status
> On branch master
> Your branch is up to date with 'origin/master'.
> 
> nothing to commit, working tree clean

## 3. branchを切る
> % git checkout -b develop
Switched to a new branch 'develop'

## 4. 修正する
> % cd lib/cocoa/objc
> % vi method_def.rb

修正を確認する。
> % git diff
> diff --git a/lib/cocoa/objc/method_def.rb b/lib/cocoa/objc/method_def.rb
> index c588790..21779ba 100644
> --- a/lib/cocoa/objc/method_def.rb
> +++ b/lib/cocoa/objc/method_def.rb
> @@ -177,7 +177,7 @@ module ObjC
>          case value
>          when TrueClass, FalseClass
>            [:bool,value]
> -        when Fixnum, Bignum
> +        when Integer
>            [TYPES[types[i]],value]
>          when Float
>            [:double,value]

## 5. pushする
> % git add method_def.rb
> % git commit -m "Fix 'warning: constant ::Fixnum, Bignum is deprecated'."
> [master fdfaa0e] Fix 'warning: constant ::Fixnum, Bignum is deprecated'.
>  1 file changed, 1 insertion(+), 1 deletion(-)

> % git push origin develop
> Enumerating objects: 11, done.
> Counting objects: 100% (11/11), done.
> Delta compression using up to 8 threads
> Compressing objects: 100% (5/5), done.
> Writing objects: 100% (6/6), 526 bytes | 526.00 KiB/s, done.
> Total 6 (delta 3), reused 0 (delta 0)
> remote: Resolving deltas: 100% (3/3), completed with 3 local objects.
> remote: 
> remote: Create a pull request for 'develop' on GitHub by visiting:
> remote:      https://github.com/eto/cocoa/pull/new/develop
> remote: 
> To https://github.com/eto/cocoa.git
>  * [new branch]      develop -> develop

## 6. PullRequestを作る
- https://github.com/eto/cocoa を表示する。
- 「master」のところをおし、「develop」を選択する。
- https://github.com/eto/cocoa/blob/develop/lib/cocoa/objc/method_def.rb →180行目が修正されている。
- 「This branch is 1 commit ahead of patrickhno:master.」の右にある「Pull request」をおす
- 「Leave a comment」のところに、コメントを残す。

```
This pull request fixes the following warnings.
> /usr/local/lib/ruby/gems/2.7.0/gems/cocoa-0.1.6/lib/cocoa/objc/method_def.rb:154: warning: constant ::Fixnum is deprecated
> /usr/local/lib/ruby/gems/2.7.0/gems/cocoa-0.1.6/lib/cocoa/objc/method_def.rb:154: warning: constant ::Fixnum is deprecated
> /usr/local/lib/ruby/gems/2.7.0/gems/cocoa-0.1.6/lib/cocoa/objc/method_def.rb:154: warning: constant ::Bignum is deprecated
```

- 「Create pull request」をおす。
- 以下のページに遷移する。これで、プルリクエストが作られた。
https://github.com/patrickhno/cocoa/pull/6

done!