RubyMotionでpixateのcssをrealtime更新する

motion-pixate-observer というgemを使ってみました。


motion-pixate-observer

motion-pixate-observer という gem を作りました - Watson's Blog

使い方

ここはgithubのページそのままですが、6stepです。

gem i motion-pixate-observer
Rakefileに追加
require 'rubygems'
require 'motion-pixate-observer'
メインのViewControllerに1行追加

viewDidLoadでstartObservingと書くだけ。

MacRubyを入れる

ここが驚いたw
そうなのかMacRubyなのか。(後述)

./pixate_server css_file_path
rake

であとはcss修正すると、即反映されます。
これはすごい。


pixate_serverの中身

#!/usr/bin/ruby

lib_dir_path = File.join(File.dirname(File.expand_path(__FILE__)), "../lib")
system "/usr/local/bin/macruby #{lib_dir_path}/motion-pixate-server.rb #{ARGV[0]}"

とまぁ、いきなりmacrubyで実行していてびっっくりしました。


MacRubyのソースは初めて見たのですが、rubymotionっぽくて少し親近感が湧きます
(なんかおかしななこと言ってるけど、rubymotionとの出会いが先なので、そんな感覚)。
Dispatch::Sourceとか、すげー簡単そうにみえる。
cocoa frameworkを扱えるのはなんだかすごそう。


Bonjourって、NSNetServiceでサーバあげて
clientからNSNetServiceBrowserでクライアントでサーバを見つけれるらしい。
簡単そう。


あと、全然関係ないけど

module Motion; module Pixate; module Observer
  // something
end; end; end

は新鮮だった。