class MeducationSDK::Mocker
Public Class Methods
mock!()
click to toggle source
# File lib/meducation_sdk/mocker.rb, line 3 def self.mock! RESOURCES.each do |resource| new(resource).mock! end end
new(resource_name)
click to toggle source
# File lib/meducation_sdk/mocker.rb, line 15 def initialize(resource_name) @resource_name = resource_name end
unmock!()
click to toggle source
# File lib/meducation_sdk/mocker.rb, line 9 def self.unmock! RESOURCES.each do |resource| new(resource).unmock! end end
Public Instance Methods
mock!()
click to toggle source
# File lib/meducation_sdk/mocker.rb, line 19 def mock! return if mock_module.const_defined?(original_class_name) resource = "#{mock_module_name}::#{resource_class_name}".constantize mock = "#{mock_module_name}::#{mock_class_name}".constantize mock_module.const_set(original_class_name, resource) mock_module.send(:remove_const, resource_class_name) mock_module.const_set(resource_class_name, mock) mock_module.send(:remove_const, mock_class_name) end
unmock!()
click to toggle source
# File lib/meducation_sdk/mocker.rb, line 31 def unmock! return unless mock_module.const_defined?(original_class_name) original = "#{mock_module_name}::#{original_class_name}".constantize resource = "#{mock_module_name}::#{resource_class_name}".constantize mock_module.const_set(mock_class_name, resource) mock_module.send(:remove_const, resource_class_name) mock_module.const_set(resource_class_name, original) mock_module.send(:remove_const, original_class_name) end
Private Instance Methods
mock_class_name()
click to toggle source
# File lib/meducation_sdk/mocker.rb, line 48 def mock_class_name @mock_class_name ||= "#{@resource_name}_mock".camelize.split("::").last end
mock_module()
click to toggle source
# File lib/meducation_sdk/mocker.rb, line 56 def mock_module @mock_module ||= mock_module_name.constantize end
mock_module_name()
click to toggle source
# File lib/meducation_sdk/mocker.rb, line 60 def mock_module_name @mock_module_name ||= begin parts = @resource_name.camelize.split("::") if parts.size == 1 "MeducationSDK" else parts.pop "MeducationSDK::#{parts.join("::")}" end end end
original_class_name()
click to toggle source
# File lib/meducation_sdk/mocker.rb, line 52 def original_class_name @original_class_name ||= "#{@resource_name}_original".camelize.split("::").last end
resource_class_name()
click to toggle source
# File lib/meducation_sdk/mocker.rb, line 44 def resource_class_name @resource_class_name ||= @resource_name.camelize.split("::").last end