scaffolding_extensions 1.4.6 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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