Module: Farscape
- Extended by:
- Plugins
- Defined in:
- lib/farscape/agent.rb,
lib/farscape/cache.rb,
lib/farscape/errors.rb,
lib/farscape/logger.rb,
lib/plugins/plugins.rb,
lib/farscape/clients.rb,
lib/farscape/plugins.rb,
lib/farscape/version.rb,
lib/farscape/discovery.rb,
lib/farscape/base_agent.rb,
lib/farscape/transition.rb,
lib/farscape/representor.rb,
lib/farscape/client/base_client.rb,
lib/farscape/client/http_client.rb,
lib/farscape/platform_resources.rb
Defined Under Namespace
Modules: BaseAgent, Exceptions, Plugins
Classes: Agent, Discovery, PlatformResources, RepresentorAgent, SafeRepresentorAgent, TransitionAgent
Constant Summary
collapse
- VERSION =
'1.3.3'.freeze
Instance Attribute Summary collapse
Class Method Summary
collapse
Methods included from Plugins
collect_values, construct_stack, disable, enable, extensions, find_attr_intersect, includes_middleware?, normalize_selector, order_middleware, set_plugin_states, why_disabled
Instance Attribute Details
#disabling_rules ⇒ Object
Returns the value of attribute disabling_rules.
8
9
10
|
# File 'lib/farscape/plugins.rb', line 8
def disabling_rules
@disabling_rules
end
|
#plugins ⇒ Object
Returns the value of attribute plugins.
7
8
9
|
# File 'lib/farscape/plugins.rb', line 7
def plugins
@plugins
end
|
Class Method Details
.cache ⇒ Object
5
6
7
|
# File 'lib/farscape/cache.rb', line 5
def self.cache
@cache ||= ActiveSupport::Cache::MemoryStore.new
end
|
.cache=(new_cache) ⇒ Object
9
10
11
|
# File 'lib/farscape/cache.rb', line 9
def self.cache=(new_cache)
@cache = new_cache
end
|
.clear ⇒ Object
Removes all plugins and disablings of plugins
66
67
68
69
70
|
# File 'lib/farscape/plugins.rb', line 66
def self.clear
@plugins = {}
@disabling_rules = []
@middleware_stack = nil
end
|
.clients ⇒ Object
5
6
7
|
# File 'lib/farscape/clients.rb', line 5
def self.clients
@clients ||= {http: Farscape::Agent::HTTPClient}
end
|
.disable!(name_or_type) ⇒ Object
Prevents a plugin from being registered, and disables it if it’s already there
54
55
56
57
|
# File 'lib/farscape/plugins.rb', line 54
def self.disable!(name_or_type)
@middleware_stack = nil
@disabling_rules, @plugins = Plugins.disable(name_or_type, @disabling_rules, @plugins)
end
|
.disabled?(options) ⇒ Boolean
45
46
47
|
# File 'lib/farscape/plugins.rb', line 45
def self.disabled?(options)
Plugins.disabled?(@plugins, @disabling_rules, options)
end
|
.disabled_plugins ⇒ Object
41
42
43
|
# File 'lib/farscape/plugins.rb', line 41
def self.disabled_plugins
Plugins.disabled_plugins(@plugins)
end
|
.disabling_rules ⇒ Object
18
19
20
|
# File 'lib/farscape/plugins.rb', line 18
def self.disabling_rules
@disabling_rules
end
|
.enable!(name_or_type) ⇒ Object
Allows a plugin to be registered, and enables it if it’s already there
60
61
62
63
|
# File 'lib/farscape/plugins.rb', line 60
def self.enable!(name_or_type)
@middleware_stack = nil
@disabling_rules, @plugins = Plugins.enable(name_or_type, @disabling_rules, @plugins)
end
|
.enabled?(options) ⇒ Boolean
49
50
51
|
# File 'lib/farscape/plugins.rb', line 49
def self.enabled?(options)
Plugins.enabled?(@plugins, @disabling_rules, options)
end
|
.enabled_plugins ⇒ Object
37
38
39
|
# File 'lib/farscape/plugins.rb', line 37
def self.enabled_plugins
Plugins.enabled_plugins(@plugins)
end
|
.logger ⇒ Object
5
6
7
|
# File 'lib/farscape/logger.rb', line 5
def self.logger
@logger ||= Logger.new(STDOUT)
end
|
.logger=(new_logger) ⇒ Object
9
10
11
|
# File 'lib/farscape/logger.rb', line 9
def self.logger=(new_logger)
@logger = new_logger
end
|
.middleware_stack ⇒ Object
Returns the Poset representing middleware dependency
33
34
35
|
# File 'lib/farscape/plugins.rb', line 33
def self.middleware_stack
@middleware_stack ||= Plugins.construct_stack(enabled_plugins)
end
|
.plugins ⇒ Object
14
15
16
|
# File 'lib/farscape/plugins.rb', line 14
def self.plugins
@plugins
end
|
.register_plugin(options) ⇒ Object
22
23
24
25
26
|
# File 'lib/farscape/plugins.rb', line 22
def self.register_plugin(options)
@middleware_stack = nil
options[:enabled] = self.enabled?(options)
@plugins[options[:name]] = options
end
|
.register_plugins(a_list) ⇒ Object
28
29
30
|
# File 'lib/farscape/plugins.rb', line 28
def self.register_plugins(a_list)
a_list.each { |options| register_plugin(options) }
end
|