jscaffold 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. data/.gitignore +4 -0
  2. data/Gemfile +4 -0
  3. data/Rakefile +1 -0
  4. data/jscaffold.gemspec +26 -0
  5. data/lib/generators/jscaffold/USAGE +8 -0
  6. data/lib/generators/jscaffold/jscaffold_generator.rb +43 -0
  7. data/lib/generators/jscaffold/templates/controller/model_controller.rb +98 -0
  8. data/lib/generators/jscaffold/templates/helpers/jscaffold_helper.rb +23 -0
  9. data/lib/generators/jscaffold/templates/helpers/models_helper.rb +2 -0
  10. data/lib/generators/jscaffold/templates/jscaffold.css +12 -0
  11. data/lib/generators/jscaffold/templates/jscaffold.js +20 -0
  12. data/lib/generators/jscaffold/templates/migration.rb +12 -0
  13. data/lib/generators/jscaffold/templates/models/model.rb +2 -0
  14. data/lib/generators/jscaffold/templates/test/fixtures/.gitkeep +0 -0
  15. data/lib/generators/jscaffold/templates/test/fixtures/models.yml +25 -0
  16. data/lib/generators/jscaffold/templates/test/functional/.gitkeep +0 -0
  17. data/lib/generators/jscaffold/templates/test/functional/models_controller_test.rb +49 -0
  18. data/lib/generators/jscaffold/templates/test/unit/.gitkeep +0 -0
  19. data/lib/generators/jscaffold/templates/test/unit/helpers/models_helper_test.rb +4 -0
  20. data/lib/generators/jscaffold/templates/test/unit/model_test.rb +7 -0
  21. data/lib/generators/jscaffold/templates/views/_form.html.erb +11 -0
  22. data/lib/generators/jscaffold/templates/views/_item.html.erb +14 -0
  23. data/lib/generators/jscaffold/templates/views/edit.html.erb +9 -0
  24. data/lib/generators/jscaffold/templates/views/index.html.erb +43 -0
  25. data/lib/generators/jscaffold/templates/views/more.html.erb +3 -0
  26. data/lib/generators/jscaffold/templates/views/new.html.erb +6 -0
  27. data/lib/generators/jscaffold/templates/views/show.html.erb +17 -0
  28. data/lib/jscaffold.rb +5 -0
  29. data/lib/jscaffold/version.rb +3 -0
  30. metadata +87 -0
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in jscaffold.gemspec
4
+ gemspec
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
data/jscaffold.gemspec ADDED
@@ -0,0 +1,26 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "jscaffold/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "jscaffold"
7
+ s.version = Jscaffold::VERSION
8
+ s.authors = ["Viko Nava"]
9
+ s.email = ["viko.nava@gmail.com"]
10
+ s.homepage = ""
11
+ s.summary = %q{Scaffolding with jQuery Autocomplete and LoadMore button}
12
+ s.description = %q{A nice way to scaffold that includes autocomplete search field with categories and a Load More button that simulates endless page. Requires: jQuery, jQueryUI}
13
+
14
+ s.add_dependency "kaminari"
15
+
16
+ s.rubyforge_project = "jscaffold"
17
+
18
+ s.files = `git ls-files`.split("\n")
19
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
20
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
21
+ s.require_paths = ["lib"]
22
+
23
+ # specify any dependencies here; for example:
24
+ # s.add_development_dependency "rspec"
25
+ # s.add_runtime_dependency "rest-client"
26
+ end
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Explain the generator
3
+
4
+ Example:
5
+ rails generate jscaffold Thing
6
+
7
+ This will create:
8
+ what/will/it/create
@@ -0,0 +1,43 @@
1
+ class JscaffoldGenerator < Rails::Generators::Base
2
+ source_root File.expand_path('../templates', __FILE__)
3
+ argument :model, :type => :string
4
+ argument :attributes, :type => :array, :default => [], :banner => "field:type:boolean field:type:boolean"
5
+
6
+ def generator
7
+ copy_file "jscaffold.js", "app/assets/javascripts/jscaffold.js"
8
+ copy_file "jscaffold.css", "app/assets/stylesheets/jscaffold.css"
9
+ template "controller/model_controller.rb", "app/controllers/#{plural_model}_controller.rb"
10
+ template "views/index.html.erb", "app/views/#{plural_model}/index.html.erb"
11
+ template "views/new.html.erb", "app/views/#{plural_model}/new.html.erb"
12
+ template "views/show.html.erb", "app/views/#{plural_model}/show.html.erb"
13
+ template "views/edit.html.erb", "app/views/#{plural_model}/edit.html.erb"
14
+ template "views/more.html.erb", "app/views/#{plural_model}/more.html.erb"
15
+ template "views/_form.html.erb", "app/views/#{plural_model}/_form.html.erb"
16
+ template "views/_item.html.erb", "app/views/#{plural_model}/_#{model_name}.html.erb"
17
+ template "models/model.rb", "app/models/#{model_name}.rb"
18
+ template "migration.rb", "db/migrate/#{timestamp}_create_#{plural_model}.rb"
19
+ template "test/unit/model_test.rb", "test/unit/#{model_name}_test.rb"
20
+ template "test/fixtures/models.yml", "test/fixtures/#{plural_model}.yml"
21
+ template "test/functional/models_controller_test.rb", "test/functional/#{plural_model}_controller_test.rb"
22
+ template "test/unit/helpers/models_helper_test.rb", "test/unit/helpers/#{plural_model}_helper_test.rb"
23
+ template "helpers/models_helper.rb", "app/helpers/#{plural_model}_helper.rb"
24
+ copy_file "helpers/jscaffold_helper.rb", "app/helpers/jscaffold_helper.rb"
25
+ inject_into_file "app/helpers/application_helper.rb", " include JscaffoldHelper\n", :after => "module ApplicationHelper\n"
26
+ route "resources :#{plural_model}"
27
+ route "match '/#{plural_model}/page/:page_id' => '#{plural_model}#more'"
28
+ end
29
+
30
+ private
31
+
32
+ def model_name
33
+ model.singularize.downcase
34
+ end
35
+
36
+ def timestamp
37
+ Time.now.utc.strftime("%Y%m%d%k%M%S")
38
+ end
39
+
40
+ def plural_model
41
+ model_name.pluralize
42
+ end
43
+ end
@@ -0,0 +1,98 @@
1
+ class <%= plural_model.capitalize %>Controller < ApplicationController
2
+
3
+ def index<%
4
+ attributes.each do |attribute|
5
+ attribute = attribute.split(':')
6
+ if !attribute[2].nil? && attribute[2] == "true"%>
7
+ @<%= attribute[0] %>_data = Array.new<%
8
+ end
9
+ end
10
+ %>
11
+ <%= model_name.capitalize %>.all.each do |<%= model_name %>|<%
12
+ attributes.each do |attribute|
13
+ attribute = attribute.split(':')
14
+ if !attribute[2].nil? && attribute[2] == "true"%>
15
+ @<%= attribute[0] %>_data.push(<%= model_name %>.<%= attribute[0] %>) if !@<%= attribute[0] %>_data.include?(<%= model_name %>.<%= attribute[0] %>)<%
16
+ end
17
+ end
18
+ %>
19
+ end
20
+
21
+ params[:q] ? @q = params[:q] : @q = ""
22
+
23
+ query = "<%
24
+ attributes.each do |attribute|
25
+ attribute = attribute.split(':')
26
+ if !attribute[2].nil? && attribute[2] == "true"
27
+ %><%= attribute[0] %> LIKE ? OR <%
28
+ end
29
+ end
30
+ %>1 > ?"
31
+ @<%= plural_model %> = <%= model_name.capitalize %>.where(query, <%
32
+ attributes.each do |attribute|
33
+ attribute = attribute.split(':')
34
+ if !attribute[2].nil? && attribute[2] == "true"
35
+ %>"%#{params[:q]}%", <%
36
+ end
37
+ end
38
+ %> 2).page().per(10)
39
+ end
40
+
41
+ def more
42
+ query = "<%
43
+ attributes.each do |attribute|
44
+ attribute = attribute.split(':')
45
+ if !attribute[2].nil? && attribute[2] == "true"
46
+ %><%= attribute[0] %> LIKE ? OR <%
47
+ end
48
+ end
49
+ %>1 > ?"
50
+ @<%= plural_model %> = <%= model_name.capitalize %>.where(query, <%
51
+ attributes.each do |attribute|
52
+ attribute = attribute.split(':')
53
+ if !attribute[2].nil? && attribute[2] == "true"
54
+ %>"%#{params[:q]}%", <%
55
+ end
56
+ end
57
+ %> 2).page(params[:page_id]).per(10)
58
+
59
+ render :layout => false
60
+ end
61
+
62
+ def show
63
+ @<%= model_name %> = <%= model_name.capitalize %>.find(params[:id])
64
+ end
65
+
66
+ def new
67
+ @<%= model_name %> = <%= model_name.capitalize %>.new
68
+ end
69
+
70
+ def create
71
+ @<%= model_name %> = <%= model_name.capitalize %>.new(params[:<%= model_name %>])
72
+
73
+ if @<%= model_name %>.save
74
+ redirect_to <%= model_name %>_path(@<%= model_name %>), :notice => "Successfully created <%= model_name %>."
75
+ else
76
+ render :action => 'new'
77
+ end
78
+ end
79
+
80
+ def edit
81
+ @<%= model_name %> = <%= model_name.capitalize %>.find(params[:id])
82
+ end
83
+
84
+ def update
85
+ @<%= model_name %> = <%= model_name.capitalize %>.find(params[:id])
86
+ if @<%= model_name %>.update_attributes(params[:<%= model_name %>])
87
+ redirect_to <%= model_name %>_path(@<%= model_name %>), :notice => "Successfully updated <%= model_name %>."
88
+ else
89
+ render :action => 'edit'
90
+ end
91
+ end
92
+
93
+ def destroy
94
+ @<%= model_name %> = <%= model_name.capitalize %>.find(params[:id])
95
+ @<%= model_name %>.destroy
96
+ redirect_to <%= plural_model %>_path, :notice => "Successfully destroyed <%= model_name %>."
97
+ end
98
+ end
@@ -0,0 +1,23 @@
1
+ module JscaffoldHelper
2
+ def hide_more_button(model)
3
+ "<script>document.getElementById('#{model.table_name}_next_link').innerHTML = '';</script>".html_safe if model.last_page?
4
+ end
5
+
6
+ def search_data(data,category)
7
+ data.map{ |x| "{ label: '"+x+"', category: '"+category.capitalize+"' }," if x != category }.to_s.html_safe
8
+ end
9
+
10
+ def jqscript(model,data_a,searchf)
11
+ ("<script>$(function() { var data = [ "+data_a.map{ |x| x.reverse.take(1).map { |y| search_data(x,y) } }.to_s+"]; $(\"#"+model.table_name+"_search_field\").catcomplete({ delay: 0, source: data }); }); $(document).ready(function() { var currPage = 1; $(\"button."+model.table_name+"_next\").click(function() { loadMore(++currPage,'"+model.table_name+"','"+ searchf + "'); }); });</script>").html_safe
12
+ end
13
+
14
+ def search_field(model,search)
15
+ ("<form accept-charset=\"UTF-8\" action=\"/"+model.table_name+"/\" autocomplete=\"off\" method=\"get\"><div style=\"margin:0;padding:0;display:inline\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /></div><input id=\""+model.table_name+"_search_field\" name=\"q\" type=\"text\" value=\""+search+"\" /><input type=\"submit\" value=\"Search\" /></form>").html_safe
16
+ end
17
+
18
+ def jq_load_more_btn(model)
19
+ if !model.last_page?
20
+ ("<div id=\""+model.table_name+"_next_link\"><br/><center><button class=\""+model.table_name+"_next\" type=\"submit\" style=\"width:300px;\" name=\"button\">Load more</button></center></div>").html_safe
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,2 @@
1
+ module <%= plural_model.capitalize %>Helper
2
+ end
@@ -0,0 +1,12 @@
1
+ table {
2
+ margin: 0 auto;
3
+ }
4
+
5
+ table thead tr {
6
+ background-color: lightblue;
7
+ }
8
+
9
+ table thead th {
10
+ text-align: center;
11
+ font-weight: bold;
12
+ }
@@ -0,0 +1,20 @@
1
+ $.widget( "custom.catcomplete", $.ui.autocomplete, {
2
+ _renderMenu: function( ul, items ) {
3
+ var self = this,
4
+ currentCategory = "";
5
+ $.each( items, function( index, item ) {
6
+ if ( item.category != currentCategory ) {
7
+ ul.append( "<li class='ui-autocomplete-category'><b>" + item.category + "</b></li>" );
8
+ currentCategory = item.category;
9
+ }
10
+ self._renderItem( ul, item );
11
+ });
12
+ }
13
+ });
14
+
15
+ function loadMore(pageNo,model,searchf) {
16
+ $.get('page/' + pageNo + searchf, function(response) {
17
+ $('#'+model+"_data").append(response);
18
+ });
19
+ }
20
+
@@ -0,0 +1,12 @@
1
+ class Create<%= plural_model.capitalize %> < ActiveRecord::Migration
2
+ def change
3
+ create_table :<%= plural_model %> do |t|<%
4
+ attributes.each do |attribute|
5
+ attribute = attribute.split(':') %>
6
+ t.<%= attribute[1] %> :<%= attribute[0] %><%
7
+ end
8
+ %>
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,2 @@
1
+ class <%= model_name.capitalize %> < ActiveRecord::Base
2
+ end
@@ -0,0 +1,25 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/Fixtures.html
2
+
3
+ one:<%
4
+ attributes.each do |attribute|
5
+ attribute = attribute.split(':')
6
+ attribute[1] = "MyString" if attribute[1].downcase == "tring"
7
+ attribute[1] = "My Text" if attribute[1].downcase == "text"
8
+ attribute[1] = "1" if attribute[1].downcase == "integer"
9
+ attribute[1] = "1.0" if attribute[1].downcase == "float"
10
+ attribute[1] = "true" if attribute[1].downcase == "boolean"%>
11
+ <%= attribute[0] %>: <%= attribute[1] %><%
12
+ end
13
+ %>
14
+
15
+ two:<%
16
+ attributes.each do |attribute|
17
+ attribute = attribute.split(':')
18
+ attribute[1] = "MyString" if attribute[1].downcase == "tring"
19
+ attribute[1] = "My Text" if attribute[1].downcase == "text"
20
+ attribute[1] = "1" if attribute[1].downcase == "integer"
21
+ attribute[1] = "1.0" if attribute[1].downcase == "float"
22
+ attribute[1] = "true" if attribute[1].downcase == "boolean"%>
23
+ <%= attribute[0] %>: <%= attribute[1] %><%
24
+ end
25
+ %>
@@ -0,0 +1,49 @@
1
+ require 'test_helper'
2
+
3
+ class <%= plural_model.capitalize %>ControllerTest < ActionController::TestCase
4
+ setup do
5
+ @<%= model_name %> =<%= plural_model %>(:one)
6
+ end
7
+
8
+ test "should get index" do
9
+ get :index
10
+ assert_response :success
11
+ assert_not_nil assigns(:<%= plural_model %>)
12
+ end
13
+
14
+ test "should get new" do
15
+ get :new
16
+ assert_response :success
17
+ end
18
+
19
+ test "should create <%= model_name %>" do
20
+ assert_difference('<%= model_name.capitalize %>.count') do
21
+ post :create, :<%= model_name %> => @<%= model_name %>.attributes
22
+ end
23
+
24
+ assert_redirected_to <%= model_name %>_path(assigns(:<%= model_name %>))
25
+ end
26
+
27
+ test "should show <%= model_name %>" do
28
+ get :show, :id => @<%= model_name %>.to_param
29
+ assert_response :success
30
+ end
31
+
32
+ test "should get edit" do
33
+ get :edit, :id => @<%= model_name %>.to_param
34
+ assert_response :success
35
+ end
36
+
37
+ test "should update <%= model_name %>" do
38
+ put :update, :id => @<%= model_name %>.to_param, :<%= model_name %> => @<%= model_name %>.attributes
39
+ assert_redirected_to <%= model_name %>_path(assigns(:<%= model_name %>))
40
+ end
41
+
42
+ test "should destroy <%= model_name %>" do
43
+ assert_difference('<%= model_name.capitalize %>.count', -1) do
44
+ delete :destroy, :id => @<%= model_name %>.to_param
45
+ end
46
+
47
+ assert_redirected_to <%= plural_model %>_path
48
+ end
49
+ end
@@ -0,0 +1,4 @@
1
+ require 'test_helper'
2
+
3
+ class <%= plural_model.capitalize %>HelperTest < ActionView::TestCase
4
+ end
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class <%= model_name.capitalize %>Test < ActiveSupport::TestCase
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
@@ -0,0 +1,11 @@
1
+ <%%= form_for @<%= model_name %>, :html => {:multipart => true} do |f| %><%
2
+ attributes.each do |attribute|
3
+ attribute = attribute.split(':')%>
4
+ <p>
5
+ <%%= f.label :<%= attribute[0] %> %><br />
6
+ <%%= f.text_field :<%= attribute[0] %> %>
7
+ </p><%
8
+ end
9
+ %>
10
+ <p><%%= f.submit %></p>
11
+ <%% end %>
@@ -0,0 +1,14 @@
1
+ <tr><%
2
+ attributes.each do |attribute|
3
+ attribute = attribute.split(':')
4
+ if !attribute[2].nil? && attribute[2] == "true" %>
5
+ <td><%%= <%= model_name %>.<%= attribute[0] %> %></td><%
6
+ end
7
+ end
8
+ %>
9
+ <td>
10
+ <%%= link_to "Show", <%= model_name %> %>
11
+ <%%= link_to "Edit", edit_<%= model_name %>_path(<%= model_name %>) %>
12
+ <%%= link_to "Destroy", <%= model_name %>, :confirm => 'Are you sure?', :method => :delete %>
13
+ </td>
14
+ </tr>
@@ -0,0 +1,9 @@
1
+ <center>
2
+ <h1>Edit <%= model_name.capitalize %></h1>
3
+ <p>
4
+ <%%= link_to "Show", <%= model_name %>_path(@<%= model_name %>) %> |
5
+ <%%= link_to "View All", <%= plural_model %>_path %>
6
+ </p>
7
+ </center>
8
+
9
+ <%%= render 'form' %>
@@ -0,0 +1,43 @@
1
+ <%%= jqscript(@<%= plural_model %>,[<%
2
+ attributes.each do |attribute|
3
+ attribute = attribute.split(':')
4
+ if !attribute[2].nil? && attribute[2] == "true" %>@<%= attribute[0] %>_data.map{|x| x.to_s}.push('<%= attribute[0].pluralize %>'), <%
5
+ end
6
+ end
7
+ %>], "?utf8=✓&q="+@q) %>
8
+
9
+ <center>
10
+ <h1><%= plural_model.capitalize %></h1>
11
+ <%%= search_field(@<%= plural_model %>, @q) %>
12
+ </center><br/>
13
+
14
+ <table cellspacing="0" cellpadding="0">
15
+ <thead>
16
+ <tr>
17
+ <td colspan="100">
18
+ <%%= link_to "New <%= model_name.capitalize %>", new_<%= model_name %>_path %>
19
+ </td>
20
+ </tr>
21
+ <tr><%
22
+ attributes.each do |attribute|
23
+ attribute = attribute.split(':')
24
+ if !attribute[2].nil? && attribute[2] == "true" %>
25
+ <th><%= attribute[0].capitalize %></th><%
26
+ end
27
+ end
28
+ %>
29
+ <th></th>
30
+ </tr>
31
+ </thead>
32
+ <tbody id="<%= plural_model %>_data">
33
+ <%% if @<%= plural_model%>.empty? %>
34
+ <tr>
35
+ <td colspan="100" align="center"><i>There are no records</i></td>
36
+ </tr>
37
+ <%% else %>
38
+ <%%= render @<%= plural_model %> %>
39
+ <%% end %>
40
+ </tbody>
41
+ </table>
42
+
43
+ <%%= jq_load_more_btn(@<%= plural_model %>) %>
@@ -0,0 +1,3 @@
1
+ <%%= render @<%= plural_model %> %>
2
+
3
+ <%%= hide_more_button(@<%= plural_model %>) %>
@@ -0,0 +1,6 @@
1
+ <center>
2
+ <h1>New <%= model_name.capitalize %></h1>
3
+ <p><%%= link_to "View All", <%= plural_model %>_path %></p>
4
+ </center>
5
+
6
+ <%%= render 'form' %>
@@ -0,0 +1,17 @@
1
+ <center>
2
+ <h1><%= model_name.capitalize %></h1>
3
+ <p>
4
+ <%%= link_to "Edit", edit_<%= model_name %>_path(@<%= model_name %>) %> |
5
+ <%%= link_to "View All", <%= plural_model %>_path %>
6
+ </p>
7
+ </center>
8
+
9
+ <%
10
+ attributes.each do |attribute|
11
+ attribute = attribute.split(':')%>
12
+ <p>
13
+ <strong><%= attribute[0] %>:</strong>
14
+ <%%= @<%= model_name %>.<%= attribute[0] %> %>
15
+ </p><%
16
+ end
17
+ %>
data/lib/jscaffold.rb ADDED
@@ -0,0 +1,5 @@
1
+ require "jscaffold/version"
2
+
3
+ module Jscaffold
4
+ # Your code goes here...
5
+ end
@@ -0,0 +1,3 @@
1
+ module Jscaffold
2
+ VERSION = "0.9.0"
3
+ end
metadata ADDED
@@ -0,0 +1,87 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jscaffold
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Viko Nava
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-10-20 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: kaminari
16
+ requirement: &69835690 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *69835690
25
+ description: ! 'A nice way to scaffold that includes autocomplete search field with
26
+ categories and a Load More button that simulates endless page. Requires: jQuery,
27
+ jQueryUI'
28
+ email:
29
+ - viko.nava@gmail.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - .gitignore
35
+ - Gemfile
36
+ - Rakefile
37
+ - jscaffold.gemspec
38
+ - lib/generators/jscaffold/USAGE
39
+ - lib/generators/jscaffold/jscaffold_generator.rb
40
+ - lib/generators/jscaffold/templates/controller/model_controller.rb
41
+ - lib/generators/jscaffold/templates/helpers/jscaffold_helper.rb
42
+ - lib/generators/jscaffold/templates/helpers/models_helper.rb
43
+ - lib/generators/jscaffold/templates/jscaffold.css
44
+ - lib/generators/jscaffold/templates/jscaffold.js
45
+ - lib/generators/jscaffold/templates/migration.rb
46
+ - lib/generators/jscaffold/templates/models/model.rb
47
+ - lib/generators/jscaffold/templates/test/fixtures/.gitkeep
48
+ - lib/generators/jscaffold/templates/test/fixtures/models.yml
49
+ - lib/generators/jscaffold/templates/test/functional/.gitkeep
50
+ - lib/generators/jscaffold/templates/test/functional/models_controller_test.rb
51
+ - lib/generators/jscaffold/templates/test/unit/.gitkeep
52
+ - lib/generators/jscaffold/templates/test/unit/helpers/models_helper_test.rb
53
+ - lib/generators/jscaffold/templates/test/unit/model_test.rb
54
+ - lib/generators/jscaffold/templates/views/_form.html.erb
55
+ - lib/generators/jscaffold/templates/views/_item.html.erb
56
+ - lib/generators/jscaffold/templates/views/edit.html.erb
57
+ - lib/generators/jscaffold/templates/views/index.html.erb
58
+ - lib/generators/jscaffold/templates/views/more.html.erb
59
+ - lib/generators/jscaffold/templates/views/new.html.erb
60
+ - lib/generators/jscaffold/templates/views/show.html.erb
61
+ - lib/jscaffold.rb
62
+ - lib/jscaffold/version.rb
63
+ homepage: ''
64
+ licenses: []
65
+ post_install_message:
66
+ rdoc_options: []
67
+ require_paths:
68
+ - lib
69
+ required_ruby_version: !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ! '>='
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ required_rubygems_version: !ruby/object:Gem::Requirement
76
+ none: false
77
+ requirements:
78
+ - - ! '>='
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ requirements: []
82
+ rubyforge_project: jscaffold
83
+ rubygems_version: 1.8.10
84
+ signing_key:
85
+ specification_version: 3
86
+ summary: Scaffolding with jQuery Autocomplete and LoadMore button
87
+ test_files: []