さんさろ

Webエンジニアの雑記&技術、たまにドイツ

他所様のコードを眺めたい

迷った時のGitHub

Rails5 のアプリですが、イチから作ってると躓くことも結構あって、ドキュメントを見ながら進めたりすると思うのですが。

管理画面側は、ディレクトリを分割したいなぁとか思っていたらそもそもディレクトリ掘った時の基底クラスの extend の方法が分からなくて調べたりとか、外部CSS読み込ませる方法とか、やっぱり全く他所の畑に迷い込んだ感が半端ないですね。

どんなディレクトリ構造がよりクレバーなのだろうかとか、どんな書き方がクールなのだろうか、とか色々考えながら作っていきたいけれども、流石にまだまだそんな次元の話では無かったり。

ということで、他の方がどんな風に書いてるのかを覗かせてもらうべく、GutHub にある Rails5 で書かれてるオープンソースのプロジェクトを探して、自分の環境に作ってみることにしました。

どのプロジェクトがいいかなーと探してみて、とりあえずスターの一番多いやつにしてみる。そもそもCMS作ろうと思ってたので丁度いい。

GitHub - SpinaCMS/Spina: Spina CMS

んで、これ動かしたい場合どうするんだっけ……と30秒考えました。 composer だったら、いきなり composer install で行けるんだけど、とか。

正解は、

1)rails のアプリを先に作る

$ rails g newApp

2)出来たアプリ内のGemfileに、追加したい gem を追記する。今回は gem 'spina' を追加

$ vim Gemfile
gem 'spina'

3)インストール

$ bundle install

で、spina が入りました。 あとは、spina のインストールコマンドあるらしいので、

$ rails g spina:install

を叩くと、サイト名とか色々聞かれました。

What would you like to name your website? [MySite] spina
What theme do you want to use? (default/demo) [default] default
Please enter an email address for your first user: [admin@domain.com] admin@example.com
Create a temporary password: [password] ********

適当に答えると、

    Your Spina site has been succesfully installed!

    Restart your server and visit http://localhost:3000 in your browser!
    The admin backend is located at http://localhost:3000/admin.

    Site name      :  spina
    Active theme   :  default
    User email     :  admin@example.com
    User password  :  ********

(パスワードの所にはパスワード平文が入ってました)

と言われます。 DBもまだ作ってないのに……ほんとか?と思いつつ、apache の バーチャルホストに追記して、apache を再起動して、hosts に書いて、アクセスしてみる。

マジっすか……Σ(゚Д゚)

出来てた。すげー。

ちなみに、spina インストール時に指定したメールアドレスとパスワードでログインも出来た。

すげー(・∀・)

ちなみにフロント側もありますが、こっちは至ってシンプル。

まあ、どうせ作り込まれてても全部書き換えきゃですからね、むしろこんくらいのが助かります。

というわけで、他所様のコード見られるので、のんびり眺めて見ることにします。

GitHub アカウント持ってる人は、Fork してからのがいいかも?ですね。


追記

gem を プロジェクトの vendor 下に入れることも出来る。というか、こっちのがいいでしょうね……。

binthec.hatenablog.com