Class: Languages::FunctionAbstract
- Defined in:
- lib/kuniri/language/container_data/structured_and_oo/function_abstract.rb
Overview
Abstraction for handling function data
Direct Known Subclasses
Instance Attribute Summary collapse
-
#managerCondAndLoop ⇒ Object
readonly
Returns the value of attribute managerCondAndLoop.
-
#parameters ⇒ Object
readonly
Returns the value of attribute parameters.
-
#type ⇒ Object
Returns the value of attribute type.
Attributes inherited from BasicData
Instance Method Summary collapse
-
#<<(fromTo) ⇒ Object
Copy elements from an object of FunctionAbstract to specific element.
-
#add_conditional(pConditional, pBehaviour = Languages::KEEP_LEVEL) ⇒ Object
Add conditional element inside function.
-
#add_parameters(pValue) ⇒ Object
Add parameters inside function.
-
#add_repetition(pRepetition, pBehaviour = Languages::KEEP_LEVEL) ⇒ Object
Add repetition element inside function.
-
#initialize(pFunctionName) ⇒ FunctionAbstract
constructor
A new instance of FunctionAbstract.
Constructor Details
#initialize(pFunctionName) ⇒ FunctionAbstract
Returns a new instance of FunctionAbstract.
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/kuniri/language/container_data/structured_and_oo/function_abstract.rb', line 22 def initialize(pFunctionName) return nil if pFunctionName.nil? or !pFunctionName.is_a? String @name = pFunctionName @parameters = [] @visibility = "public" @comments = "" @type = "unknown" @managerCondAndLoop = Languages::ManagerBasicStructureData.new end |
Instance Attribute Details
#managerCondAndLoop ⇒ Object (readonly)
Returns the value of attribute managerCondAndLoop.
16 17 18 |
# File 'lib/kuniri/language/container_data/structured_and_oo/function_abstract.rb', line 16 def managerCondAndLoop @managerCondAndLoop end |
#parameters ⇒ Object (readonly)
Returns the value of attribute parameters.
14 15 16 |
# File 'lib/kuniri/language/container_data/structured_and_oo/function_abstract.rb', line 14 def parameters @parameters end |
#type ⇒ Object
Returns the value of attribute type.
15 16 17 |
# File 'lib/kuniri/language/container_data/structured_and_oo/function_abstract.rb', line 15 def type @type end |
Instance Method Details
#<<(fromTo) ⇒ Object
Copy elements from an object of FunctionAbstract to specific element
64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/kuniri/language/container_data/structured_and_oo/function_abstract.rb', line 64 def << (fromTo) unless fromTo.is_a?(Languages::FunctionAbstract) return nil end @name = fromTo.name @parameters = fromTo.parameters @managerCondAndLoop = fromTo.managerCondAndLoop @visibility = fromTo.visibility @comments = fromTo.comments @type = @type end |
#add_conditional(pConditional, pBehaviour = Languages::KEEP_LEVEL) ⇒ Object
Add conditional element inside function.
49 50 51 52 |
# File 'lib/kuniri/language/container_data/structured_and_oo/function_abstract.rb', line 49 def add_conditional(pConditional, pBehaviour = Languages::KEEP_LEVEL) return nil unless (pConditional.instance_of?Languages::ConditionalData) add_with_manager(pConditional, "conditional", pBehaviour) end |
#add_parameters(pValue) ⇒ Object
Add parameters inside function.
37 38 39 40 41 42 43 |
# File 'lib/kuniri/language/container_data/structured_and_oo/function_abstract.rb', line 37 def add_parameters(pValue) unless ((pValue.is_a? Hash and pValue.length == 1) or pValue.is_a? String) return nil end @parameters.push(pValue) end |
#add_repetition(pRepetition, pBehaviour = Languages::KEEP_LEVEL) ⇒ Object
Add repetition element inside function.
57 58 59 60 |
# File 'lib/kuniri/language/container_data/structured_and_oo/function_abstract.rb', line 57 def add_repetition(pRepetition, pBehaviour = Languages::KEEP_LEVEL) return nil unless (pRepetition.instance_of?Languages::RepetitionData) add_with_manager(pRepetition, "repetition", pBehaviour) end |