class ROM::Lint::EnumerableDataset
Ensures that a [ROM::EnumerableDataset] extension correctly yields arrays and tuples
@api public
Attributes
data[R]
The expected data
@api public
dataset[R]
The linted subject
@api public
Public Class Methods
new(dataset, data)
click to toggle source
Create a linter for EnumerableDataset
@param [EnumerableDataset] dataset the linted subject @param [Object] data the expected data
@api public
# File lib/rom/lint/enumerable_dataset.rb, line 28 def initialize(dataset, data) @dataset = dataset @data = data end
Public Instance Methods
lint_each()
click to toggle source
Lint: Ensure that dataset
yield tuples via each
@api public
# File lib/rom/lint/enumerable_dataset.rb, line 36 def lint_each result = [] dataset.each do |tuple| result << tuple end return if result == data complain "#{dataset.class}#each must yield tuples" end
lint_to_a()
click to toggle source
Lint: Ensure that dataset
's array equals to expected data
@api public
# File lib/rom/lint/enumerable_dataset.rb, line 49 def lint_to_a return if dataset.to_a == data complain "#{dataset.class}#to_a must cast dataset to an array" end