admin_scaffold 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. data/.document +5 -0
  2. data/Gemfile +11 -0
  3. data/LICENSE.txt +20 -0
  4. data/README.rdoc +19 -0
  5. data/Rakefile +40 -0
  6. data/VERSION +1 -0
  7. data/admin_scaffold.gemspec +78 -0
  8. data/app/helpers/sortable_column_helper.rb +8 -0
  9. data/lib/admin_scaffold.rb +20 -0
  10. data/lib/admin_scaffold/engine.rb +6 -0
  11. data/lib/generators/admin_scaffold/scaffold/scaffold_generator.rb +30 -0
  12. data/lib/generators/admin_scaffold/scaffold/templates/_form.html.erb +15 -0
  13. data/lib/generators/admin_scaffold/scaffold/templates/edit.html.erb +6 -0
  14. data/lib/generators/admin_scaffold/scaffold/templates/index.html.erb +36 -0
  15. data/lib/generators/admin_scaffold/scaffold/templates/new.html.erb +5 -0
  16. data/lib/generators/admin_scaffold/scaffold/templates/show.html.erb +12 -0
  17. data/lib/generators/rails/admin_scaffold_helper/USAGE +20 -0
  18. data/lib/generators/rails/admin_scaffold_helper/admin_scaffold_helper_generator.rb +12 -0
  19. data/lib/generators/rails/admin_scaffold_helper/templates/helper.rb +2 -0
  20. data/lib/generators/rails/admin_scaffold_scaffold_controller/admin_scaffold_scaffold_controller_generator.rb +20 -0
  21. data/lib/generators/rails/admin_scaffold_scaffold_controller/templates/controller.rb +60 -0
  22. data/lib/generators/rails/admin_scaffold_stylesheets/USAGE +20 -0
  23. data/lib/generators/rails/admin_scaffold_stylesheets/admin_scaffold_stylesheets_generator.rb +12 -0
  24. data/lib/generators/rails/admin_scaffold_stylesheets/templates/scaffold.css +94 -0
  25. data/test/helper.rb +18 -0
  26. data/test/test_admin_scaffold.rb +7 -0
  27. metadata +156 -0
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ source "http://rubygems.org"
2
+ # Add dependencies required to use your gem here.
3
+ # Example:
4
+ # gem "activesupport", ">= 2.3.5"
5
+
6
+ # Add dependencies to develop your gem here.
7
+ # Include everything needed to run rake, tests, features, etc.
8
+ group :development do
9
+ gem "bundler", "~> 1.0.0"
10
+ gem "jeweler", "~> 1.5.2"
11
+ end
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 David Monagle
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,19 @@
1
+ = admin_scaffold
2
+
3
+ Description goes here.
4
+
5
+ == Contributing to admin_scaffold
6
+
7
+ * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
8
+ * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
9
+ * Fork the project
10
+ * Start a feature/bugfix branch
11
+ * Commit and push until you are happy with your contribution
12
+ * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
13
+ * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
14
+
15
+ == Copyright
16
+
17
+ Copyright (c) 2011 David Monagle. See LICENSE.txt for
18
+ further details.
19
+
data/Rakefile ADDED
@@ -0,0 +1,40 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'rake'
11
+
12
+ require 'jeweler'
13
+ Jeweler::Tasks.new do |gem|
14
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15
+ gem.name = "admin_scaffold"
16
+ gem.homepage = "http://github.com/intrica/admin_scaffold"
17
+ gem.license = "MIT"
18
+ gem.summary = %Q{Scaffold generator that has search, sort, pagination and column ordering.}
19
+ gem.description = %Q{This scaffold generator takes a lot of Ryan Bates' screencast ideas and puts them into scaffold generator.}
20
+ gem.email = "david.monagle@intrica.com.au"
21
+ gem.authors = ["David Monagle"]
22
+ # Include your dependencies below. Runtime dependencies are required when using your gem,
23
+ # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
24
+ gem.add_runtime_dependency 'simple_page', '> 3.0'
25
+ gem.add_runtime_dependency 'simple_form', '>= 1.3.0'
26
+ # gem.add_development_dependency 'rspec', '> 1.2.3'
27
+ end
28
+ Jeweler::RubygemsDotOrgTasks.new
29
+
30
+ task :default => :test
31
+
32
+ require 'rake/rdoctask'
33
+ Rake::RDocTask.new do |rdoc|
34
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
35
+
36
+ rdoc.rdoc_dir = 'rdoc'
37
+ rdoc.title = "admin_scaffold #{version}"
38
+ rdoc.rdoc_files.include('README*')
39
+ rdoc.rdoc_files.include('lib/**/*.rb')
40
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 3.0.2
@@ -0,0 +1,78 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{admin_scaffold}
8
+ s.version = "3.0.2"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["David Monagle"]
12
+ s.date = %q{2011-05-09}
13
+ s.description = %q{This scaffold generator takes a lot of Ryan Bates' screencast ideas and puts them into scaffold generator.}
14
+ s.email = %q{david.monagle@intrica.com.au}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ "Gemfile",
22
+ "LICENSE.txt",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "admin_scaffold.gemspec",
27
+ "app/helpers/sortable_column_helper.rb",
28
+ "lib/admin_scaffold.rb",
29
+ "lib/admin_scaffold/engine.rb",
30
+ "lib/generators/admin_scaffold/scaffold/scaffold_generator.rb",
31
+ "lib/generators/admin_scaffold/scaffold/templates/_form.html.erb",
32
+ "lib/generators/admin_scaffold/scaffold/templates/edit.html.erb",
33
+ "lib/generators/admin_scaffold/scaffold/templates/index.html.erb",
34
+ "lib/generators/admin_scaffold/scaffold/templates/new.html.erb",
35
+ "lib/generators/admin_scaffold/scaffold/templates/show.html.erb",
36
+ "lib/generators/rails/admin_scaffold_helper/USAGE",
37
+ "lib/generators/rails/admin_scaffold_helper/admin_scaffold_helper_generator.rb",
38
+ "lib/generators/rails/admin_scaffold_helper/templates/helper.rb",
39
+ "lib/generators/rails/admin_scaffold_scaffold_controller/admin_scaffold_scaffold_controller_generator.rb",
40
+ "lib/generators/rails/admin_scaffold_scaffold_controller/templates/controller.rb",
41
+ "lib/generators/rails/admin_scaffold_stylesheets/USAGE",
42
+ "lib/generators/rails/admin_scaffold_stylesheets/admin_scaffold_stylesheets_generator.rb",
43
+ "lib/generators/rails/admin_scaffold_stylesheets/templates/scaffold.css",
44
+ "test/helper.rb",
45
+ "test/test_admin_scaffold.rb"
46
+ ]
47
+ s.homepage = %q{http://github.com/intrica/admin_scaffold}
48
+ s.licenses = ["MIT"]
49
+ s.require_paths = ["lib"]
50
+ s.rubygems_version = %q{1.5.3}
51
+ s.summary = %q{Scaffold generator that has search, sort, pagination and column ordering.}
52
+ s.test_files = [
53
+ "test/helper.rb",
54
+ "test/test_admin_scaffold.rb"
55
+ ]
56
+
57
+ if s.respond_to? :specification_version then
58
+ s.specification_version = 3
59
+
60
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
61
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
62
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
63
+ s.add_runtime_dependency(%q<simple_page>, ["> 3.0"])
64
+ s.add_runtime_dependency(%q<simple_form>, [">= 1.3.0"])
65
+ else
66
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
67
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
68
+ s.add_dependency(%q<simple_page>, ["> 3.0"])
69
+ s.add_dependency(%q<simple_form>, [">= 1.3.0"])
70
+ end
71
+ else
72
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
73
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
74
+ s.add_dependency(%q<simple_page>, ["> 3.0"])
75
+ s.add_dependency(%q<simple_form>, [">= 1.3.0"])
76
+ end
77
+ end
78
+
@@ -0,0 +1,8 @@
1
+ module SortableColumnHelper
2
+ def sortable_column(column, title = nil)
3
+ title ||= column.titleize
4
+ css_class = column == sort_column ? "sorted_column sorted_#{sort_direction}" : nil
5
+ direction = column == sort_column && sort_direction == "asc" ? "desc" : "asc"
6
+ link_to title, params.merge(:sort_column => column, :sort_direction => direction), { :class => css_class }
7
+ end
8
+ end
@@ -0,0 +1,20 @@
1
+ require 'rails'
2
+ require "admin_scaffold/engine"
3
+ require "simple_page"
4
+ require "simple_form"
5
+
6
+ module AdminScaffold
7
+ module Rails
8
+ class Railtie < ::Rails::Railtie
9
+ if config.respond_to?(:app_generators)
10
+ g = config.app_generators
11
+ else
12
+ g = config.generators
13
+ end
14
+ g.template_engine :admin_scaffold
15
+ g.scaffold_controller :admin_scaffold_scaffold_controller
16
+ g.helper :admin_scaffold_helper
17
+ g.stylesheets :admin_scaffold_stylesheets
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,6 @@
1
+ require "rails"
2
+
3
+ module AdminScaffold
4
+ class Engine < Rails::Engine
5
+ end
6
+ end
@@ -0,0 +1,30 @@
1
+ require 'rails/generators/erb'
2
+ require 'rails/generators/erb/scaffold/scaffold_generator'
3
+ require 'rails/generators/resource_helpers'
4
+
5
+ module AdminScaffold
6
+ module Generators
7
+ class ScaffoldGenerator < Erb::Generators::ScaffoldGenerator
8
+ source_root File.expand_path("../templates", __FILE__)
9
+
10
+ argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
11
+
12
+ def create_root_folder
13
+ empty_directory File.join("app/views", controller_file_path)
14
+ end
15
+
16
+ def copy_view_files
17
+ available_views.each do |view|
18
+ filename = filename_with_extensions(view)
19
+ template filename, File.join("app/views", controller_file_path, filename)
20
+ end
21
+ end
22
+
23
+ protected
24
+
25
+ def available_views
26
+ %w(index edit show new _form)
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,15 @@
1
+ <%%= simple_form_for(@<%= singular_name %>) do |f| %>
2
+ <%%= f.error_notification %>
3
+
4
+ <%%= hidden_field_tag :sort_column, params[:sort_column] %>
5
+ <%%= hidden_field_tag :sort_direction, params[:sort_direction] %>
6
+ <div class="inputs">
7
+ <%- attributes.each do |attribute| -%>
8
+ <%%= f.<%= attribute.reference? ? :association : :input %> :<%= attribute.name %> %>
9
+ <%- end -%>
10
+ </div>
11
+
12
+ <div class="actions">
13
+ <%%= f.button :submit %>
14
+ </div>
15
+ <%% end %>
@@ -0,0 +1,6 @@
1
+ <h1>Editing <%= singular_table_name.titleize %></h1>
2
+
3
+ <%%= render 'form' %>
4
+
5
+ <%%= link_to 'Show', @<%= singular_table_name %> %> |
6
+ <%%= link_to 'Back', <%= index_helper %>_path %>
@@ -0,0 +1,36 @@
1
+ <h1><%= plural_table_name.titleize %></h1>
2
+
3
+ <%%= form_tag <%= plural_table_name %>_path, :method => 'get' do %>
4
+ <p>
5
+ <%%= text_field_tag :search, params[:search] %>
6
+ <%%= submit_tag "Search", :name => nil %>
7
+ </p>
8
+ <%% end %>
9
+
10
+ <table>
11
+ <tr>
12
+ <% for attribute in attributes -%>
13
+ <th><%%= sortable_column "<%= attribute.name %>", "<%= attribute.human_name %>" %></th>
14
+ <% end -%>
15
+ <th></th>
16
+ <th></th>
17
+ <th></th>
18
+ </tr>
19
+
20
+ <%% @<%= plural_table_name %>.page(@page).each do |<%= singular_table_name %>| %>
21
+ <tr>
22
+ <% for attribute in attributes -%>
23
+ <td><%%= <%= singular_table_name %>.<%= attribute.name %> %></td>
24
+ <% end -%>
25
+ <td><%%= link_to 'Show', <%= singular_table_name %> %></td>
26
+ <td><%%= link_to 'Edit', edit_<%= singular_table_name %>_path(<%= singular_table_name %>) %></td>
27
+ <td><%%= link_to 'Destroy', <%= singular_table_name %>, :confirm => 'Are you sure?', :method => :delete %></td>
28
+ </tr>
29
+ <%% end %>
30
+ </table>
31
+
32
+ <%%= page_links(@<%= plural_table_name %>, @page) %>
33
+
34
+ <br />
35
+
36
+ <%%= link_to 'New <%= human_name %>', new_<%= singular_table_name %>_path %>
@@ -0,0 +1,5 @@
1
+ <h1>New <%= singular_table_name.titleize %></h1>
2
+
3
+ <%%= render 'form' %>
4
+
5
+ <%%= link_to 'Back', <%= index_helper %>_path %>
@@ -0,0 +1,12 @@
1
+ <p id="notice"><%%= notice %></p>
2
+
3
+ <% for attribute in attributes -%>
4
+ <p>
5
+ <b><%= attribute.human_name %>:</b>
6
+ <%%= @<%= singular_table_name %>.<%= attribute.name %> %>
7
+ </p>
8
+
9
+ <% end -%>
10
+
11
+ <%%= link_to 'Edit', edit_<%= singular_table_name %>_path(@<%= singular_table_name %>) %> |
12
+ <%%= link_to 'Back', <%= index_helper %>_path %>
@@ -0,0 +1,20 @@
1
+ Description:
2
+ Stubs out a scaffolded controller and its views. Pass the model name,
3
+ either CamelCased or under_scored, and a list of views as arguments.
4
+ The controller name is retrieved as a pluralized version of the model
5
+ name.
6
+
7
+ To create a controller within a module, specify the model name as a
8
+ path like 'parent_module/controller_name'.
9
+
10
+ This generates a controller class in app/controllers and invokes helper,
11
+ template engine and test framework generators.
12
+
13
+ Example:
14
+ `rails generate scaffold_controller CreditCard`
15
+
16
+ Credit card controller with URLs like /credit_card/debit.
17
+ Controller: app/controllers/credit_cards_controller.rb
18
+ Functional Test: test/functional/credit_cards_controller_test.rb
19
+ Views: app/views/credit_cards/index.html.erb [...]
20
+ Helper: app/helpers/credit_cards_helper.rb
@@ -0,0 +1,12 @@
1
+ require 'rails/generators/rails/helper/helper_generator'
2
+
3
+ module Rails
4
+ module Generators
5
+ class AdminScaffoldHelperGenerator < HelperGenerator
6
+ def self.source_root
7
+ @_source_root ||= File.expand_path("templates", File.dirname(__FILE__))
8
+ end
9
+ protected
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,2 @@
1
+ module <%= class_name %>Helper
2
+ end
@@ -0,0 +1,20 @@
1
+ require 'rails/generators/rails/scaffold_controller/scaffold_controller_generator'
2
+
3
+ module Rails
4
+ module Generators
5
+ class AdminScaffoldScaffoldControllerGenerator < ScaffoldControllerGenerator
6
+ argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
7
+ def self.source_root
8
+ @_source_root ||= File.expand_path("templates", File.dirname(__FILE__))
9
+ end
10
+
11
+ def create_search_route
12
+ end
13
+
14
+ def create_sort_route
15
+ end
16
+
17
+ protected
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,60 @@
1
+ class <%= controller_class_name %>Controller < ApplicationController
2
+ helper :simple_page
3
+ helper :sortable_column
4
+ helper_method :sort_column, :sort_direction
5
+ respond_to :html, :xml, :json
6
+
7
+ # GET <%= route_url %>
8
+ def index
9
+ @<%= plural_table_name %> = <%= class_name %>.order(sort_column + " " + sort_direction)
10
+ @<%= plural_table_name %> = @<%= plural_table_name %>.where('<%=attributes.first.name%> LIKE ?', "%#{params[:search]}%") unless params[:search].nil?
11
+ @<%= plural_table_name %>.page_size = 10
12
+ @page = params[:page] || 1
13
+ respond_with(@<%= plural_table_name %>)
14
+ end
15
+
16
+ # GET <%= route_url %>/:id
17
+ def show
18
+ respond_with(@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>)
19
+ end
20
+
21
+ # GET <%= route_url %>/new
22
+ def new
23
+ respond_with(@<%= singular_table_name %> = <%= orm_class.build(class_name) %>)
24
+ end
25
+
26
+ # GET <%= route_url %>/:id/edit
27
+ def edit
28
+ respond_with(@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>)
29
+ end
30
+
31
+ # POST <%= route_url %>
32
+ def create
33
+ @<%= singular_table_name %> = <%= orm_class.build(class_name, "params[:#{singular_table_name}]") %>
34
+ @<%= orm_instance.save %>
35
+ respond_with(@<%= singular_table_name %>)
36
+ end
37
+
38
+ # PUT <%= route_url %>/:id
39
+ def update
40
+ @<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
41
+ @<%= orm_instance.update_attributes("params[:#{singular_table_name}]") %>
42
+ respond_with(@<%= singular_table_name %>)
43
+ end
44
+
45
+ # DELETE <%= route_url %>/:id
46
+ def destroy
47
+ @<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
48
+ respond_with(@<%= orm_instance.destroy %>)
49
+ end
50
+
51
+ private
52
+
53
+ def sort_column
54
+ <%=class_name%>.column_names.include?(params[:sort_column]) ? params[:sort_column] : "<%=attributes.first.name%>"
55
+ end
56
+
57
+ def sort_direction
58
+ %w[asc desc].include?(params[:sort_direction]) ? params[:sort_direction] : "asc"
59
+ end
60
+ end
@@ -0,0 +1,20 @@
1
+ Description:
2
+ Stubs out a scaffolded controller and its views. Pass the model name,
3
+ either CamelCased or under_scored, and a list of views as arguments.
4
+ The controller name is retrieved as a pluralized version of the model
5
+ name.
6
+
7
+ To create a controller within a module, specify the model name as a
8
+ path like 'parent_module/controller_name'.
9
+
10
+ This generates a controller class in app/controllers and invokes helper,
11
+ template engine and test framework generators.
12
+
13
+ Example:
14
+ `rails generate scaffold_controller CreditCard`
15
+
16
+ Credit card controller with URLs like /credit_card/debit.
17
+ Controller: app/controllers/credit_cards_controller.rb
18
+ Functional Test: test/functional/credit_cards_controller_test.rb
19
+ Views: app/views/credit_cards/index.html.erb [...]
20
+ Helper: app/helpers/credit_cards_helper.rb
@@ -0,0 +1,12 @@
1
+ require 'rails/generators/rails/stylesheets/stylesheets_generator'
2
+
3
+ module Rails
4
+ module Generators
5
+ class AdminScaffoldStylesheetsGenerator < StylesheetsGenerator
6
+ def self.source_root
7
+ @_source_root ||= File.expand_path("templates", File.dirname(__FILE__))
8
+ end
9
+ protected
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,94 @@
1
+ body { background-color: #fff; color: #333; }
2
+
3
+ body, p, ol, ul, td {
4
+ font-family: verdana, arial, helvetica, sans-serif;
5
+ font-size: 13px;
6
+ line-height: 18px;
7
+ }
8
+
9
+ pre {
10
+ background-color: #eee;
11
+ padding: 10px;
12
+ font-size: 11px;
13
+ }
14
+
15
+ a { color: #000; }
16
+ a:visited { color: #666; }
17
+ a:hover { color: #fff; background-color:#000; }
18
+
19
+ div.field, div.actions {
20
+ margin-bottom: 10px;
21
+ }
22
+
23
+ #notice {
24
+ color: green;
25
+ }
26
+
27
+ .field_with_errors {
28
+ padding: 2px;
29
+ background-color: red;
30
+ display: table;
31
+ }
32
+
33
+ #error_explanation {
34
+ width: 450px;
35
+ border: 2px solid red;
36
+ padding: 7px;
37
+ padding-bottom: 0;
38
+ margin-bottom: 20px;
39
+ background-color: #f0f0f0;
40
+ }
41
+
42
+ #error_explanation h2 {
43
+ text-align: left;
44
+ font-weight: bold;
45
+ padding: 5px 5px 5px 15px;
46
+ font-size: 12px;
47
+ margin: -7px;
48
+ margin-bottom: 0px;
49
+ background-color: #c00;
50
+ color: #fff;
51
+ }
52
+
53
+ #error_explanation ul li {
54
+ font-size: 12px;
55
+ list-style: square;
56
+ }
57
+
58
+ th .sorted_column
59
+ {
60
+ font-weight: bold;
61
+ padding-right: 12px;
62
+ background-repeat: no-repeat;
63
+ background-position: right center;
64
+ }
65
+
66
+ th .sorted_asc
67
+ {
68
+ background-image: url();
69
+ }
70
+
71
+ th .sorted_desc
72
+ {
73
+ background-image: url();
74
+ }
75
+
76
+ ul.page_select {
77
+ margin: 2px 5px 0px 0px;
78
+ list-style: none;
79
+ }
80
+
81
+ ul.page_select li {
82
+ display: inline-block;
83
+ float: left;
84
+ padding-right: 1em;
85
+ text-transform: uppercase;
86
+ color: #555;
87
+ }
88
+
89
+ ul.page_select li a { text-decoration: none; }
90
+
91
+ ul.page_select li.selected {
92
+ color: blue;
93
+ font-weight: bold;
94
+ }
data/test/helper.rb ADDED
@@ -0,0 +1,18 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'test/unit'
11
+ require 'shoulda'
12
+
13
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
15
+ require 'admin_scaffold'
16
+
17
+ class Test::Unit::TestCase
18
+ end
@@ -0,0 +1,7 @@
1
+ require 'helper'
2
+
3
+ class TestAdminScaffold < Test::Unit::TestCase
4
+ should "probably rename this file and start testing for real" do
5
+ flunk "hey buddy, you should probably rename this file and start testing for real"
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,156 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: admin_scaffold
3
+ version: !ruby/object:Gem::Version
4
+ hash: 3
5
+ prerelease:
6
+ segments:
7
+ - 3
8
+ - 0
9
+ - 2
10
+ version: 3.0.2
11
+ platform: ruby
12
+ authors:
13
+ - David Monagle
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-05-09 00:00:00 +10:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: bundler
23
+ version_requirements: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ hash: 23
29
+ segments:
30
+ - 1
31
+ - 0
32
+ - 0
33
+ version: 1.0.0
34
+ prerelease: false
35
+ type: :development
36
+ requirement: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: jeweler
39
+ version_requirements: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ hash: 7
45
+ segments:
46
+ - 1
47
+ - 5
48
+ - 2
49
+ version: 1.5.2
50
+ prerelease: false
51
+ type: :development
52
+ requirement: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: simple_page
55
+ version_requirements: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ">"
59
+ - !ruby/object:Gem::Version
60
+ hash: 7
61
+ segments:
62
+ - 3
63
+ - 0
64
+ version: "3.0"
65
+ prerelease: false
66
+ type: :runtime
67
+ requirement: *id003
68
+ - !ruby/object:Gem::Dependency
69
+ name: simple_form
70
+ version_requirements: &id004 !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ hash: 27
76
+ segments:
77
+ - 1
78
+ - 3
79
+ - 0
80
+ version: 1.3.0
81
+ prerelease: false
82
+ type: :runtime
83
+ requirement: *id004
84
+ description: This scaffold generator takes a lot of Ryan Bates' screencast ideas and puts them into scaffold generator.
85
+ email: david.monagle@intrica.com.au
86
+ executables: []
87
+
88
+ extensions: []
89
+
90
+ extra_rdoc_files:
91
+ - LICENSE.txt
92
+ - README.rdoc
93
+ files:
94
+ - .document
95
+ - Gemfile
96
+ - LICENSE.txt
97
+ - README.rdoc
98
+ - Rakefile
99
+ - VERSION
100
+ - admin_scaffold.gemspec
101
+ - app/helpers/sortable_column_helper.rb
102
+ - lib/admin_scaffold.rb
103
+ - lib/admin_scaffold/engine.rb
104
+ - lib/generators/admin_scaffold/scaffold/scaffold_generator.rb
105
+ - lib/generators/admin_scaffold/scaffold/templates/_form.html.erb
106
+ - lib/generators/admin_scaffold/scaffold/templates/edit.html.erb
107
+ - lib/generators/admin_scaffold/scaffold/templates/index.html.erb
108
+ - lib/generators/admin_scaffold/scaffold/templates/new.html.erb
109
+ - lib/generators/admin_scaffold/scaffold/templates/show.html.erb
110
+ - lib/generators/rails/admin_scaffold_helper/USAGE
111
+ - lib/generators/rails/admin_scaffold_helper/admin_scaffold_helper_generator.rb
112
+ - lib/generators/rails/admin_scaffold_helper/templates/helper.rb
113
+ - lib/generators/rails/admin_scaffold_scaffold_controller/admin_scaffold_scaffold_controller_generator.rb
114
+ - lib/generators/rails/admin_scaffold_scaffold_controller/templates/controller.rb
115
+ - lib/generators/rails/admin_scaffold_stylesheets/USAGE
116
+ - lib/generators/rails/admin_scaffold_stylesheets/admin_scaffold_stylesheets_generator.rb
117
+ - lib/generators/rails/admin_scaffold_stylesheets/templates/scaffold.css
118
+ - test/helper.rb
119
+ - test/test_admin_scaffold.rb
120
+ has_rdoc: true
121
+ homepage: http://github.com/intrica/admin_scaffold
122
+ licenses:
123
+ - MIT
124
+ post_install_message:
125
+ rdoc_options: []
126
+
127
+ require_paths:
128
+ - lib
129
+ required_ruby_version: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ hash: 3
135
+ segments:
136
+ - 0
137
+ version: "0"
138
+ required_rubygems_version: !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ hash: 3
144
+ segments:
145
+ - 0
146
+ version: "0"
147
+ requirements: []
148
+
149
+ rubyforge_project:
150
+ rubygems_version: 1.5.3
151
+ signing_key:
152
+ specification_version: 3
153
+ summary: Scaffold generator that has search, sort, pagination and column ordering.
154
+ test_files:
155
+ - test/helper.rb
156
+ - test/test_admin_scaffold.rb