mack-data_mapper 0.7.0.1 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/doc/classes/Mack.html +8 -0
- data/doc/classes/Mack/{Testing/Helpers.html → DataMapper/Session.html} +24 -18
- data/doc/classes/Mack/Database.html +35 -35
- data/doc/classes/Mack/Database/Generators.html +6 -6
- data/doc/classes/Mack/Database/Migrations.html +24 -24
- data/doc/classes/Mack/SessionStore/DataMapper.html +262 -0
- data/doc/classes/Mack/Testing/DataMapperHelpers.html +21 -21
- data/doc/classes/Mack/ViewHelpers/DataMapperHelpers.html +1 -1
- data/doc/created.rid +1 -1
- data/doc/files/README.html +1 -1
- data/doc/files/lib/mack-data_mapper/database_migrations_rb.html +1 -1
- data/doc/files/lib/mack-data_mapper/database_rb.html +1 -1
- data/doc/files/lib/mack-data_mapper/dm_patches/dm-timestamps_rb.html +16 -1
- data/doc/files/lib/mack-data_mapper/dm_patches/migrations_rb.html +1 -1
- data/doc/files/lib/mack-data_mapper/dm_patches/model_rb.html +58 -1
- data/doc/files/lib/mack-data_mapper/dm_patches/property_set_rb.html +25 -1
- data/doc/files/lib/mack-data_mapper/dm_patches/validations_rb.html +25 -1
- data/doc/files/lib/mack-data_mapper/generators_rb.html +1 -1
- data/doc/files/lib/mack-data_mapper/helpers/orm_helpers_rb.html +1 -1
- data/doc/files/lib/mack-data_mapper/migration_generator/migration_generator_rb.html +1 -1
- data/doc/files/lib/mack-data_mapper/model_generator/model_generator_rb.html +1 -1
- data/doc/files/lib/mack-data_mapper/resource_rb.html +1 -1
- data/doc/files/lib/mack-data_mapper/runner_rb.html +1 -1
- data/doc/files/lib/mack-data_mapper/sessions/data_mapper_session_store_rb.html +101 -0
- data/doc/files/lib/mack-data_mapper/sessions/session_rb.html +101 -0
- data/doc/files/lib/mack-data_mapper/test_extensions_rb.html +1 -1
- data/doc/files/lib/mack-data_mapper_rb.html +1 -1
- data/doc/files/lib/mack-data_mapper_tasks_rb.html +1 -1
- data/doc/fr_class_index.html +2 -1
- data/doc/fr_file_index.html +2 -0
- data/doc/fr_method_index.html +14 -10
- data/lib/mack-data_mapper.rb +11 -7
- data/lib/mack-data_mapper/database.rb +8 -8
- data/lib/mack-data_mapper/database_migrations.rb +6 -6
- data/lib/mack-data_mapper/dm_patches/dm-timestamps.rb +6 -6
- data/lib/mack-data_mapper/dm_patches/model.rb +48 -48
- data/lib/mack-data_mapper/dm_patches/property_set.rb +15 -15
- data/lib/mack-data_mapper/dm_patches/validations.rb +15 -15
- data/lib/mack-data_mapper/helpers/orm_helpers.rb +1 -1
- data/lib/mack-data_mapper/sessions/data_mapper_session_store.rb +62 -0
- data/lib/mack-data_mapper/sessions/session.rb +14 -0
- data/lib/mack-data_mapper/test_extensions.rb +0 -9
- metadata +17 -22
@@ -80,7 +80,7 @@
|
|
80
80
|
<h3 class="section-bar">Methods</h3>
|
81
81
|
|
82
82
|
<div class="name-list">
|
83
|
-
<a href="#
|
83
|
+
<a href="#M000016">rollback_transaction</a>
|
84
84
|
</div>
|
85
85
|
</div>
|
86
86
|
|
@@ -102,35 +102,35 @@
|
|
102
102
|
<div id="methods">
|
103
103
|
<h3 class="section-bar">Public Instance methods</h3>
|
104
104
|
|
105
|
-
<div id="method-
|
106
|
-
<a name="
|
105
|
+
<div id="method-M000016" class="method-detail">
|
106
|
+
<a name="M000016"></a>
|
107
107
|
|
108
108
|
<div class="method-heading">
|
109
|
-
<a href="#
|
109
|
+
<a href="#M000016" class="method-signature">
|
110
110
|
<span class="method-name">rollback_transaction</span><span class="method-args">() {|if block_given?| ...}</span>
|
111
111
|
</a>
|
112
112
|
</div>
|
113
113
|
|
114
114
|
<div class="method-description">
|
115
115
|
<p><a class="source-toggle" href="#"
|
116
|
-
onclick="toggleCode('
|
117
|
-
<div class="method-source-code" id="
|
116
|
+
onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
|
117
|
+
<div class="method-source-code" id="M000016-source">
|
118
118
|
<pre>
|
119
|
-
<span class="ruby-comment cmt"># File lib/mack-data_mapper/test_extensions.rb, line
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
119
|
+
<span class="ruby-comment cmt"># File lib/mack-data_mapper/test_extensions.rb, line 21</span>
|
120
|
+
21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rollback_transaction</span>
|
121
|
+
22: <span class="ruby-keyword kw">begin</span>
|
122
|
+
23: <span class="ruby-constant">Mack</span><span class="ruby-operator">::</span><span class="ruby-constant">Testing</span><span class="ruby-operator">::</span><span class="ruby-constant">DmTestTransactionWrapper</span>.<span class="ruby-identifier">transaction</span> <span class="ruby-keyword kw">do</span>
|
123
|
+
24: <span class="ruby-comment cmt"># DataMapper::Transaction.new.commit do</span>
|
124
|
+
25: <span class="ruby-keyword kw">yield</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
|
125
|
+
26: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Rollback!"</span>
|
126
|
+
27: <span class="ruby-keyword kw">end</span>
|
127
|
+
28: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">ex</span>
|
128
|
+
29: <span class="ruby-comment cmt"># we need to do this so we can throw up actual errors!</span>
|
129
|
+
30: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">ex</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"Rollback!"</span>
|
130
|
+
31: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">ex</span>
|
131
|
+
32: <span class="ruby-keyword kw">end</span>
|
132
|
+
33: <span class="ruby-keyword kw">end</span>
|
133
|
+
34: <span class="ruby-keyword kw">end</span>
|
134
134
|
</pre>
|
135
135
|
</div>
|
136
136
|
</div>
|
@@ -155,7 +155,7 @@ path to partial as the second argument and that partial will be rendered.
|
|
155
155
|
36: <span class="ruby-identifier">app_errors</span>.<span class="ruby-identifier">flatten!</span>
|
156
156
|
37: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">app_errors</span>.<span class="ruby-identifier">empty?</span>
|
157
157
|
38: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">view_partial</span>.<span class="ruby-identifier">nil?</span>
|
158
|
-
39: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-constant">
|
158
|
+
39: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-constant">Mack</span><span class="ruby-operator">::</span><span class="ruby-constant">Paths</span>.<span class="ruby-identifier">views</span>(<span class="ruby-value str">"application"</span>, <span class="ruby-value str">"_error_messages.html.erb"</span>))
|
159
159
|
40: <span class="ruby-identifier">render</span>(<span class="ruby-identifier">:partial</span>, <span class="ruby-value str">"application/error_messages"</span>, <span class="ruby-identifier">:locals</span> =<span class="ruby-operator">></span> {<span class="ruby-identifier">:errors</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">app_errors</span>})
|
160
160
|
41: <span class="ruby-keyword kw">else</span>
|
161
161
|
42: <span class="ruby-identifier">render</span>(<span class="ruby-identifier">:inline</span>, <span class="ruby-constant">DEFAULT_PARTIAL</span>, <span class="ruby-identifier">:locals</span> =<span class="ruby-operator">></span> {<span class="ruby-identifier">:errors</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">app_errors</span>})
|
data/doc/created.rid
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Mon, 08 Sep 2008 10:56:53 -0400
|
data/doc/files/README.html
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
</tr>
|
57
57
|
<tr class="top-aligned-row">
|
58
58
|
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>
|
59
|
+
<td>Mon Sep 08 10:32:44 -0400 2008</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -68,6 +68,21 @@
|
|
68
68
|
|
69
69
|
<div id="contextContent">
|
70
70
|
|
71
|
+
<div id="description">
|
72
|
+
<p>
|
73
|
+
module DataMapper # :nodoc:
|
74
|
+
</p>
|
75
|
+
<pre>
|
76
|
+
module Timestamp # :nodoc:
|
77
|
+
TIMESTAMP_PROPERTIES[:created_at] = lambda { |r| r.created_at = DateTime.now if r.new_record? && r.created_at.nil? } # :nodoc:
|
78
|
+
TIMESTAMP_PROPERTIES[:created_on] = lambda { |r| r.created_on = DateTime.now if r.new_record? && r.created_on.nil? } # :nodoc:
|
79
|
+
end
|
80
|
+
</pre>
|
81
|
+
<p>
|
82
|
+
end
|
83
|
+
</p>
|
84
|
+
|
85
|
+
</div>
|
71
86
|
|
72
87
|
|
73
88
|
</div>
|
@@ -56,7 +56,7 @@
|
|
56
56
|
</tr>
|
57
57
|
<tr class="top-aligned-row">
|
58
58
|
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>
|
59
|
+
<td>Mon Sep 08 10:32:44 -0400 2008</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -68,6 +68,63 @@
|
|
68
68
|
|
69
69
|
<div id="contextContent">
|
70
70
|
|
71
|
+
<div id="description">
|
72
|
+
<p>
|
73
|
+
module DataMapper # :nodoc:
|
74
|
+
</p>
|
75
|
+
<pre>
|
76
|
+
module Model # :nodoc:
|
77
|
+
|
78
|
+
def property(name, type, options = {})
|
79
|
+
property = Property.new(self, name, type, options)
|
80
|
+
|
81
|
+
create_property_getter(property)
|
82
|
+
create_property_setter(property)
|
83
|
+
|
84
|
+
@properties[repository_name][property.name] = property
|
85
|
+
|
86
|
+
# Add property to the other mappings as well if this is for the default
|
87
|
+
# repository.
|
88
|
+
if repository_name == default_repository_name
|
89
|
+
@properties.each_pair do |repository_name, properties|
|
90
|
+
next if repository_name == default_repository_name
|
91
|
+
properties << property
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
# Add the property to the lazy_loads set for this resources repository
|
96
|
+
# only.
|
97
|
+
# TODO Is this right or should we add the lazy contexts to all
|
98
|
+
# repositories?
|
99
|
+
if property.lazy?
|
100
|
+
context = options.fetch(:lazy, :default)
|
101
|
+
context = :default if context == true
|
102
|
+
|
103
|
+
Array(context).each do |item|
|
104
|
+
@properties[repository_name].lazy_context(item) << name
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
# add the property to the child classes only if the property was
|
109
|
+
# added after the child classes' properties have been copied from
|
110
|
+
# the parent
|
111
|
+
if respond_to?(:descendants)
|
112
|
+
descendants.each do |model|
|
113
|
+
next if model.properties(repository_name).has_property?(name)
|
114
|
+
model.property(name, type, options)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
property
|
119
|
+
end
|
120
|
+
|
121
|
+
end # module Model
|
122
|
+
</pre>
|
123
|
+
<p>
|
124
|
+
end # module DataMapper
|
125
|
+
</p>
|
126
|
+
|
127
|
+
</div>
|
71
128
|
|
72
129
|
|
73
130
|
</div>
|
@@ -56,7 +56,7 @@
|
|
56
56
|
</tr>
|
57
57
|
<tr class="top-aligned-row">
|
58
58
|
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>
|
59
|
+
<td>Mon Sep 08 10:32:44 -0400 2008</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -68,6 +68,30 @@
|
|
68
68
|
|
69
69
|
<div id="contextContent">
|
70
70
|
|
71
|
+
<div id="description">
|
72
|
+
<p>
|
73
|
+
module DataMapper # :nodoc:
|
74
|
+
</p>
|
75
|
+
<pre>
|
76
|
+
class PropertySet # :nodoc:
|
77
|
+
|
78
|
+
def []=(name, property)
|
79
|
+
if existing_property = detect { |p| p.name == name }
|
80
|
+
property.hash
|
81
|
+
@entries[@entries.index(existing_property)] = property
|
82
|
+
else
|
83
|
+
add(property)
|
84
|
+
end
|
85
|
+
property
|
86
|
+
end
|
87
|
+
|
88
|
+
end # class PropertySet
|
89
|
+
</pre>
|
90
|
+
<p>
|
91
|
+
end # module DataMapper
|
92
|
+
</p>
|
93
|
+
|
94
|
+
</div>
|
71
95
|
|
72
96
|
|
73
97
|
</div>
|
@@ -56,7 +56,7 @@
|
|
56
56
|
</tr>
|
57
57
|
<tr class="top-aligned-row">
|
58
58
|
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>
|
59
|
+
<td>Mon Sep 08 10:32:44 -0400 2008</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -68,6 +68,30 @@
|
|
68
68
|
|
69
69
|
<div id="contextContent">
|
70
70
|
|
71
|
+
<div id="description">
|
72
|
+
<p>
|
73
|
+
module DataMapper # :nodoc:
|
74
|
+
</p>
|
75
|
+
<pre>
|
76
|
+
module Validate # :nodoc:
|
77
|
+
class GenericValidator # :nodoc:
|
78
|
+
|
79
|
+
def ==(other)
|
80
|
+
self.field_name == other.field_name &&
|
81
|
+
self.if_clause == other.if_clause &&
|
82
|
+
self.class == other.class &&
|
83
|
+
self.unless_clause == other.unless_clause &&
|
84
|
+
self.instance_variable_get(:@options) == other.instance_variable_get(:@options)
|
85
|
+
end
|
86
|
+
|
87
|
+
end # class GenericValidator
|
88
|
+
end # module Validate
|
89
|
+
</pre>
|
90
|
+
<p>
|
91
|
+
end # module DataMapper
|
92
|
+
</p>
|
93
|
+
|
94
|
+
</div>
|
71
95
|
|
72
96
|
|
73
97
|
</div>
|
@@ -0,0 +1,101 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>File: data_mapper_session_store.rb</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="fileHeader">
|
50
|
+
<h1>data_mapper_session_store.rb</h1>
|
51
|
+
<table class="header-table">
|
52
|
+
<tr class="top-aligned-row">
|
53
|
+
<td><strong>Path:</strong></td>
|
54
|
+
<td>lib/mack-data_mapper/sessions/data_mapper_session_store.rb
|
55
|
+
</td>
|
56
|
+
</tr>
|
57
|
+
<tr class="top-aligned-row">
|
58
|
+
<td><strong>Last Update:</strong></td>
|
59
|
+
<td>Mon Sep 08 10:32:44 -0400 2008</td>
|
60
|
+
</tr>
|
61
|
+
</table>
|
62
|
+
</div>
|
63
|
+
<!-- banner header -->
|
64
|
+
|
65
|
+
<div id="bodyContent">
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
<div id="contextContent">
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
</div>
|
74
|
+
|
75
|
+
|
76
|
+
</div>
|
77
|
+
|
78
|
+
|
79
|
+
<!-- if includes -->
|
80
|
+
|
81
|
+
<div id="section">
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
<!-- if method_list -->
|
91
|
+
|
92
|
+
|
93
|
+
</div>
|
94
|
+
|
95
|
+
|
96
|
+
<div id="validator-badges">
|
97
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
98
|
+
</div>
|
99
|
+
|
100
|
+
</body>
|
101
|
+
</html>
|