Class: IB::OCInterface
- Inherits:
-
Object
- Object
- IB::OCInterface
- Defined in:
- lib/ib/oc_interface.rb
Defined Under Namespace
Classes: Action, Outlet, OutletCollection
Instance Attribute Summary collapse
-
#actions ⇒ Object
readonly
Returns the value of attribute actions.
-
#outlet_collections ⇒ Object
readonly
Returns the value of attribute outlet_collections.
-
#outlets ⇒ Object
readonly
Returns the value of attribute outlets.
-
#path ⇒ Object
readonly
Returns the value of attribute path.
-
#sub_class ⇒ Object
readonly
Returns the value of attribute sub_class.
-
#super_class ⇒ Object
readonly
Returns the value of attribute super_class.
Instance Method Summary collapse
- #[](key) ⇒ Object
- #has_class?(klass) ⇒ Boolean
- #has_sub_class?(klass) ⇒ Boolean
-
#initialize(params) ⇒ OCInterface
constructor
A new instance of OCInterface.
- #sub_class_dependencies ⇒ Object
Constructor Details
#initialize(params) ⇒ OCInterface
Returns a new instance of OCInterface.
20 21 22 23 24 25 26 27 28 |
# File 'lib/ib/oc_interface.rb', line 20 def initialize(params) @params = params @sub_class = params[:class][0][0] @super_class = params[:class][0][1] @outlets = create_instances(Outlet, params[:outlets]) @outlet_collections = create_instances(OutletCollection, params[:outlet_collections]) @actions = create_instances(Action, params[:actions]) @path = params[:path] end |
Instance Attribute Details
#actions ⇒ Object (readonly)
Returns the value of attribute actions.
3 4 5 |
# File 'lib/ib/oc_interface.rb', line 3 def actions @actions end |
#outlet_collections ⇒ Object (readonly)
Returns the value of attribute outlet_collections.
3 4 5 |
# File 'lib/ib/oc_interface.rb', line 3 def outlet_collections @outlet_collections end |
#outlets ⇒ Object (readonly)
Returns the value of attribute outlets.
3 4 5 |
# File 'lib/ib/oc_interface.rb', line 3 def outlets @outlets end |
#path ⇒ Object (readonly)
Returns the value of attribute path.
3 4 5 |
# File 'lib/ib/oc_interface.rb', line 3 def path @path end |
#sub_class ⇒ Object (readonly)
Returns the value of attribute sub_class.
3 4 5 |
# File 'lib/ib/oc_interface.rb', line 3 def sub_class @sub_class end |
#super_class ⇒ Object (readonly)
Returns the value of attribute super_class.
3 4 5 |
# File 'lib/ib/oc_interface.rb', line 3 def super_class @super_class end |
Instance Method Details
#[](key) ⇒ Object
30 31 32 |
# File 'lib/ib/oc_interface.rb', line 30 def [](key) @params[key] end |
#has_class?(klass) ⇒ Boolean
51 52 53 |
# File 'lib/ib/oc_interface.rb', line 51 def has_class?(klass) [sub_class, *sub_class_dependencies].any? { |k| k == klass } end |
#has_sub_class?(klass) ⇒ Boolean
55 56 57 |
# File 'lib/ib/oc_interface.rb', line 55 def has_sub_class?(klass) sub_class == klass end |
#sub_class_dependencies ⇒ Object
43 44 45 46 47 48 49 |
# File 'lib/ib/oc_interface.rb', line 43 def sub_class_dependencies [ @super_class, extract_types(@outlets), extract_types(@outlet_collections) ].flatten.uniq.compact.select { |klass| klass != 'id' } end |