scaffolding_extensions 1.4.6 → 1.5.0

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.
@@ -1,4 +1,4 @@
1
- Copyright (c) 2005-2010 Jeremy Evans
1
+ Copyright (c) 2005-2011 Jeremy Evans
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
data/README CHANGED
@@ -21,17 +21,16 @@ to better suit your needs.
21
21
  Scaffolding Extensions currently supports:
22
22
 
23
23
  * Web Frameworks
24
- * Rails 3.0.0
24
+ * Rails 3.0.3
25
25
  * Ramaze 2010.06.18
26
26
  * Camping 2.1
27
27
  * Sinatra 1.1.0
28
- * Merb 1.0.4
29
28
  * Rack 1.2.1
30
29
  * Object Relational Mappers
31
- * ActiveRecord 3.0.0
30
+ * ActiveRecord 3.0.3
32
31
  * Sequel 3.19.0
33
- * DataMapper 1.0 (see doc/datamapper.txt for details)
34
- * Javascript Libaries (used for Ajax/Autocompleting)
32
+ * DataMapper 1.0.2 (see doc/datamapper.txt for details)
33
+ * Javascript Libaries (used for Ajax/Autocompleting, default is now JQuery)
35
34
  * Prototype 1.6.0.3
36
35
  * JQuery 1.4.2 (with JQuery-Autocomplete 1.1)
37
36
 
@@ -72,7 +72,7 @@ module ScaffoldingExtensions
72
72
  auto_complete_skip_style ? '' : AUTO_COMPLETE_CSS
73
73
  end
74
74
 
75
- # The javascript library to use (defaults to Prototype)
75
+ # The javascript library to use (defaults to JQuery, can be set to 'Prototype')
76
76
  def javascript_library=(jslib)
77
77
  require "scaffolding_extensions/#{jslib.downcase}_helper"
78
78
  ScaffoldingExtensions::Helper.send(:include, const_get("#{jslib}Helper"))
@@ -91,7 +91,6 @@ require 'scaffolding_extensions/controller/action_controller' if defined? Action
91
91
  require 'scaffolding_extensions/controller/camping' if defined? Camping::Controllers
92
92
  require 'scaffolding_extensions/controller/ramaze' if defined? Ramaze::Controller
93
93
  require 'scaffolding_extensions/controller/sinatra' if defined? Sinatra
94
- require 'scaffolding_extensions/controller/merb' if defined? Merb
95
94
 
96
95
  require 'scaffolding_extensions/model/active_record' if defined? ActiveRecord::Base
97
96
  if defined? DataMapper::Resource
@@ -102,4 +101,4 @@ if defined? Sequel::Model
102
101
  require 'scaffolding_extensions/model/sequel'
103
102
  end
104
103
 
105
- ScaffoldingExtensions.javascript_library = 'Prototype'
104
+ ScaffoldingExtensions.javascript_library = 'JQuery'
@@ -119,7 +119,6 @@ module ScaffoldingExtensions
119
119
  include ScaffoldingExtensions::Controller
120
120
  include ScaffoldingExtensions::CampingController
121
121
  include ScaffoldingExtensions::Helper
122
- include ScaffoldingExtensions::PrototypeHelper
123
122
  include ScaffoldingExtensions::CampingHelper
124
123
  define_method(:get) do |path, meth, id|
125
124
  @scaffold_request_method = 'GET'
@@ -15,7 +15,6 @@ module ScaffoldingExtensions
15
15
 
16
16
  include ScaffoldingExtensions::Controller
17
17
  include ScaffoldingExtensions::Helper
18
- include ScaffoldingExtensions::PrototypeHelper
19
18
  include Rack::Utils
20
19
 
21
20
  class Redirect < StandardError
@@ -69,7 +68,7 @@ module ScaffoldingExtensions
69
68
  b = 'Not Found'
70
69
  end
71
70
 
72
- [s, h, b]
71
+ [s, h, [b]]
73
72
  end
