module StandardAPI::TestCase::ClassMethods
Public Class Methods
extended(klass)
click to toggle source
# File lib/standard_api/test_case.rb, line 156 def self.extended(klass) klass.instance_variable_set('@normalizers', {}) end
Public Instance Methods
controller_class()
click to toggle source
# File lib/standard_api/test_case.rb, line 160 def controller_class controller_class_name = self.name.gsub(/Test$/, '') controller_class_name.constantize rescue NameError => e raise e if e.message != "uninitialized constant #{controller_class_name}" end
model()
click to toggle source
# File lib/standard_api/test_case.rb, line 175 def model return @model if defined?(@model) && @model klass_name = controller_class.name.gsub(/Controller$/, '').singularize begin @model = klass_name.constantize rescue NameError raise e unless e.message =~ /uninitialized constant #{klass_name}/ end if @model.nil? raise "@model is nil: make sure you set it in your test using `self.model = ModelClass`." else @model end end
model=(val)
click to toggle source
# File lib/standard_api/test_case.rb, line 167 def model=(val) @model = val self.filters = val.attribute_names self.orders = val.attribute_names self.includes = val.reflect_on_all_associations.map(&:name) @model end
normalize(*attributes, &block)
click to toggle source
# File lib/standard_api/test_case.rb, line 193 def normalize(*attributes, &block) attributes.each do |attribute| @normalizers[model] ||= {} @normalizers[model][attribute] = block end end