Class: Code::Node::FunctionParameter
- Inherits:
-
Code::Node
- Object
- Code::Node
- Code::Node::FunctionParameter
- Defined in:
- lib/code/node/function_parameter.rb
Instance Attribute Summary collapse
-
#default ⇒ Object
readonly
Returns the value of attribute default.
Instance Method Summary collapse
-
#initialize(parsed) ⇒ FunctionParameter
constructor
A new instance of FunctionParameter.
- #keyword? ⇒ Boolean
- #keyword_splat? ⇒ Boolean
- #name ⇒ Object
- #regular? ⇒ Boolean
- #regular_splat? ⇒ Boolean
- #to_code ⇒ Object
- #to_h ⇒ Object
Methods inherited from Code::Node
Constructor Details
#initialize(parsed) ⇒ FunctionParameter
Returns a new instance of FunctionParameter.
8 9 10 11 12 13 14 15 16 |
# File 'lib/code/node/function_parameter.rb', line 8 def initialize(parsed) return if parsed.blank? @name = parsed.delete(:name).presence @keyword = parsed.delete(:keyword).present? @regular_splat = parsed.delete(:regular_splat).present? @keyword_splat = parsed.delete(:keyword_splat).present? @default = Code.new(parsed.delete(:default)) if parsed.key?(:default) end |
Instance Attribute Details
#default ⇒ Object (readonly)
Returns the value of attribute default.
6 7 8 |
# File 'lib/code/node/function_parameter.rb', line 6 def default @default end |
Instance Method Details
#keyword? ⇒ Boolean
26 27 28 |
# File 'lib/code/node/function_parameter.rb', line 26 def keyword? !!@keyword end |
#keyword_splat? ⇒ Boolean
34 35 36 |
# File 'lib/code/node/function_parameter.rb', line 34 def keyword_splat? !!@keyword_splat end |
#name ⇒ Object
18 19 20 |
# File 'lib/code/node/function_parameter.rb', line 18 def name Object::String.new(@name) end |
#regular? ⇒ Boolean
22 23 24 |
# File 'lib/code/node/function_parameter.rb', line 22 def regular? !@keyword end |
#regular_splat? ⇒ Boolean
30 31 32 |
# File 'lib/code/node/function_parameter.rb', line 30 def regular_splat? !!@regular_splat end |
#to_code ⇒ Object
49 50 51 |
# File 'lib/code/node/function_parameter.rb', line 49 def to_code to_h.to_code end |
#to_h ⇒ Object
38 39 40 41 42 43 44 45 46 47 |
# File 'lib/code/node/function_parameter.rb', line 38 def to_h { name: name, regular?: regular?, keyword?: keyword?, regular_splat?: regular_splat?, keyword_splat?: keyword_splat?, default: default } end |