Module: Opal::Connect::ConnectPlugins

Defined in:
lib/opal/connect.rb,
lib/opal/connect/rspec.rb,
lib/opal/connect/plugins/dom.rb,
lib/opal/connect/plugins/form.rb,
lib/opal/connect/plugins/html.rb,
lib/opal/connect/plugins/pjax.rb,
lib/opal/connect/plugins/modal.rb,
lib/opal/connect/plugins/rspec.rb,
lib/opal/connect/plugins/scope.rb,
lib/opal/connect/plugins/events.rb,
lib/opal/connect/plugins/server.rb,
lib/opal/connect/plugins/abilities.rb,
lib/opal/connect/plugins/current_user.rb

Defined Under Namespace

Modules: Abilities, Base, ConnectRSpec, CurrentUser, Dom, Events, Form, HTML, Modal, Pjax, Scope, Server

Class Method Summary collapse

Class Method Details

.load_plugin(name) ⇒ Object



142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# File 'lib/opal/connect.rb', line 142

def self.load_plugin(name)
  unless plugin = @plugins[name]
    unless RUBY_ENGINE == 'opal'
      plugins_path = Connect.options[:plugins_path]

      if plugins_path && File.exists?("#{plugins_path}/#{name}.rb")
        require "#{plugins_path}/#{name}"
      else
        require "opal/connect/plugins/#{name}"
      end

      raise ConnectError, "Plugin #{name} did not register itself correctly in Opal::Connect::ConnectPlugins" unless plugin = @plugins[name]
    end
  end

  plugin
end

.pluginsObject



138
139
140
# File 'lib/opal/connect.rb', line 138

def self.plugins
  @plugins
end

.register_plugin(name, mod) ⇒ Object

Register the given plugin with Opal::Connect, so that it can be loaded using #plugin with a symbol. Should be used by plugin files. Example:

Opal::Connect::ConnectPlugins.register_plugin(:plugin_name, PluginModule)


164
165
166
# File 'lib/opal/connect.rb', line 164

def self.register_plugin(name, mod)
  @plugins[name] = mod
end