scaffolding_extensions 1.4.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -24,11 +24,11 @@ Scaffolding Extensions currently supports:
24
24
  * Rails 2.3.5 (with or without RailsXss plugin)
25
25
  * Ramaze 2009.06.12
26
26
  * Camping 1.5
27
- * Sinatra 0.9.4
27
+ * Sinatra 1.0
28
28
  * Merb 1.0.4
29
29
  * Object Relational Mappers
30
30
  * ActiveRecord 2.3.5
31
- * Sequel 3.8.0
31
+ * Sequel 3.10.0
32
32
  * DataMapper 0.10.2 (see doc/datamapper.txt for details)
33
33
  * Javascript Libaries (used for Ajax/Autocompleting)
34
34
  * Prototype 1.6.0.3
@@ -51,18 +51,14 @@ module ScaffoldingExtensions
51
51
  response['Content-Type'] = 'text/javascript' if use_js
52
52
  render(:erb, scaffold_fix_template(render_options[:inline]), :layout=>false)
53
53
  else
54
- views_dir = render_options.delete(:views) || self.class.views || "./views"
55
- begin
56
- template, filename, line_number = lookup_template(:erb, suffix_action.to_sym, views_dir)
57
- rescue
58
- template = scaffold_fix_template(File.read(scaffold_path(action)))
59
- end
60
- layout, filename, line_number = lookup_layout(:erb, :layout, views_dir)
61
- layout ||= scaffold_fix_template(File.read(scaffold_path('layout'))).gsub('@content', 'yield')
54
+ views_path = render_options.delete(:views) || self.class.views || "./views"
55
+ views_dir = Dir.new(views_path) rescue nil
56
+ template = scaffold_template_code(views_dir, suffix_action, action)
57
+ layout = scaffold_template_code(views_dir, 'layout', 'layout'){|s| s.gsub('@content', 'yield')}
62
58
  render(:erb, template, :layout=>layout)
63
59
  end
64
60
  end
65
-
61
+
66
62
  def scaffold_request_action
67
63
  @scaffold_method
68
64
  end
@@ -90,6 +86,16 @@ module ScaffoldingExtensions
90
86
  def scaffold_session
91
87
  session
92
88
  end
89
+
90
+ def scaffold_template_code(views_dir, sin_name, se_name)
91
+ if views_dir && views_dir.member?("#{sin_name}.erb")
92
+ sin_name.to_sym
93
+ else
94
+ code = scaffold_fix_template(File.read(scaffold_path(se_name)))
95
+ code = yield code if block_given?
96
+ code
97
+ end
98
+ end
93
99
 
94
100
  # Treats the id option as special, appending it to the path.
95
101
  # Uses the rest of the options as query string parameters.
@@ -37,9 +37,7 @@ module ScaffoldingExtensions::MetaSequel
37
37
  # constraint, as it is assumed that all objects currently assocated with the given object
38
38
  # have already met the criteria. If that is not the case, you should override this method.
39
39
  def scaffold_associated_objects(association, object, options)
40
- assoc = object.send(association)
41
- reflection = association_reflection(association)
42
- reflection[:cache] || reflection[:type] == :many_to_one ? assoc : assoc.all
40
+ object.send(association)
43
41
  end
44
42
 
45
43
  # The association reflection for this association
@@ -51,9 +49,9 @@ module ScaffoldingExtensions::MetaSequel
51
49
  # associated with the current object), :edit for :many_to_many (since you
52
50
  # can edit the list of associated objects), or :one for :many_to_one.
53
51
  def scaffold_association_type(association)
54
- case scaffold_association(association)[:type]
52
+ case (a = scaffold_association(association))[:type]
55
53
  when :one_to_many
56
- :new
54
+ a[:one_to_one] ? :one : :new
57
55
  when :many_to_many
58
56
  :edit
59
57
  else
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scaffolding_extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Evans
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-03-08 00:00:00 -08:00
12
+ date: 2010-03-30 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15