Module: SimpleCrud::RSpec::Helpers::Models

Included in:
SimpleCrud::RSpec::Helpers
Defined in:
lib/simple_crud/rspec/helpers/models.rb

Overview

Building the record under test and the params used to persist it.

Instance Method Summary collapse

Instance Method Details

#create_record(klass, attributes) ⇒ Object



25
26
27
# File 'lib/simple_crud/rspec/helpers/models.rb', line 25

def create_record(klass, attributes)
  instance_exec(klass, attributes, &setting(:create_record))
end

#create_records(klass, count, attributes) ⇒ Object



29
30
31
# File 'lib/simple_crud/rspec/helpers/models.rb', line 29

def create_records(klass, count, attributes)
  instance_exec(klass, count, attributes, &setting(:create_records))
end

#modelObject



17
18
19
# File 'lib/simple_crud/rspec/helpers/models.rb', line 17

def model
  @model ||= create_record(model_class, model_attributes)
end

#model_attributesObject



21
22
23
# File 'lib/simple_crud/rspec/helpers/models.rb', line 21

def model_attributes
  resolve(setting(:model_attributes))
end

#model_classObject



8
9
10
11
# File 'lib/simple_crud/rspec/helpers/models.rb', line 8

def model_class
  described_class.to_s.split('::')
                 .last.sub('Controller', '').singularize.underscore
end

#model_class_objectObject



13
14
15
# File 'lib/simple_crud/rspec/helpers/models.rb', line 13

def model_class_object
  model_class.classify.constantize
end

#model_paramsObject



37
38
39
# File 'lib/simple_crud/rspec/helpers/models.rb', line 37

def model_params
  @model_params ||= params_for(model_class)
end

#model_serializerObject



41
42
43
# File 'lib/simple_crud/rspec/helpers/models.rb', line 41

def model_serializer
  defined?(serializer) ? serializer : instance_exec(model, &setting(:serializer_class))
end

#params_for(klass) ⇒ Object



33
34
35
# File 'lib/simple_crud/rspec/helpers/models.rb', line 33

def params_for(klass)
  instance_exec(klass, &setting(:params_for))
end

#rendered_recordObject



45
46
47
# File 'lib/simple_crud/rspec/helpers/models.rb', line 45

def rendered_record
  controller.instance_variable_get(:@record)
end

#rendered_recordsObject



49
50
51
# File 'lib/simple_crud/rspec/helpers/models.rb', line 49

def rendered_records
  controller.instance_variable_get(:@records)
end