class Plugin::Settings::SettingDSL

プラグインに、簡単に設定ファイルを定義する機能を提供する。 以下の例は、このクラスを利用してプラグインの設定画面を定義する例。

Plugin.create(:test) do
  settings("設定") do
    boolean "チェックする", :test_check
  end
end

settingsの中身は、 Plugin::Settings のインスタンスの中で実行される。 つまり、 Plugin::Settings のインスタンスメソッドは、 _settings{}_ の中で実行できるメソッドと同じです。 例ではbooleanメソッドを呼び出して、真偽値を入力させるウィジェットを配置させるように定義している (チェックボックス)。明確にウィジェットを設定できるわけではなくて、値の意味を定義するだけなので、 前後関係などに影響されてウィジェットが変わる場合があるかも。

Public Class Methods

new(plugin) click to toggle source
Calls superclass method
# File core/plugin/settings/setting_dsl.rb, line 32
def initialize(plugin)
  type_strict plugin => Plugin
  super()
  @plugin = plugin
  if block_given?
    instance_eval(&Proc.new)
  end
end

Public Instance Methods

[](key) click to toggle source
# File core/plugin/settings/setting_dsl.rb, line 41
def [](key)
  Plugin::Settings::Listener[key].get
end
[]=(key, value) click to toggle source
# File core/plugin/settings/setting_dsl.rb, line 45
def []=(key, value)
  Plugin::Settings::Listener[key].set(value)
end
create_inner_setting() click to toggle source
# File core/plugin/settings/setting_dsl.rb, line 28
def create_inner_setting
  self.class.new(@plugin)
end
method_missing(*args, &block) click to toggle source
# File core/plugin/settings/setting_dsl.rb, line 53
def method_missing(*args, &block)
  @plugin.__send__(*args, &block)
end
method_missing_at_select_dsl(*args, &block) click to toggle source
# File core/plugin/settings/setting_dsl.rb, line 49
def method_missing_at_select_dsl(*args, &block)
  @plugin.__send__(*args, &block)
end