74
73
 
75
74
  private
@@ -119,7 +119,6 @@ module ScaffoldingExtensions
119
119
  include ScaffoldingExtensions::Controller
120
120
  include ScaffoldingExtensions::RamazeController
121
121
  include ScaffoldingExtensions::Helper
122
- include ScaffoldingExtensions::PrototypeHelper
123
122
  end
124
123
  end
125
124
  end
@@ -109,7 +109,6 @@ module ScaffoldingExtensions
109
109
  include ScaffoldingExtensions::Controller
110
110
  include ScaffoldingExtensions::SinatraController
111
111
  include ScaffoldingExtensions::Helper
112
- include ScaffoldingExtensions::PrototypeHelper
113
112
  include ScaffoldingExtensions::SinatraHelper
114
113
  p = 'POST'
115
114
  block = lambda do
@@ -1,5 +1,3 @@
1
- require 'pp'
2
-
3
1
  ScaffoldingExtensions::MODEL_SUPERCLASSES << DataMapper::Resource
4
2
 
5
3
  def get_key_array_safe(key)
@@ -106,7 +104,7 @@ module ScaffoldingExtensions::MetaDataMapper
106
104
  def scaffold_associations
107
105
  @scaffold_associations ||= relationships.keys.select { |v|
108
106
  relationships[v].send(:target_model).respond_to?(:scaffold_name)
109
- }
107
+ }.sort_by{|name| name.to_s}
110
108
  end
111
109
 
112
110
  # Destroys the object
@@ -252,14 +250,10 @@ module ScaffoldingExtensions::MetaDataMapper
252
250
  def scaffold_reflection_merge(reflection, from, to)
253
251
  if reflection.class == DataMapper::Associations::OneToMany::Relationship
254
252
  foreign_key = get_key_array_safe(reflection.target_key).name
255
- p reflection
256
- p reflection.target_model
257
253
  table = reflection.target_model
258
254
  elsif reflection.class == DataMapper::Associations::ManyToMany::Relationship
259
255
  foreign_key = get_key_array_safe(reflection.through.child_key).name
260
- p reflection
261
256
  table = reflection.send(:through_model)
262
- p table
263
257
  else
264
258
  return
265
259
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scaffolding_extensions
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
4
+ hash: 3
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
- - 4
9
- - 6
10
- version: 1.4.6
8
+ - 5
9
+ - 0
10
+ version: 1.5.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jeremy Evans
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-01-21 00:00:00 -08:00
18
+ date: 2011-01-24 00:00:00 -08:00
19
19
  default_executable:
20
20
  dependencies: []
21
21
 
@@ -28,7 +28,7 @@ extensions: []
28
28
  extra_rdoc_files: []
29
29
 
30
30
  files:
31
- - LICENSE
31
+ - MIT-LICENSE
32
32
  - README
33
33
  - lib/scaffolding_extensions/model/active_record.rb
34
34
  - lib/scaffolding_extensions/model/sequel.rb
@@ -37,7 +37,6 @@ files:
37
37
  - lib/scaffolding_extensions/controller/camping.rb
38
38
  - lib/scaffolding_extensions/controller/ramaze.rb
39
39
  - lib/scaffolding_extensions/controller/sinatra.rb
40
- - lib/scaffolding_extensions/controller/merb.rb
41
40
  - lib/scaffolding_extensions/controller/rack.rb
42
41
  - lib/scaffolding_extensions/jquery_helper.rb
43
42
  - lib/scaffolding_extensions/meta_controller.rb
