このエントリーをはてなブックマークに追加

Rails GAS

Railsで初期データを作る際にいちいち自分でseedデータを書くのも面倒だし、その他職種でもいじれるGoogleスプレッドシートで生成できたら便利だなーと思い作りました。 seed管理にseed-fuを使っている人向けです。

こんな感じでseedファイルを作成できます。
デモ

レポジトリはこちら。
seedmaker  

サンプルのスプレッドシートはこちら。
seedmaker_sample

スクリプトの設定方法

seed作成用のスプレッドシートにスクリプトを設定し、seed用ファイルをダウンロードできるようにします。

スプレッドシートの準備

まず、適当にseedデータ用のスプレッドシートを作成します。 ルールとして、下記が設定されているのでご注意ください。

  • A列や1行目を空行にしない
  • 1行目がカラム名
  • タブ名がファイル名になる(タブ名からseedのクラス名を作成)

サンプルとして下記のようなシートを作成しました。
サンプルスプレッドシート

スプレッドシートにスクリプトを設定する

次に、さきほど作成したスプレッドシートにスクリプトを設定していきます。
メニューのツール > スクリプトエディタでスクリプトエディタを開きます。

スクリプトエディタの表示方法

 
すると、下記のようなページが表示されるので、無題のプロジェクトをスプレッドシート名、コード.gsmain.gsに名前変更します。
スクリプトエディタ  

変更後はこんな感じです。

名称変更後

 
main.gsの編集部分に下記ファイルの内容を貼り付けます。

main.gs  

seedファイルダウンロードのためにダイアログが必要なため、ファイル > 新規作成 > HTMLファイルからdialog.htmlを作成します。

dialog.htmlの作成  

そして、下記ファイルの内容を編集部分に貼り付けます。

dialog.html  

スプレッドシートを再読み込みして、SeedMakerがメニューバーに表示されていれば設定完了です。
 

使い方

出力したいタブでSeedMaker > シートをseedに出力を押すとseedファイルが作成されます。

seedファイルボタン

 

初回のみ承認が必要になるので、「続行」を押してログインします。

続行ページ

 
このアプリは確認されていませんが表示されるので、詳細からプロジェクト名(安全でないページ)に移動を押してください。

承認ページ  

すると、下記のような画面が表示されるので許可を押してください。

許可ページ  

ブラウザのフッターで下記のような確認が出るので許可してあげると、ダウンロードが完了します。

フッター許可

サンプルだとjidori_tweet.rbが生成され、下記のような形になります。

JidoriTweet.seed(:id,
                  { id: 1,
                    user_id: 1,
                    url: "https://twitter.com/moe_five/status/1169593127474085888" },
                  { id: 2,
                    user_id: 1,
                    url: "https://twitter.com/moe_five/status/1165942405947805698" },
                  { id: 3,
                    user_id: 1,
                    url: "https://twitter.com/moe_five/status/1164843177037062147" },
                  { id: 4,
                    user_id: 2,
                    url: "https://twitter.com/shlpl/status/1183208595443220480" },
                  )

最後に

使ってみて気になることがあれば、レポジトリへイシューやプルリクください。 https://github.com/udayan28/seedmaker

参考

このエントリーをはてなブックマークに追加

© 2018, Udayan28