Class: L43Rmap::Runtime

Inherits:
Object
  • Object
show all
Defined in:
lib/l43_rmap/runtime.rb,
lib/l43_rmap/runtime/line_time.rb

Defined Under Namespace

Classes: LineTime

Constant Summary collapse

DefaultDecRandomMax =
10_000

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#chunksObject (readonly)

attr_reader :chunks, :current, :input_stream, :output_stream, :rand, :randomize, :terminated, :time



9
10
11
# File 'lib/l43_rmap/runtime.rb', line 9

def chunks
  @chunks
end

#currentObject (readonly)

attr_reader :chunks, :current, :input_stream, :output_stream, :rand, :randomize, :terminated, :time



9
10
11
# File 'lib/l43_rmap/runtime.rb', line 9

def current
  @current
end

#input_streamObject (readonly)

attr_reader :chunks, :current, :input_stream, :output_stream, :rand, :randomize, :terminated, :time



9
10
11
# File 'lib/l43_rmap/runtime.rb', line 9

def input_stream
  @input_stream
end

#output_streamObject (readonly)

attr_reader :chunks, :current, :input_stream, :output_stream, :rand, :randomize, :terminated, :time



9
10
11
# File 'lib/l43_rmap/runtime.rb', line 9

def output_stream
  @output_stream
end

#randomizeObject (readonly)

attr_reader :chunks, :current, :input_stream, :output_stream, :rand, :randomize, :terminated, :time



9
10
11
# File 'lib/l43_rmap/runtime.rb', line 9

def randomize
  @randomize
end

#terminatedObject (readonly)

attr_reader :chunks, :current, :input_stream, :output_stream, :rand, :randomize, :terminated, :time



9
10
11
# File 'lib/l43_rmap/runtime.rb', line 9

def terminated
  @terminated
end

#timeObject (readonly)

attr_reader :chunks, :current, :input_stream, :output_stream, :rand, :randomize, :terminated, :time



9
10
11
# File 'lib/l43_rmap/runtime.rb', line 9

def time
  @time
end

Instance Method Details

#imageObject



28
# File 'lib/l43_rmap/runtime.rb', line 28

def image = chunks.map(&:image).join("\n")

#random_hexObject



24
# File 'lib/l43_rmap/runtime.rb', line 24

def random_hex =  @__randomhex__ ||= SecureRandom.hex

#random_rdObject



26
# File 'lib/l43_rmap/runtime.rb', line 26

def random_rd =  @__randomrd__ ||= (format "%04d", SecureRandom.random_number(DefaultDecRandomMax))

#run(input, output, randomize: false) ⇒ Object



13
14
15
16
17
18
19
20
21
22
# File 'lib/l43_rmap/runtime.rb', line 13

def run(input, output, randomize: false)
  @output_stream = make_output_stream(output)
  @input_stream = make_input_stream(input)
  @time = Time.now
  @randomize = randomize

  execute!
rescue EOFError 
  maybe_output_buffer
end

#terminate!Object



30
# File 'lib/l43_rmap/runtime.rb', line 30

def terminate! = @terminated = true

#timestamp(base, mult: 1_000, now: nil) ⇒ Object



32
33
34
35
36
# File 'lib/l43_rmap/runtime.rb', line 32

def timestamp(base, mult: 1_000, now: nil)
  # p(time2: time.to_f)
  now ||= time
  (now.to_f * mult).to_i.to_s(base)
end