Module: Snapi
- Defined in:
- lib/snapi.rb,
lib/snapi/errors.rb,
lib/snapi/version.rb,
lib/snapi/argument.rb,
lib/snapi/function.rb,
lib/snapi/validator.rb,
lib/snapi/capability.rb,
lib/snapi/sinatra_extension.rb,
lib/snapi/sinatra_extension_helper.rb
Defined Under Namespace
Modules: Capability, SinatraExtension, SinatraExtensionHelper, Validator
Classes: Argument, Function
Constant Summary
collapse
- InvalidArgumentAttributeError =
_ _ _
| ___| ___ \ ___ \ _ | ___ \___ / |
| |__ | |_/ / |_/ / | | | |_/ / / /| |
| __|| /| /| | | | / / / | |
| |___| |\ \| |\ \\ \_/ / |\ \./ /__|_|
\____/\_| \_\_| \_|\___/\_| \_\_____(_)
Class.new(StandardError)
- InvalidBooleanError =
Class.new(StandardError)
- InvalidCapabilityError =
Class.new(StandardError)
- InvalidFormatError =
Class.new(StandardError)
- InvalidFunctionCallError =
Class.new(StandardError)
- InvalidFunctionNameError =
Class.new(StandardError)
- InvalidReturnTypeError =
Class.new(StandardError)
- InvalidStringError =
Class.new(StandardError)
- InvalidTypeError =
Class.new(StandardError)
- InvalidValuesError =
Class.new(StandardError)
- LibraryClassMissingFunctionError =
Class.new(StandardError)
- MissingValuesError =
Class.new(StandardError)
- PendingBranchError =
Class.new(StandardError)
- VERSION =
"0.0.7"
- @@capabilities =
{}
Class Method Summary
collapse
Class Method Details
.[](key) ⇒ Object
18
19
20
|
# File 'lib/snapi.rb', line 18
def self.[](key)
@@capabilities[key]
end
|
.capabilities ⇒ Object
14
15
16
|
# File 'lib/snapi.rb', line 14
def self.capabilities
@@capabilities
end
|
.capability_hash ⇒ Object
30
31
32
33
34
|
# File 'lib/snapi.rb', line 30
def self.capability_hash
valid_capabilities.each_with_object({}) do |cap,coll|
coll[cap] = Snapi[cap].to_hash
end
end
|
.has_capability?(capability) ⇒ Boolean
36
37
38
|
# File 'lib/snapi.rb', line 36
def self.has_capability?(capability)
valid_capabilities.include?(capability)
end
|
.register_capability(klass) ⇒ Object
22
23
24
|
# File 'lib/snapi.rb', line 22
def self.register_capability(klass)
@@capabilities[klass.namespace] = klass
end
|
.supports?(capability, function, params) ⇒ Boolean
40
41
42
43
44
45
46
47
|
# File 'lib/snapi.rb', line 40
def self.supports?(capability,function,params)
if Snapi.has_capability?(capability) &&
Snapi[capability].valid_function_call?(function, params)
true
else
false
end
end
|
.valid_capabilities ⇒ Object
26
27
28
|
# File 'lib/snapi.rb', line 26
def self.valid_capabilities
@@capabilities.keys
end
|