Class: DataMapper::Context
Defined Under Namespace
Classes: MaterializationError
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(adapter) ⇒ Context
Returns a new instance of Context.
12
13
14
|
# File 'lib/data_mapper/context.rb', line 12
def initialize(adapter)
@adapter = adapter
end
|
Instance Attribute Details
Returns the value of attribute adapter.
10
11
12
|
# File 'lib/data_mapper/context.rb', line 10
def adapter
@adapter
end
|
Instance Method Details
#all(klass, options = {}) ⇒ Object
51
52
53
|
# File 'lib/data_mapper/context.rb', line 51
def all(klass, options = {})
@adapter.load(self, klass, options)
end
|
#column_exists_for_table?(klass, column_name) ⇒ Boolean
87
88
89
|
# File 'lib/data_mapper/context.rb', line 87
def column_exists_for_table?(klass, column_name)
@adapter.column_exists_for_table?(klass, column_name)
end
|
#count(klass, *args) ⇒ Object
55
56
57
|
# File 'lib/data_mapper/context.rb', line 55
def count(klass, *args)
table(klass).count(*args)
end
|
#create_table(klass) ⇒ Object
75
76
77
|
# File 'lib/data_mapper/context.rb', line 75
def create_table(klass)
table(klass).create!
end
|
#delete_all(klass) ⇒ Object
67
68
69
|
# File 'lib/data_mapper/context.rb', line 67
def delete_all(klass)
@adapter.delete(self, klass)
end
|
#destroy(instance) ⇒ Object
63
64
65
|
# File 'lib/data_mapper/context.rb', line 63
def destroy(instance)
@adapter.delete(self, instance)
end
|
#drop_table(klass) ⇒ Object
79
80
81
|
# File 'lib/data_mapper/context.rb', line 79
def drop_table(klass)
table(klass).drop!
end
|
#execute(*args) ⇒ Object
91
92
93
|
# File 'lib/data_mapper/context.rb', line 91
def execute(*args)
@adapter.execute(*args)
end
|
#first(klass, *args) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/data_mapper/context.rb', line 20
def first(klass, *args)
id = nil
options = nil
table = self.table(klass)
key = table.key
if args.empty? options = { :limit => 1 }
elsif args.size == 2 && args.last.kind_of?(Hash) options = args.last.merge(key => args.first)
elsif args.size == 1 if args.first.kind_of?(Hash)
options = args.first.merge(:limit => 1) else
options = { key => args.first } end
else
raise ArgumentError.new('Context#first takes a class, and optional type_or_id and/or options arguments')
end
return nil if options.has_key?(key.name) && options[key.name] == nil
@adapter.load(self, klass, options).first
end
|
#get(klass, keys) ⇒ Object
47
48
49
|
# File 'lib/data_mapper/context.rb', line 47
def get(klass, keys)
@adapter.get(self, klass, keys)
end
|
#identity_map ⇒ Object
16
17
18
|
# File 'lib/data_mapper/context.rb', line 16
def identity_map
@identity_map || ( @identity_map = IdentityMap.new )
end
|
107
108
109
|
# File 'lib/data_mapper/context.rb', line 107
def logger
@logger || @logger = @adapter.logger
end
|
#query(*args) ⇒ Object
95
96
97
|
# File 'lib/data_mapper/context.rb', line 95
def query(*args)
@adapter.query(*args)
end
|
#save(instance) ⇒ Object
59
60
61
|
# File 'lib/data_mapper/context.rb', line 59
def save(instance)
@adapter.save(self, instance)
end
|
99
100
101
|
# File 'lib/data_mapper/context.rb', line 99
def schema
@adapter.schema
end
|
#table(klass) ⇒ Object
103
104
105
|
# File 'lib/data_mapper/context.rb', line 103
def table(klass)
@adapter.table(klass)
end
|
#table_exists?(klass) ⇒ Boolean
83
84
85
|
# File 'lib/data_mapper/context.rb', line 83
def table_exists?(klass)
table(klass).exists?
end
|
#truncate(klass) ⇒ Object
71
72
73
|
# File 'lib/data_mapper/context.rb', line 71
def truncate(klass)
table(klass).truncate!
end
|