gemboree 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +59 -0
  3. data/Rakefile +38 -0
  4. data/app/assets/images/glyphicons-halflings-white.png +0 -0
  5. data/app/assets/images/glyphicons-halflings.png +0 -0
  6. data/app/assets/javascripts/bootstrap.js +2027 -0
  7. data/app/assets/javascripts/gemboree.js +2 -0
  8. data/app/assets/javascripts/scaffolds.js +20 -0
  9. data/app/assets/stylesheets/bootstrap-responsive.css +1092 -0
  10. data/app/assets/stylesheets/bootstrap.css +6039 -0
  11. data/app/assets/stylesheets/gemboree-nores.css +4 -0
  12. data/app/assets/stylesheets/gemboree.css +6 -0
  13. data/app/assets/stylesheets/navspace.css +4 -0
  14. data/app/assets/stylesheets/scaffolds.css +2 -0
  15. data/app/helpers/nav_helper.rb +7 -0
  16. data/app/helpers/sortable_helper.rb +10 -0
  17. data/app/models/role.rb +14 -0
  18. data/app/models/user_role.rb +11 -0
  19. data/app/views/layouts/_error_messages.html.erb +20 -0
  20. data/app/views/layouts/_errors.html.erb +11 -0
  21. data/config/routes.rb +3 -0
  22. data/lib/gemboree.rb +22 -0
  23. data/lib/gemboree/acts_as_actor.rb +47 -0
  24. data/lib/gemboree/version.rb +3 -0
  25. data/lib/generators/gemboree/devise_generator.rb +13 -0
  26. data/lib/generators/gemboree/install_generator.rb +46 -0
  27. data/lib/generators/gemboree/migration_generator.rb +25 -0
  28. data/lib/templates/devise/passwords/new.html.erb +27 -0
  29. data/lib/templates/devise/registrations/edit.html.erb +65 -0
  30. data/lib/templates/devise/registrations/new.html.erb +45 -0
  31. data/lib/templates/devise/sessions/new.html.erb +41 -0
  32. data/lib/templates/erb/scaffold/_form.html.erb +19 -0
  33. data/lib/templates/erb/scaffold/edit.html.erb +22 -0
  34. data/lib/templates/erb/scaffold/index.html.erb +31 -0
  35. data/lib/templates/erb/scaffold/new.html.erb +11 -0
  36. data/lib/templates/erb/scaffold/show.html.erb +22 -0
  37. data/lib/templates/gemboree/install/ability.rb +7 -0
  38. data/lib/templates/gemboree/install/application.html.erb +19 -0
  39. data/lib/templates/gemboree/install/home_controller.rb +6 -0
  40. data/lib/templates/gemboree/install/index.html.erb +5 -0
  41. data/lib/templates/gemboree/install/nav.html.erb +38 -0
  42. data/lib/templates/gemboree/install/users_controller.rb +7 -0
  43. data/lib/templates/migration/migration.rb +19 -0
  44. data/lib/templates/rails/scaffold_controller/controller.rb +81 -0
  45. data/test/gemboree_test.rb +7 -0
  46. data/test/test_helper.rb +15 -0
  47. metadata +195 -0
