Skip to content

Providers名前空間の切り出し #276

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

Merged
merged 25 commits into from
Mar 12, 2018

Conversation

AnaTofuZ
Copy link
Member

@AnaTofuZ AnaTofuZ commented Mar 5, 2018

背景

#270events を作るに辺りstatisticsとは別途イベントにAPIにアクセスし直近のイベント情報を入手する必要が出てきた。
そこで、statistics/providers を再利用したいが、名前空間的に切り出したほうが良いと考えられる為、切り出しを行う

行ったこと

  • lib/statistics/providers 以下のコードを lib/providers にmvした。
  • テストコードで利用しているモジュールパスをそれに伴い修正した
  • providers を利用しているコードのパスを対応させた

`/events`を作りたい為、雛形hamlファイルとコントローラー
及び適切に`/events` が表示できるかのテストコードを追加した。
statiscs/providersにはDojoのイベントAPIにアクセスする為の実装がある.
直近のイベント情報を取得する際も、APIアクセスが必要となる為この資産を使いたい。

> statistics 系の資源を使いつつ、直近情報を入手する実装がやっぱり良さそう
> ネームスペースが気持ち悪いと思うので、Statisticsの外に出してしまうと良いかもしれないですねぇ。

そこで名前空間をstatiscs/providersからprovidersに変更した
先程のcommitでnamespaceの変更を行った為、Statisticsの名前空間を削除した
`providers` の名前空間を`statistics` から外した為、require_relativeのパ
スを修正した
Statistics::ProvidersからProvides::に名前空間を修正した為
使用しているrakeファイルの名前空間を修正した
テストコードが`Statistics::Providers` を参照していた為、`Statistics` 名
前空間を外した
@nalabjp
Copy link
Member

nalabjp commented Mar 5, 2018

ありがとうございます!
/eventsでも使うならネームスペース変えたいなぁと思ってたところでした👍

個人的にはStatisticsとは別のネームスペースを持つか、Providersから別のネームスペースに変えたいと思ってたのですがいかがでしょうか?
lib配下のモジュールでProvidersだけだとちょっと意味が広いなぁという印象を持っています。

@AnaTofuZ
Copy link
Member Author

AnaTofuZ commented Mar 5, 2018

@nalabjp ありがとうございます! 個人的には API/Providers あたりなのかな…?と思いましたが、あまり良いネームスペースの設計が思いつかないので、ご教授お願いしたいです。

また名前空間の変更のPRなのに以前の /events の作業時のcommitが残ってしまっていたので一旦rmしたいと思います

AnaTofuZ added 2 commits March 5, 2018 11:55
今回のPRでは`/events` の変更は行わない為削除した
@nalabjp
Copy link
Member

nalabjp commented Mar 5, 2018

Api::Providersでも良いと思いますよ😌

僕が付けそうなのは
テーブル名の一部としても使っているevent_serviceを使ってEventService::Providersにするとかですかね。
あとはStatistics::ProvidersからApiClientにしてしまうとかでしょうか😉

@yasulab
Copy link
Member

yasulab commented Mar 5, 2018

EventService::Providers

こっちの方がしっくりきますね! 😸 今回はイベント管理サービス以外の目的でAPIを叩かないですし、また、テーブル名と同じなので「(/stats ページなどで表示されているデータから) そのファイルにどんなコードが入っているか?」も類推しやすくて良いですね! 📑👀💭

@AnaTofuZ
Copy link
Member Author

AnaTofuZ commented Mar 5, 2018

@nalabjp @yasulab ありがとうございます! EventService::Providers しっくり来ますね!
EventService::Providers でネームスペースを揃えてみます(๑•̀ㅂ•́)و✧

AnaTofuZ added 8 commits March 5, 2018 12:21
…b module

名前空間を切り分けるために eventservice/providers.rbにproviders.rbを変更し
大本のeventservice.rbを作成した
providersの名前空間をeventservice以下にする為テストコードの名前空間を切り分けた
名前空間を変更した為,lib/tasks/statisticsの使用しているモジュールパスを
変更した
名前空間を変更した物を修正し忘れていた為変更
@AnaTofuZ
Copy link
Member Author

AnaTofuZ commented Mar 5, 2018

名前空間を EventService::Providers で修正しました。
その為 eventservice.rb などを定義しています

@nalabjp
Copy link
Member

nalabjp commented Mar 11, 2018

以下の理由より、ファイル名とディレクトリ名をs/eventservice/event_service/したいです 🙏

5.1.4@2.4.2 (main)> 'eventservice'.camelize
=> "Eventservice"
5.1.4@2.4.2 (main)> 'event_service'.camelize
=> "EventService"
5.1.4@2.4.2 (main)> 'EventService'.underscore
=> "event_service"

Copy link
Member

@nalabjp nalabjp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#276 (comment)
以外はLGTMです😌

@AnaTofuZ
Copy link
Member Author

@nalabjp
なるほど理解です! (Railsの命名規則)
ファイル名とディレクトリ名を修正変更してみます

@AnaTofuZ
Copy link
Member Author

CIでコケていたのは

An error occurred while loading ./spec/lib/eventservice/providers/connpass_spec.rb.
Failure/Error: require 'eventservice'

とありテストコードのrequireの部分が修正していなかったからだった為修正を行う

前回のcommit時と同様に名前空間のrenameを行う
coderdojo-japan@f6469ff
命名規則の修正でファイルを直接requireしている部分をeven_serviceに修正した
@AnaTofuZ
Copy link
Member Author

名前の切り分けが終了しました!

@nalabjp
Copy link
Member

nalabjp commented Mar 12, 2018

ゴメンナサイ、見落としていたのですが、Statistics::Clientも一緒にEventService配下に持っていきませんか?😅

@AnaTofuZ
Copy link
Member Author

Statistics::Client はStatisticsに特化しているのかなと思ってたのですが、たしかにコードを見るとそうでもないですね…こちらも移動してみます

@AnaTofuZ
Copy link
Member Author

一折切り分けがこれで完了したかと思います!

Copy link
Member

@nalabjp nalabjp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@AnaTofuZ AnaTofuZ merged commit e43a707 into coderdojo-japan:master Mar 12, 2018
@AnaTofuZ AnaTofuZ deleted the modified_providers_namespace branch March 12, 2018 04:47
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

Successfully merging this pull request may close these issues.

3 participants