Class: JsonRander::JNumBuilder
- Inherits:
-
Object
- Object
- JsonRander::JNumBuilder
- Includes:
- Singleton
- Defined in:
- lib/json_rander/json_num_builder.rb
Overview
Json Num Builder: singleton
Instance Method Summary collapse
-
#get_num ⇒ Object
get a valid json numer.
-
#initialize ⇒ JNumBuilder
constructor
A new instance of JNumBuilder.
Constructor Details
#initialize ⇒ JNumBuilder
Returns a new instance of JNumBuilder.
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/json_rander/json_num_builder.rb', line 112 def initialize @nodes = { n0: JNumHead.new(:n1, :n2, :n3), n1: JNumMinus.new(:n2, :n3), n2: JNumZero.new(:n5, :n7, :n8, :n12), n3: JNumPositiveDigit.new(:n4, :n5, :n7, :n8, :n12), n4: JNumDigit.new(:n3, :n4, :n5, :n7, :n8, :n12), n5: JNumDot.new(:n6), n6: JNumDigit.new(:n6, :n7, :n8, :n12), n7: JNumBigE.new(:n9, :n10, :n11), n8: JNumSmallE.new(:n9, :n10, :n11), n9: JNumPlus.new(:n11), n10: JNumMinus.new(:n11), n11: JNumDigit.new(:n11, :n12), n12: JNumTail.new } end |
Instance Method Details
#get_num ⇒ Object
get a valid json numer
130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
# File 'lib/json_rander/json_num_builder.rb', line 130 def get_num num_string = "" # begin walking from :n0 current_node = @nodes[:n0] # end walking when reaches tail until current_node.is_tail? do num_string << current_node.to_s current_node = @nodes[current_node.random_next] end return num_string end |