dm-persevere-adapter 0.18.0 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,105 +0,0 @@
1
- require "benchmark"
2
-
3
- module DataMapper::Spec
4
- module AdapterHelpers
5
- def self.current_adapters
6
- @current_adapters ||= []
7
- end
8
-
9
- def supported_by(*adapters, &block)
10
- adapters = get_adapters(*adapters)
11
-
12
- PRIMARY.only(*adapters).each do |adapter, connection_uri|
13
- # keep track of the current adapters
14
- AdapterHelpers.current_adapters << adapters
15
-
16
- describe("with #{adapter}") do
17
-
18
- before :all do
19
- # store these in instance vars for the shared adapter specs
20
- @adapter = DataMapper.setup(:default, connection_uri)
21
- @repository = DataMapper.repository(@adapter.name)
22
-
23
- # create all tables and constraints before each spec
24
- if @repository.respond_to?(:auto_migrate!)
25
- @repository.auto_migrate!
26
- end
27
- end
28
-
29
- after :all do
30
- # remove all tables and constraints after each spec
31
- if DataMapper.respond_to?(:auto_migrate_down!, true)
32
- DataMapper.send(:auto_migrate_down!, @repository.name)
33
- end
34
- end
35
-
36
- # TODO: add destroy_model_storage and migrations code
37
- # that removes the YAML file and remove this code
38
- after :all do
39
- if defined?(DataMapper::Adapters::YamlAdapter) && @adapter.kind_of?(DataMapper::Adapters::YamlAdapter)
40
- descendants = DataMapper::Model.descendants.to_a
41
- while model = descendants.shift
42
- descendants.concat(model.descendants.to_a - [ model ])
43
-
44
- model.default_scope.clear
45
- model.all(:repository => @repository).destroy!
46
- end
47
- end
48
- end
49
-
50
- self.instance_eval(&block)
51
- end
52
-
53
- AdapterHelpers.current_adapters.pop
54
- end
55
- end
56
-
57
- def with_alternate_adapter(&block)
58
- adapters = AdapterHelpers.current_adapters.last
59
-
60
- ALTERNATE.only(*adapters).each do |adapter, connection_uri|
61
- describe("and #{adapter}") do
62
-
63
- before :all do
64
- @alternate_adapter = DataMapper.setup(:alternate, connection_uri)
65
- @alternate_repository = DataMapper.repository(@alternate_adapter.name)
66
-
67
- # create all tables and constraints before each spec
68
- if @alternate_repository.respond_to?(:auto_migrate!)
69
- @alternate_repository.auto_migrate!
70
- end
71
- end
72
-
73
- after :all do
74
- # remove all tables and constraints after each spec
75
- if DataMapper.respond_to?(:auto_migrate_down!, true)
76
- DataMapper.send(:auto_migrate_down!, @alternate_repository.name)
77
- end
78
- end
79
-
80
- # TODO: add destroy_model_storage and migrations code
81
- # that removes the YAML file and remove this code
82
- after :all do
83
- if defined?(DataMapper::Adapters::YamlAdapter) && @alternate_adapter.kind_of?(DataMapper::Adapters::YamlAdapter)
84
- descendants = DataMapper::Model.descendants.to_a
85
- while model = descendants.shift
86
- descendants.concat(model.descendants.to_a - [ model ])
87
-
88
- model.default_scope.clear
89
- model.all(:repository => @alternate_repository).destroy!
90
- end
91
- end
92
- end
93
-
94
- self.instance_eval(&block)
95
- end
96
- end
97
- end
98
-
99
- def get_adapters(*adapters)
100
- adapters.map! { |adapter_name| adapter_name.to_s }
101
- adapters = ADAPTERS if adapters.include?('all')
102
- ADAPTERS & adapters
103
- end
104
- end
105
- end