Class: StormForge::Dsl::TestCase::DataSource::RandomString

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Serializers::JSON
Defined in:
lib/stormforge/dsl/test_case/data_source/random_string.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, options) ⇒ RandomString

Returns a new instance of RandomString.



8
9
10
11
12
13
# File 'lib/stormforge/dsl/test_case/data_source/random_string.rb', line 8

def initialize(name, options)
  @name = name
  @sequence = 0

  @length = ensure_length(options.fetch(:length, 1))
end

Instance Attribute Details

#lengthObject (readonly)

Returns the value of attribute length.



6
7
8
# File 'lib/stormforge/dsl/test_case/data_source/random_string.rb', line 6

def length
  @length
end

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/stormforge/dsl/test_case/data_source/random_string.rb', line 6

def name
  @name
end

Instance Method Details

#countObject



25
26
27
# File 'lib/stormforge/dsl/test_case/data_source/random_string.rb', line 25

def count
  @sequence
end

#nextObject



15
16
17
18
19
20
21
22
23
# File 'lib/stormforge/dsl/test_case/data_source/random_string.rb', line 15

def next
  args = {
    t: "random_string",
    n: name,
    seq: (@sequence += 1)
  }

  StormForge::Dsl::TestCase::DataSource.build_marker("GENERATOR", args)
end

#serializable_hash(*args) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/stormforge/dsl/test_case/data_source/random_string.rb', line 29

def serializable_hash(*args)
  {
    name: name,
    type: "random_string",
    length: @length
  }
end