Class: KSConnect::API
- Inherits:
-
Object
- Object
- KSConnect::API
- 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
-
#plugin ⇒ Object
readonly
the current / default plugin.
-
#plugins ⇒ Object
readonly
Returns the value of attribute plugins.
Instance Method Summary collapse
- #all_domains ⇒ Object
- #domains ⇒ Object
-
#initialize(opts) ⇒ API
constructor
A new instance of API.
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
#plugin ⇒ Object (readonly)
the current / default plugin
4 5 6 |
# File 'lib/ksconnect/api.rb', line 4 def plugin @plugin end |
#plugins ⇒ Object (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_domains ⇒ Object
36 37 38 |
# File 'lib/ksconnect/api.rb', line 36 def all_domains @plugins[:core].domains end |
#domains ⇒ Object
32 33 34 |
# File 'lib/ksconnect/api.rb', line 32 def domains @plugin.domains end |