@@ -0,0 +1,19 @@
1
+ <%%= form_for(@<%= singular_table_name %>, :html => { class: 'form-horizontal well' }) do |f| %>
2
+
3
+ <%%= render 'layouts/errors', :target => @<%= singular_table_name %> %>
4
+
5
+ <% attributes.each do |attribute| -%>
6
+ <div class="control-group">
7
+ <%%= f.label :<%= attribute.name %>, class: 'control-label' %>
8
+ <div class="controls">
9
+ <%%= f.<%= attribute.field_type %> :<%= attribute.name %> %>
10
+ </div>
11
+ </div>
12
+ <% end -%>
13
+
14
+ <div class="form-actions">
15
+ <%%= link_to 'Cancel', <%= index_helper %>_path, class: 'btn' %>
16
+ <%%= f.submit class: 'btn btn-success' %>
17
+ </div>
18
+
19
+ <%% end %>
@@ -0,0 +1,22 @@
1
+ <div class="page-header">
2
+ <h1>Editing <%= singular_table_name.capitalize %></h1>
3
+ </div>
4
+
5
+ <div class="row-fluid">
6
+
7
+ <div class="span8">
8
+ <%%= render 'form' %>
9
+ </div>
10
+
11
+ <div class="span4">
12
+ <div class="well sidebar-nav">
13
+ <ul class="nav nav-list">
14
+ <li><%%= link_to '<i class="icon-list"></i> <%= singular_table_name.capitalize %> Index'.html_safe, <%= index_helper %>_path %></li>
15
+ <li><%%= link_to '<i class="icon-eye-open"></i> Show'.html_safe, @<%= singular_table_name %> %></li>
16
+ <li><%%= link_to '<i class="icon-minus"></i> Destroy'.html_safe, @<%= singular_table_name %>, method: :delete, data: { confirm: 'Are you sure?' } %></li>
17
+ <li><%%= link_to '<i class="icon-plus"></i> New <%= human_name %>'.html_safe, new_<%= singular_table_name %>_path %></li>
18
+ </ul>
19
+ </div><!--/.well -->
20
+ </div>
21
+
22
+ </div><!--/.row-fluid -->
@@ -0,0 +1,31 @@
1
+ <h1>Listing <%= plural_table_name %></h1>
2
+
3
+ <div class="row-fluid">
4
+
5
+ <table class="table table-condensed">
6
+ <tr>
7
+ <% attributes.each do |attribute| -%>
8
+ <th><%%= sortable '<%= attribute.name %>' %></th>
9
+ <% end -%>
10
+ <th></th>
11
+ <th></th>
12
+ <th></th>
13
+ </tr>
14
+
15
+ <%%= content_tag_for(:tr, @<%= plural_table_name %>) do |<%= singular_table_name %>| %>
16
+ <% attributes.each do |attribute| -%>
17
+ <td><%%= <%= singular_table_name %>.<%= attribute.name %> %></td>
18
+ <% end -%>
19
+ <td><%%= link_to 'Show', <%= singular_table_name %> %></td>
20
+ <td><%%= link_to 'Edit', edit_<%= singular_table_name %>_path(<%= singular_table_name %>), class: 'btn btn-edit' %></td>
21
+ <td><%%= link_to 'Destroy', <%= singular_table_name %>, method: :delete, data: { confirm: 'Are you sure?' }, class: 'btn btn-destroy' %></td>
22
+ <%% end %>
23
+ </table>
24
+
25
+ <%%= will_paginate @<%= plural_table_name %> %>
26
+
27
+ <div class="form-actions">
28
+ <%%= link_to 'New <%= human_name %>', new_<%= singular_table_name %>_path, class: 'btn btn-success' %>
29
+ </div>
30
+
31
+ </div><!--/.row-fluid -->
@@ -0,0 +1,11 @@
1
+ <div class="page-header">
2
+ <h1>New <%= singular_table_name %></h1>
3
+ </div>
4
+
5
+ <div class="row-fluid">
6
+
7
+ <div class="span8">
8
+ <%%= render 'form' %>
9
+ </div>
10
+
11
+ </div><!--/.row-fluid -->
@@ -0,0 +1,22 @@
1
+ <div class="row-fluid">
2
+
3
+ <div class="span8">
4
+ <% attributes.each do |attribute| -%>
5
+ <div>
6
+ <strong><%= attribute.human_name %></strong>
7
+ <%%= @<%= singular_table_name %>.<%= attribute.name %> %>
8
+ </div>
9
+ <% end -%>
10
+ </div>
11
+
12
+ <div class="span4">
13
+ <div class="well sidebar-nav">
14
+ <ul class="nav nav-list">
15
+ <li><%%= link_to '<i class="icon-list"></i> <%= singular_table_name.capitalize %> Index'.html_safe, <%= index_helper %>_path %></li>
16
+ <li><%%= link_to '<i class="icon-wrench"></i> Edit'.html_safe, edit_<%= singular_table_name %>_path(@<%= singular_table_name %>) %></li>
17
+ <li><%%= link_to '<i class="icon-plus"></i> New <%= human_name %>'.html_safe, new_<%= singular_table_name %>_path %></li>
18
+ </ul>
19
+ </div><!--/.well -->
20
+ </div>
21
+
22
+ </div><!--/.row-fluid -->
@@ -0,0 +1,7 @@
1
+ class Ability
2
+ include CanCan::Ability
3
+
4
+ def initialize(user)
5
+ can :manage, :all
6
+ end
7
+ end
@@ -0,0 +1,19 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <title>Gemboree</title>
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <%= stylesheet_link_tag "application", :media => "all" %>
7
+ <%= csrf_meta_tags %>
8
+ </head>
9
+ <body>
10
+ <%= render 'layouts/nav' %>
11
+
12
+ <div class="container-fluid">
13
+ <%= render 'layouts/error_messages' %>
14
+ <%= yield %>
15
+ </div>
16
+
17
+ <%= javascript_include_tag "application" %>
18
+ </body>
19
+ </html>
@@ -0,0 +1,6 @@
1
+ class HomeController < ApplicationController
2
+
3
+ def index
4
+ end
5
+
6
+ end
@@ -0,0 +1,5 @@
1
+ <div class="hero-unit">
2
+ <h1>Welcome to the Gemboree</h1>
3
+ <p>BCG DEV TEAM</p>
4
+ <a class="btn btn-primary btn-large">Call to Action »</a>
5
+ </div>
@@ -0,0 +1,38 @@
1
+ <div class="navbar navbar-inverse navbar-fixed-top">
2
+ <div class="navbar-inner">
3
+ <div class="container-fluid">
4
+
5
+ <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
6
+ <span class="icon-bar"></span>
7
+ <span class="icon-bar"></span>
8
+ <span class="icon-bar"></span>
9
+ </a>
10
+
11
+ <%= link_to 'Gemboree', root_path, class: 'brand' %>
12
+
13
+ <p class="navbar-text pull-right">
14
+ <a href="#" class="navbar-link">Sign In</a>
15
+ </p>
16
+
17
+ <div class="nav-collapse collapse">
18
+
19
+ <ul class="nav">
20
+
21
+ <li class="dropdown">
22
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
23
+ <ul class="dropdown-menu">
24
+ <li><%= link_to 'Index', '#' %></li>
25
+ <li><%= link_to 'New', '#' %></li>
26
+ </ul>
27
+ </li>
28
+
29
+ <li <%= active_link(:home, :index) %>><%= link_to 'Home', root_path %></li>
30
+ <li><%= link_to 'About', '#' %></li>
31
+ <li><%= link_to 'Contact', '#' %></li>
32
+ </ul>
33
+
34
+ </div><!-- ./nav-collapse -->
35
+
36
+ </div>
37
+ </div>
38
+ </div>
@@ -0,0 +1,7 @@
1
+ class UsersController < ApplicationController
2
+
3
+ def index
4
+ @users = User.all
5
+ end
6
+
7
+ end
@@ -0,0 +1,19 @@
1
+ class ActsAsActor < ActiveRecord::Migration
2
+
3
+ def change
4
+
5
+ create_table :roles do |t|
6
+ t.string :name, :null => false
7
+ t.integer :access_level, :null => false, :default => 0
8
+ t.timestamps
9
+ end
10
+
11
+ create_table :user_roles do |t|
12
+ t.references :user
13
+ t.references :role
14
+ t.timestamps
15
+ end
16
+
17
+ end
18
+
19
+ end
@@ -0,0 +1,81 @@
1
+ <% if namespaced? -%>
2
+ require_dependency "<%= namespaced_file_path %>/application_controller"
3
+
4
+ <% end -%>
5
+ <% module_namespacing do -%>
6
+ class <%= controller_class_name %>Controller < ApplicationController
7
+
8
+ load_and_authorize_resource
9
+ helper_method :sort_column, :sort_direction
10
+
11
+ def index
12
+ @<%= plural_table_name %> = <%= controller_class_name.singularize %>.order("#{sort_column} #{sort_direction}").page(params[:page])
13
+ respond_to do |format|
14
+ format.html
15
+ format.json { render json: <%= "@#{plural_table_name}" %> }
16
+ end
17
+ end
18
+
19
+ def show
20
+ respond_to do |format|
21
+ format.html
22
+ format.json { render json: <%= "@#{singular_table_name}" %> }
23
+ end
24
+ end
25
+
26
+ def new
27
+ @<%= singular_table_name %> = <%= orm_class.build(class_name) %>
28
+ respond_to do |format|
29
+ format.html
30
+ format.json { render json: <%= "@#{singular_table_name}" %> }
31
+ end
32
+ end
33
+
34
+ def edit
35
+ end
36
+
37
+ def create
38
+ @<%= singular_table_name %> = <%= orm_class.build(class_name, "params[:#{singular_table_name}]") %>
39
+ respond_to do |format|
40
+ if @<%= orm_instance.save %>
41
+ format.html { redirect_to @<%= singular_table_name %>, notice: <%= "'#{human_name} was successfully created.'" %> }
42
+ format.json { render json: <%= "@#{singular_table_name}" %>, status: :created, location: <%= "@#{singular_table_name}" %> }
43
+ else
44
+ format.html { render action: "new" }
45
+ format.json { render json: <%= "@#{orm_instance.errors}" %>, status: :unprocessable_entity }
46
+ end
47
+ end
48
+ end
49
+
50
+ def update
51
+ respond_to do |format|
52
+ if @<%= orm_instance.update_attributes("params[:#{singular_table_name}]") %>
53
+ format.html { redirect_to @<%= singular_table_name %>, notice: <%= "'#{human_name} was successfully updated.'" %> }
54
+ format.json { head :no_content }
55
+ else
56
+ format.html { render action: "edit" }
57
+ format.json { render json: <%= "@#{orm_instance.errors}" %>, status: :unprocessable_entity }
58
+ end
59
+ end
60
+ end
61
+
62
+ def destroy
63
+ @<%= orm_instance.destroy %>
64
+ respond_to do |format|
65
+ format.html { redirect_to <%= index_helper %>_url }
66
+ format.json { head :no_content }
67
+ end
68
+ end
69
+
70
+ private
71
+
72
+ def sort_column
73
+ <%= controller_class_name.singularize %>.column_names.include?(params[:sort]) ? params[:sort] : "created_at"
74
+ end
75
+
76
+ def sort_direction
77
+ %w[asc desc].include?(params[:direction]) ? params[:direction] : "asc"
78
+ end
79
+
80
+ end
81
+ <% end -%>
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class GemboreeTest < ActiveSupport::TestCase
4
+ test "truth" do
5
+ assert_kind_of Module, Gemboree
6
+ end
7
+ end
@@ -0,0 +1,15 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require "rails/test_help"
6
+
7
+ Rails.backtrace_cleaner.remove_silencers!
8
+
9
+ # Load support files
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
11
+
12
+ # Load fixtures from the engine
13
+ if ActiveSupport::TestCase.method_defined?(:fixture_path=)
14
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
15
+ end
metadata ADDED
@@ -0,0 +1,195 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gemboree
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.2
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Kyle Zarazan
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-01-27 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 3.2.8
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 3.2.8
30
+ - !ruby/object:Gem::Dependency
31
+ name: devise
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 2.1.2
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 2.1.2
46
+ - !ruby/object:Gem::Dependency
47
+ name: cancan
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 1.6.8
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 1.6.8
62
+ - !ruby/object:Gem::Dependency
63
+ name: will_paginate
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 3.0.3
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 3.0.3
78
+ - !ruby/object:Gem::Dependency
79
+ name: bootstrap-will_paginate
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: 0.0.9
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 0.0.9
94
+ - !ruby/object:Gem::Dependency
95
+ name: paperclip
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: '3.0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: '3.0'
110
+ description: Rails based boilerplate for using boostrap, cancan, and will_paginate
111
+ together.
112
+ email: hello@brocktoncg.com
113
+ executables: []
114
+ extensions: []
115
+ extra_rdoc_files: []
116
+ files:
117
+ - app/assets/images/glyphicons-halflings-white.png
118
+ - app/assets/images/glyphicons-halflings.png
119
+ - app/assets/javascripts/bootstrap.js
120
+ - app/assets/javascripts/gemboree.js
121
+ - app/assets/javascripts/scaffolds.js
122
+ - app/assets/stylesheets/bootstrap-responsive.css
123
+ - app/assets/stylesheets/bootstrap.css
124
+ - app/assets/stylesheets/gemboree-nores.css
125
+ - app/assets/stylesheets/gemboree.css
126
+ - app/assets/stylesheets/navspace.css
127
+ - app/assets/stylesheets/scaffolds.css
128
+ - app/helpers/nav_helper.rb
129
+ - app/helpers/sortable_helper.rb
130
+ - app/models/role.rb
131
+ - app/models/user_role.rb
132
+ - app/views/layouts/_error_messages.html.erb
133
+ - app/views/layouts/_errors.html.erb
134
+ - config/routes.rb
135
+ - lib/gemboree/acts_as_actor.rb
136
+ - lib/gemboree/version.rb
137
+ - lib/gemboree.rb
138
+ - lib/generators/gemboree/devise_generator.rb
139
+ - lib/generators/gemboree/install_generator.rb
140
+ - lib/generators/gemboree/migration_generator.rb
141
+ - lib/templates/devise/passwords/new.html.erb
142
+ - lib/templates/devise/registrations/edit.html.erb
143
+ - lib/templates/devise/registrations/new.html.erb
144
+ - lib/templates/devise/sessions/new.html.erb
145
+ - lib/templates/erb/scaffold/_form.html.erb
146
+ - lib/templates/erb/scaffold/edit.html.erb
147
+ - lib/templates/erb/scaffold/index.html.erb
148
+ - lib/templates/erb/scaffold/new.html.erb
149
+ - lib/templates/erb/scaffold/show.html.erb
150
+ - lib/templates/gemboree/install/ability.rb
151
+ - lib/templates/gemboree/install/application.html.erb
152
+ - lib/templates/gemboree/install/home_controller.rb
153
+ - lib/templates/gemboree/install/index.html.erb
154
+ - lib/templates/gemboree/install/nav.html.erb
155
+ - lib/templates/gemboree/install/users_controller.rb
156
+ - lib/templates/migration/migration.rb
157
+ - lib/templates/rails/scaffold_controller/controller.rb
158
+ - MIT-LICENSE
159
+ - Rakefile
160
+ - README.rdoc
161
+ - test/gemboree_test.rb
162
+ - test/test_helper.rb
163
+ homepage: http://brocktoncg.com
164
+ licenses: []
165
+ post_install_message:
166
+ rdoc_options: []
167
+ require_paths:
168
+ - lib
169
+ required_ruby_version: !ruby/object:Gem::Requirement
170
+ none: false
171
+ requirements:
172
+ - - ! '>='
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ segments:
176
+ - 0
177
+ hash: -1650833667735148537
178
+ required_rubygems_version: !ruby/object:Gem::Requirement
179
+ none: false
180
+ requirements:
181
+ - - ! '>='
182
+ - !ruby/object:Gem::Version
183
+ version: '0'
184
+ segments:
185
+ - 0
186
+ hash: -1650833667735148537
187
+ requirements: []
188
+ rubyforge_project:
189
+ rubygems_version: 1.8.24
190
+ signing_key:
191
+ specification_version: 3
192
+ summary: Gem based jamboree
193
+ test_files:
194
+ - test/gemboree_test.rb
195
+ - test/test_helper.rb