Module: Smartmock::Find::ClassMethods

Defined in:
lib/smartmock/helpers.rb

Instance Method Summary collapse

Instance Method Details

#insert_smartmock(id, mock) ⇒ Object



60
61
62
63
# File 'lib/smartmock/helpers.rb', line 60

def insert_smartmock(id, mock)
  @smartmocks ||= {}
  @smartmocks[id] = mock
end

#revert_smartmock_findObject



65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/smartmock/helpers.rb', line 65

def revert_smartmock_find
  klass = @msmartmock_klass
  if Smartmock.active_record?(klass)
    class << klass
    end
  elsif Smartmock.data_mapper?(klass)
    class << klass
      alias get orig_find_id
      alias get! orig_find_id!
    end
  end
end

#setup_smartmock_find(klass) ⇒ Object



78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/smartmock/helpers.rb', line 78

def setup_smartmock_find(klass)
  @msmartmock_klass = klass
  if Smartmock.active_record?(klass)
    class << klass
    end
  elsif Smartmock.data_mapper?(klass)
    class << klass
      alias orig_find_id get
      alias orig_find_id! get!
      alias get smartmock_find_id
      alias get! smartmock_find_id!
    end
  end
end

#smartmock_find_id(id, *args) ⇒ Object



49
50
51
52
# File 'lib/smartmock/helpers.rb', line 49

def smartmock_find_id(id, *args)
  revert_smartmock_find
  (@smartmocks and @smartmocks[id]) ? @smartmocks[id] : nil
end

#smartmock_find_id!(id, *args) ⇒ Object

Raises:

  • (DataMapper::ObjectNotFoundError)


54
55
56
57
58
# File 'lib/smartmock/helpers.rb', line 54

def smartmock_find_id!(id, *args)
  revert_smartmock_find
  return @smartmocks[id] if @smartmocks and @smartmocks[id]
  raise DataMapper::ObjectNotFoundError
end