Top Level Namespace

Defined Under Namespace

Modules: Response, SimpleCrud, SimpleCrudController

Instance Method Summary collapse

Instance Method Details

#get_option(method, option) ⇒ Object



3
4
5
# File 'lib/spec/shared_examples/helpers.rb', line 3

def get_option(method, option)
  described_class.instance_variable_get(:@simple_crud_metadata)[method][option]
end

#make_policies_fail(method) ⇒ Object



38
39
40
41
# File 'lib/spec/shared_examples/helpers.rb', line 38

def make_policies_fail(method)
  allow(policy_class_object).to receive(:new)
    .and_return(instance_double(policy_class_object, "#{method}?" => false))
end

#make_policies_succeed(method) ⇒ Object



43
44
45
46
# File 'lib/spec/shared_examples/helpers.rb', line 43

def make_policies_succeed(method)
  allow(policy_class_object).to receive(:new)
    .and_return(instance_double(policy_class_object, "#{method}?" => true))
end

#modelObject



22
23
24
# File 'lib/spec/shared_examples/helpers.rb', line 22

def model
  @model ||= create(model_class, **model_attributes)
end

#model_attributesObject



26
27
28
# File 'lib/spec/shared_examples/helpers.rb', line 26

def model_attributes
  respond_to?(:current_user) ? { user: current_user } : {}
end

#model_classObject



13
14
15
16
# File 'lib/spec/shared_examples/helpers.rb', line 13

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

#model_class_objectObject



30
31
32
# File 'lib/spec/shared_examples/helpers.rb', line 30

def model_class_object
  model_class.classify.constantize
end

#model_paramsObject



48
49
50
# File 'lib/spec/shared_examples/helpers.rb', line 48

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

#model_serializerObject



18
19
20
# File 'lib/spec/shared_examples/helpers.rb', line 18

def model_serializer
  defined?(serializer) ? serializer : "#{model.class}_serializer".classify.constantize
end

#policy_class_objectObject



34
35
36
# File 'lib/spec/shared_examples/helpers.rb', line 34

def policy_class_object
  "#{model_class_object}Policy".classify.constantize
end