今日は RubyMotionTokyo meetup#2 に行ってきました。
あまりやることを決めてなかったのでエディタ周りを調べた後は、ProMotionを試したりソースを読むことに。
便利そうだなと思ったんだけどmotion create
するたびに毎回Gemfile作って、app_delegate.rbをProMotion用に修正というのはちょっと面倒。
そこで @watson1978 さんにRailsのApplication Templateのような仕組みは無いか聞いてみたところ、
RubyMotionは標準のios,osxのテンプレート以外にも、ユーザーが定義したテンプレートも利用可能とのこと。
試しにテンプレートを作ってみることにした。
/Library/RubyMotion/lib/motion/project/template.rb を見るとユーザーテンプレートの置き場は ~/Library/RubyMotion/template になっているのでこれを作る。
とりあえず既存のios用テンプレートをコピーしてこのテンプレートが呼べるかを確認。
mkdir -p ~/Library/RubyMotion/template/
cd ~/Library/RubyMotion/template/
cp -r /Library/RubyMotion/lib/motion/project/template/ios user_template
motion create sample --template=user_template
sampleにテンプレートにiosを使ったときと同じファイルが出来ていることを確認。
次にProMotionを導入してみる。
と言っても、やるべきはテンプレートのフォルダのfilesにちょっと変更をするだけ。
Gemfileを作って Rakefile、app_delegate.rbにも手を加える。
- Gemfile
source 'https://rubygems.org'
gem 'rake'
gem 'ProMotion'
- Rakefile
# -*- coding: utf-8 -*-
$:.unshift("/Library/RubyMotion/lib")
require 'motion/project/template/ios'
require 'bundler'
Bundler.require
Motion::Project::App.setup do |app|
# Use `rake config' to see complete project settings.
app.name = '<%= name %>'
end
- app_delegate.rb
class AppDelegate < PM::Delegate
def on_load
end
end
bundle installをして再びmotion create。
bundle install
motion create sample --template=user_template
ProMotionが使えるようになってる!
使うライブラリだったりがまとまってきたら、あらかじめテンプレート化することで開発が捗りそうですね。