scaffolding_extensions 1.3.8 → 1.3.9

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.
@@ -75,10 +75,8 @@ module ScaffoldingExtensions
75
75
 
76
76
  # Class methods for Ramaze::Controller related necessary for Scaffolding Extensions
77
77
  module MetaRamazeController
78
- DENY_LAYOUT_RE = %r{\A(scaffold_auto_complete_for|associations|add|remove)_}
79
78
 
80
79
  private
81
- # Denies the layout to names that match DENY_LAYOUT_RE (the Ajax methods).
82
80
  # Sets request.params['id'] if it was given as part of the request path.
83
81
  # Checks nonidempotent requests require POST.
84
82
  def scaffold_define_method(name, &block)
@@ -98,7 +96,7 @@ module ScaffoldingExtensions
98
96
  map_views '/'
99
97
  map_layouts '/'
100
98
  engine :Erubis
101
- layout(:layout){|name, wish| DENY_LAYOUT_RE !~ name }
99
+ layout(:layout){|name, wish| !request.xhr? }
102
100
 
103
101
  o = Ramaze::App[:scaffolding_extensions].options
104
102
  o.roots = [scaffold_template_dir]
@@ -94,7 +94,7 @@ module ScaffoldingExtensions::MetaModel
94
94
  :search_limit=>:scaffold_search_results_limit}.each do |default, iv|
95
95
  ivs = "@#{iv}"
96
96
  define_method(iv) do
97
- if instance_variables.include?(ivs)
97
+ if instance_variable_defined?(ivs)
98
98
  instance_variable_get(ivs)
99
99
  else
100
100
  instance_variable_set(ivs, SCAFFOLD_OPTIONS[default])
@@ -549,10 +549,19 @@ module ScaffoldingExtensions::MetaModel
549
549
  end
550
550
 
551
551
  # Filters the provided attributes to just the ones given by scaffold_attributes for
552
- # the given action.
552
+ # the given action, and converts foreign key fields to integers so that autocompleting
553
+ # works correctly.
553
554
  def scaffold_filter_attributes(action, attributes)
554
- allowed_attributes = scaffold_attributes(action).collect{|x| x.to_s}
555
- attributes.reject{|k,v| !allowed_attributes.include?(k.to_s.split('(')[0])}
555
+ convert_attributes, allowed_attributes = scaffold_fields(action).partition{|x| scaffold_association(x)}.map{|x| x.map{|y| scaffold_field_id(y).to_s}}
556
+ h = {}
557
+ attributes.each do |k,v|
558
+ if allowed_attributes.include?(k)
559
+ h[k] = v
560
+ elsif convert_attributes.include?(k)
561
+ h[k] = v.to_i.to_s
562
+ end
563
+ end
564
+ h
556
565
  end
557
566
 
558
567
  # The associations to include when loading the association
@@ -17,7 +17,7 @@ module ScaffoldingExtensions
17
17
  meth = "scaffold_#{action}_#{m}"
18
18
  if respond_to?(meth, true)
19
19
  Proc.new{send(meth)}
20
- elsif instance_variables.include?(meth = "@#{meth}")
20
+ elsif instance_variable_defined?(meth = "@#{meth}")
21
21
  Proc.new{instance_variable_get(meth)}
22
22
  end
23
23
  end
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.3.8
4
+ version: 1.3.9
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: 2009-06-12 00:00:00 -07:00
12
+ date: 2009-06-26 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -105,7 +105,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
105
105
  requirements:
106
106
  - - ">="
107
107
  - !ruby/object:Gem::Version
108
- version: "0"
108
+ version: 1.8.6
109
109
  version:
110
110
  required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  requirements: