Module: Opal::Connect

Extended by:
ConnectPlugins::Base::ClassMethods
Included in:
App::Components::Example
Defined in:
lib/opal/connect.rb,
lib/opal/connect/version.rb,
lib/opal/connect/rake_task.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/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: ConnectPlugins Classes: ConnectCache, ConnectError, Form, RakeTask

Constant Summary collapse

CLIENT_OPTIONS =
%w'url plugins'
VERSION =
"0.0.18"

Class Attribute Summary collapse

Class Method Summary collapse

Methods included from ConnectPlugins::Base::ClassMethods

files, javascript, plugin, plugin_paths, render, setup, write_entry_file

Class Attribute Details

.pidsObject

Returns the value of attribute pids.



16
17
18
# File 'lib/opal/connect.rb', line 16

def pids
  @pids
end

Class Method Details

.client_optionsObject



29
30
31
# File 'lib/opal/connect.rb', line 29

def client_options
  Connect.options.hash.select { |key, _| CLIENT_OPTIONS.include? key.to_s }
end

.included(klass) ⇒ Object



45
46
47
48
49
50
51
52
53
54
# File 'lib/opal/connect.rb', line 45

def included(klass)
  if RUBY_ENGINE != 'opal'
    file = caller[0][/[^:]*/].sub(Dir.pwd, '')[1..-1]
    files << file unless files.include?(file)
  end

  klass.extend ConnectPlugins::Base::ClassMethods

  Connect.options[:plugins].each { |plug| klass.plugin plug, :included }
end

.optionsObject



18
19
20
21
22
23
24
25
26
27
# File 'lib/opal/connect.rb', line 18

def options
  @_options ||= Connect::ConnectCache.new(
    livereload: false,
    url: '/connect',
    plugins: [],
    javascript: [],
    requires: [],
    setup_blocks: []
  )
end

.setup(&block) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
# File 'lib/opal/connect.rb', line 33

def setup(&block)
  if block_given?
    instance_exec(&block)
    # make sure we include the default plugins with connect
    options[:plugins].each { |plug| Connect.plugin plug }
  end

  unless block_given?
    options[:setup_blocks].each { |b| b[:klass].instance_exec(&b[:block]) }
  end
end