Top Level Namespace
Defined Under Namespace
Modules: ScaffoldingExtensions
Instance Method Summary
collapse
Instance Method Details
#add_scaffolding_methods(classes) ⇒ Object
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
|
# File 'lib/scaffolding_extensions/model/datamapper.rb', line 279
def add_scaffolding_methods(classes)
unless classes.is_a?(Array)
classes = [classes]
end
classes.each do |cl|
cl.class_eval <<-ECLASS
SCAFFOLD_OPTIONS = ::ScaffoldingExtensions::MetaModel::SCAFFOLD_OPTIONS
include ScaffoldingExtensions::Model
include ScaffoldingExtensions::DataMapper
extend ScaffoldingExtensions::MetaModel
extend ScaffoldingExtensions::MetaDataMapper
extend ScaffoldingExtensions::Overridable
ECLASS
end
end
|
#get_key_array_safe(key) ⇒ Object
3
4
5
6
7
8
9
10
11
12
13
|
# File 'lib/scaffolding_extensions/model/datamapper.rb', line 3
def get_key_array_safe(key)
if key.is_a?(Array) then
if key.length==1
key.first
else
key
end
else
key
end
end
|
#get_ordering_options(ordopts) ⇒ Object
15
16
17
18
19
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/scaffolding_extensions/model/datamapper.rb', line 15
def get_ordering_options(ordopts)
result = []
if ordopts then
ordering = ordopts.dup
else
return nil
end
ordering = ordering.split(',') unless ordering.is_a?(Array)
ordering.each do |ord|
asc = :asc
if ord.upcase =~ /DESC/
asc = :desc
end
ord.gsub!(/[Dd][Ee][Ss][Cc]|[Aa][Ss][Cc]/,"")
ord.strip!
if ord =~ /(\w+)\.(\w+)/
tablename = $1
propertyname = $2
result << eval(":#{propertyname}.#{asc.to_s}")
elsif ord =~ /(\w+)/
propertyname = $1
result << eval(":#{propertyname}.#{asc.to_s}")
else
end
end
result
end
|
#scaffold_R(root) ⇒ Object
Create a route class, and automatically extend it with MetaCampingController so scaffold methods can be used directly inside of it.