Class: KSConnect::API

Inherits:
Object
  • Object
show all
Defined in:
lib/ksconnect/api.rb,
lib/ksconnect/api/plugin.rb,
lib/ksconnect/api/plugin/data.rb,
lib/ksconnect/api/plugin/config.rb,
lib/ksconnect/api/plugin/domain.rb

Defined Under Namespace

Classes: Plugin

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts) ⇒ API

Returns a new instance of API.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/ksconnect/api.rb', line 6

def initialize(opts)
  enabled_plugins = *opts[:enabled_plugins] || []

  # init the plugins that will be used
  @plugins = {}

  # always init the core plugin
  enabled_plugins.delete(:core)
  @plugins[:core] = KSConnect::API::Plugin.new('core', enabled_plugins.empty?)

  # set the main plugin
  unless enabled_plugins.empty?
    main_plugin_name = enabled_plugins.shift
    @plugin = @plugins[main_plugin_name] = KSConnect::API::Plugin.new(main_plugin_name.to_s, true)
  end

  # init the other plugins
  enabled_plugins.each do |plugin_name|
    @plugins[plugin_name] = KSConnect::API::Plugin.new(plugin_name.to_s)
  end

  if opts[:use_helpers]
    extend KSConnect::Helpers
  end
end

Instance Attribute Details

#pluginObject (readonly)

the current / default plugin



4
5
6
# File 'lib/ksconnect/api.rb', line 4

def plugin
  @plugin
end

#pluginsObject (readonly)

Returns the value of attribute plugins.



3
4
5
# File 'lib/ksconnect/api.rb', line 3

def plugins
  @plugins
end

Instance Method Details

#all_domainsObject



36
37
38
# File 'lib/ksconnect/api.rb', line 36

def all_domains
  @plugins[:core].domains
end

#domainsObject



32
33
34
# File 'lib/ksconnect/api.rb', line 32

def domains
  @plugin.domains
end