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
- #block? ⇒ Boolean
- #blocks? ⇒ Boolean
-
#initialize(parsed) ⇒ FunctionParameter
constructor
A new instance of FunctionParameter.
- #keyword? ⇒ Boolean
- #keyword_splat? ⇒ Boolean
- #name ⇒ Object
- #regular? ⇒ Boolean
- #regular_splat? ⇒ Boolean
- #spread? ⇒ 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 17 18 19 |
# 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? @spread = parsed.delete(:spread).present? @block = parsed.delete(:block).present? @blocks = parsed.delete(:blocks).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
#block? ⇒ Boolean
45 46 47 |
# File 'lib/code/node/function_parameter.rb', line 45 def block? !!@block end |
#blocks? ⇒ Boolean
49 50 51 |
# File 'lib/code/node/function_parameter.rb', line 49 def blocks? !!@blocks end |
#keyword? ⇒ Boolean
29 30 31 |
# File 'lib/code/node/function_parameter.rb', line 29 def keyword? !!@keyword end |
#keyword_splat? ⇒ Boolean
37 38 39 |
# File 'lib/code/node/function_parameter.rb', line 37 def keyword_splat? !!@keyword_splat end |
#name ⇒ Object
21 22 23 |
# File 'lib/code/node/function_parameter.rb', line 21 def name Object::String.new(@name) end |
#regular? ⇒ Boolean
25 26 27 |
# File 'lib/code/node/function_parameter.rb', line 25 def regular? !@keyword end |
#regular_splat? ⇒ Boolean
33 34 35 |
# File 'lib/code/node/function_parameter.rb', line 33 def regular_splat? !!@regular_splat end |
#spread? ⇒ Boolean
41 42 43 |
# File 'lib/code/node/function_parameter.rb', line 41 def spread? !!@spread end |
#to_code ⇒ Object
67 68 69 |
# File 'lib/code/node/function_parameter.rb', line 67 def to_code to_h.to_code end |
#to_h ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/code/node/function_parameter.rb', line 53 def to_h { name: name, regular?: regular?, keyword?: keyword?, regular_splat?: regular_splat?, keyword_splat?: keyword_splat?, spread?: spread?, block?: block?, blocks?: blocks?, default: default } end |