LoginSignup
0
0

More than 5 years have passed since last update.

この前の記事ではRubyとOpal両方で動くgemの作り方を書きましたが、ついでなので「Opal専用gemの作り方」についても書いておきます。

Opal専用gemといっても中身は普通のRubyGemsですが、慣習的に、Opal用のコードはlib/ではなくopal/以下に置くことが多いようです。

ファイル構成

opal-barというライブラリを作るとします。

  • opal-bar.gemspec
    • 普通に書く
  • opal/opal-bar.rb
    • Opalのコードを書く
    • Opal上でrequire 'opal-bar'とすると、このファイルが読み込まれる
  • lib/opal-bar.rb
    • Ruby用のコードを書く(後述)
    • Opal.append_path File.expand_path('../opal', File.dirname(__FILE__))

使い方

このopal-barを使うプロジェクトでは、まずGemfileにこのgemを指定します。

Gemfile
gem 'opal-bar'

次に、Opalコード内にrequire 'opal-bar'を書きます。
ただしこれだけだとOpalのロードパスにopal-bar.rbが見つからないため、エラーになります。ここで登場するのが前述のlib/opal-bar.rbです。

opal-barを使うプロジェクトのRuby部分(例えばconfig.ru)に
require 'opal-bar'
という1行を追加します。これによってopal-bar gemのlib/以下がOpalのロードパスに登録されるので、Opal内でrequire 'opal-bar'できるようになります。

余談

ではopal/opal-bar.rbにはどのようなコードを書けばいいのか…という話はまた別途書きます。気になる人はQiitaのopalタグをフォローしておいてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0