scaffolding_extensions 1.4.2 → 1.4.3
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/LICENSE +1 -1
- data/README +23 -6
- data/doc/ramaze.txt +3 -0
- data/doc/testing.txt +1 -1
- data/lib/scaffolding_extensions/controller/ramaze.rb +22 -9
- data/lib/scaffolding_extensions/model/datamapper.rb +4 -4
- metadata +19 -5
data/LICENSE
CHANGED
data/README
CHANGED
@@ -21,20 +21,37 @@ to better suit your needs.
|
|
21
21
|
Scaffolding Extensions currently supports:
|
22
22
|
|
23
23
|
* Web Frameworks
|
24
|
-
* Rails 2.3.
|
25
|
-
* Ramaze 2010.
|
26
|
-
* Camping 2.
|
24
|
+
* Rails 2.3.8 (with or without RailsXss plugin)
|
25
|
+
* Ramaze 2010.06.18
|
26
|
+
* Camping 2.1
|
27
27
|
* Sinatra 1.0
|
28
28
|
* Merb 1.0.4
|
29
29
|
* Rack 1.1.0
|
30
30
|
* Object Relational Mappers
|
31
|
-
* ActiveRecord 2.3.
|
32
|
-
* Sequel 3.
|
33
|
-
* DataMapper 0
|
31
|
+
* ActiveRecord 2.3.8
|
32
|
+
* Sequel 3.14.0
|
33
|
+
* DataMapper 1.0 (see doc/datamapper.txt for details)
|
34
34
|
* Javascript Libaries (used for Ajax/Autocompleting)
|
35
35
|
* Prototype 1.6.0.3
|
36
36
|
* JQuery 1.2.3
|
37
37
|
|
38
|
+
There are differing levels of support for the web frameworks, mostly related
|
39
|
+
to whether or not you can use custom views and layouts. Custom views mean
|
40
|
+
that you can keep the scaffolded controller action, and change how the
|
41
|
+
view is displayed. Custom layouts mean you can provide your own layout,
|
42
|
+
which the scaffolded views use. Here's the current level of support:
|
43
|
+
|
44
|
+
* Scaffold view, scaffold layout (all)
|
45
|
+
* Scaffold view, custom layout (Rails, Sinatra)
|
46
|
+
* Custom view, custom layout (Rails, Sinatra)
|
47
|
+
* Custom view, scaffold layout (Sinatra)
|
48
|
+
|
49
|
+
For the web frameworks that don't have support for custom layouts and views,
|
50
|
+
you can still customize the scaffolded views and layout, but you need to copy
|
51
|
+
the scaffold template directory from the plugin and set the
|
52
|
+
@scaffold_template_dir class instance variable in the controller to the path
|
53
|
+
to your scaffold template directory.
|
54
|
+
|
38
55
|
Support for other web frameworks and ORMs can be added, see the
|
39
56
|
controller_spec.txt and model_spec.txt files for the methods that need to be
|
40
57
|
defined.
|
data/doc/ramaze.txt
CHANGED
data/doc/testing.txt
CHANGED
@@ -17,6 +17,6 @@ There is an automated test suite that tests the plugin against all supported web
|
|
17
17
|
frameworks and ORMs. It is now available in the same github repository as the
|
18
18
|
plugin itself.
|
19
19
|
|
20
|
-
It requires the
|
20
|
+
It requires the unicorn and hpricot gems (in addition to gems for
|
21
21
|
all of the frameworks and ORMs), and does black box testing of the plugin by
|
22
22
|
running a web crawler against a running application that uses the plugin.
|
@@ -92,17 +92,30 @@ module ScaffoldingExtensions
|
|
92
92
|
# Adds a default scaffolded layout if none has been set. Activates the Erubis
|
93
93
|
# engine. Includes the necessary scaffolding helper and controller methods.
|
94
94
|
def scaffold_setup_helper
|
95
|
-
map generate_mapping, :scaffolding_extensions
|
96
|
-
map_views '/'
|
97
|
-
map_layouts '/'
|
98
95
|
engine :Erubis
|
99
96
|
layout(:layout){|name, wish| !request.xhr? }
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
97
|
+
|
98
|
+
# Instantiates the controller's App (necessary to have a valid
|
99
|
+
# Ramaze::Controller.options, which is actually just a shortcut
|
100
|
+
# to controller's App options)
|
101
|
+
setup
|
102
|
+
|
103
|
+
# Retrieves current controller options, and ensure the required ones
|
104
|
+
# are properly initialized
|
105
|
+
o = options
|
106
|
+
o.roots ||= []
|
107
|
+
o.views ||= []
|
108
|
+
o.layouts ||= []
|
109
|
+
|
110
|
+
# Adds scaffold_template_dir to the controller roots
|
111
|
+
o.roots += [scaffold_template_dir] unless o.roots.include?(scaffold_template_dir)
|
112
|
+
|
113
|
+
# The scaffolding_extensions templates are located directly in the
|
114
|
+
# scaffold_template_dir, not in a view/ or layout/ subdirectory,
|
115
|
+
# so adds '/' to the views et layout default search paths
|
116
|
+
o.views << '/' unless o.views.include? '/'
|
117
|
+
o.layouts << '/' unless o.layouts.include? '/'
|
118
|
+
|
106
119
|
include ScaffoldingExtensions::Controller
|
107
120
|
include ScaffoldingExtensions::RamazeController
|
108
121
|
include ScaffoldingExtensions::Helper
|
@@ -228,13 +228,13 @@ module ScaffoldingExtensions::MetaDataMapper
|
|
228
228
|
end
|
229
229
|
|
230
230
|
# The column type for the given table column, or nil if it isn't a table column
|
231
|
-
def scaffold_table_column_type(
|
232
|
-
column = self.properties[
|
231
|
+
def scaffold_table_column_type(c)
|
232
|
+
column = self.properties[c]
|
233
233
|
if column then
|
234
|
-
if column.type == DataMapper::
|
234
|
+
if column.type == DataMapper::Property::Text
|
235
235
|
:text
|
236
236
|
else
|
237
|
-
column.
|
237
|
+
column.class.to_s.split("::").last.downcase.intern
|
238
238
|
end
|
239
239
|
else
|
240
240
|
nil
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scaffolding_extensions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 1
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 4
|
9
|
+
- 3
|
10
|
+
version: 1.4.3
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Jeremy Evans
|
@@ -9,7 +15,7 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date: 2010-
|
18
|
+
date: 2010-08-26 00:00:00 -07:00
|
13
19
|
default_executable:
|
14
20
|
dependencies: []
|
15
21
|
|
@@ -103,21 +109,29 @@ rdoc_options:
|
|
103
109
|
require_paths:
|
104
110
|
- lib
|
105
111
|
required_ruby_version: !ruby/object:Gem::Requirement
|
112
|
+
none: false
|
106
113
|
requirements:
|
107
114
|
- - ">="
|
108
115
|
- !ruby/object:Gem::Version
|
116
|
+
hash: 59
|
117
|
+
segments:
|
118
|
+
- 1
|
119
|
+
- 8
|
120
|
+
- 6
|
109
121
|
version: 1.8.6
|
110
|
-
version:
|
111
122
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
112
124
|
requirements:
|
113
125
|
- - ">="
|
114
126
|
- !ruby/object:Gem::Version
|
127
|
+
hash: 3
|
128
|
+
segments:
|
129
|
+
- 0
|
115
130
|
version: "0"
|
116
|
-
version:
|
117
131
|
requirements: []
|
118
132
|
|
119
133
|
rubyforge_project: scaffolding-ext
|
120
|
-
rubygems_version: 1.3.
|
134
|
+
rubygems_version: 1.3.7
|
121
135
|
signing_key:
|
122
136
|
specification_version: 3
|
123
137
|
summary: Administrative database front-end for multiple web-frameworks and ORMs
|