@@ -1,123 +0,0 @@
1
- module ScaffoldingExtensions
2
- class << self
3
- private
4
- # Use whatever model directory Merb is using.
5
- def model_files
6
- @model_files ||= Dir["#{Merb.dir_for(:model)}/*.rb"]
7
- end
8
- end
9
-
10
- # Helper methods for Merb that override the defaults in Scaffolding Extensions
11
- module MerbControllerHelper
12
- private
13
- # Merb apparently requires that params that are desired to be lists have
14
- # the suffix '[]'
15
- def scaffold_param_list_suffix
16
- '[]'
17
- end
18
- end
19
-
20
- # Instance methods for Merb necessary for Scaffolding Extensions
21
- module MerbController
22
- private
23
- def scaffold_flash
24
- message
25
- end
26
-
27
- def scaffold_method_not_allowed
28
- render('', :status=>405)
29
- end
30
-
31
- def scaffold_redirect_to(url)
32
- redirect("#{request.protocol}://#{request.host}#{url}")
33
- end
34
-
35
- # Renders user provided template if it exists, otherwise renders a scaffold template.
36
- # If a layout is specified (either in the controller or as an render_option), use that layout,
37
- # otherwise uses the scaffolded layout. If :inline is one of the render_options,
38
- # use the contents of it as the template without the layout.
39
- #
40
- # There may well be a much better way to do this via modifying the _template_roots, but
41
- # I didn't have much luck and decided to take the path I used with Camping,
42
- # rendering the templates directly.
43
- def scaffold_render_template(action, options = {}, render_options = {})
44
- suffix = options[:suffix]
45
- suffix_action = "#{action}#{suffix}".to_sym
46
- @scaffold_options ||= options
47
- @scaffold_suffix ||= suffix
48
- @scaffold_class ||= @scaffold_options[:class]
49
- begin
50
- render(suffix_action, render_options)
51
- rescue Merb::ControllerExceptions::TemplateNotFound
52
- if render_options.include?(:inline)
53
- headers['Content-Type'] = 'text/javascript' if @scaffold_javascript
54
- render(Erubis::Eruby.new(render_options[:inline]).result(binding), {:layout=>false}.merge(render_options))
55
- else
56
- html = Erubis::Eruby.new(File.read(scaffold_path(action))).result(binding)
57
- merb_layout = begin
58
- merb_layout = _get_layout
59
- rescue Merb::ControllerExceptions::TemplateNotFound
60
- merb_layout = false
61
- end
62
- if merb_layout
63
- render(html, render_options)
64
- else
65
- @content = html
66
- render(Erubis::Eruby.new(File.read(scaffold_path('layout'))).result(binding), render_options.merge(:layout=>false))
67
- end
68
- end
69
- end
70
- end
71
-
72
- def scaffold_request_action
73
- params[:action]
74
- end
75
-
76
- def scaffold_request_env
77
- request.env
78
- end
79
-
80
- # Merb overrides any given query params with the path params even if the
81
- # path params are nil. Work around it by getting the query params
82
- # directly.
83
- def scaffold_request_id
84
- params[:id] || request.send(:query_params)[:id]
85
- end
86
-
87
- def scaffold_request_method
88
- request.method.to_s.upcase
89
- end
90
-
91
- def scaffold_request_param(v)
92
- params[v]
93
- end
94
-
95
- def scaffold_session
96
- session
97
- end
98
-
99
- def scaffold_url(action, options = {})
100
- url(options.merge(:controller=>controller_name, :action=>action))
101
- end
102
- end
103
-
104
- # Class methods for Merb necessary for Scaffolding Extensions
105
- module MetaMerbController
106
- private
107
- # Adds a before filter for checking nonidempotent requests use method POST
108
- def scaffold_setup_helper
109
- include ScaffoldingExtensions::Helper
110
- include ScaffoldingExtensions::MerbControllerHelper
111
- include ScaffoldingExtensions::PrototypeHelper
112
- include ScaffoldingExtensions::Controller
113
- include ScaffoldingExtensions::MerbController
114
- before :scaffold_check_nonidempotent_requests
115
- end
116
- end
117
- end
118
-
119
- # Add class methods necessary for Scaffolding Extensions
120
- class Merb::Controller
121
- extend ScaffoldingExtensions::MetaController
122
- extend ScaffoldingExtensions::MetaMerbController
123
- end