railstrap 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +40 -0
- data/app/helpers/railstrap/application_helper.rb +260 -0
- data/config/routes.rb +2 -0
- data/lib/generators/railstrap/crud/USAGE +8 -0
- data/lib/generators/railstrap/crud/crud_generator.rb +160 -0
- data/lib/generators/railstrap/crud/templates/controller.rb +109 -0
- data/lib/generators/railstrap/crud/templates/view_edit.html.erb +12 -0
- data/lib/generators/railstrap/crud/templates/view_form.html.erb +18 -0
- data/lib/generators/railstrap/crud/templates/view_index.html.erb +11 -0
- data/lib/generators/railstrap/crud/templates/view_new.html.erb +12 -0
- data/lib/generators/railstrap/crud/templates/view_print.html.erb +13 -0
- data/lib/generators/railstrap/crud/templates/view_show.html.erb +14 -0
- data/lib/generators/railstrap/crud/templates/view_sidebar.html.erb +13 -0
- data/lib/generators/railstrap/crud/templates/view_signin.html.erb +36 -0
- data/lib/generators/railstrap/crud/templates/view_signup.html.erb +52 -0
- data/lib/generators/railstrap/crud/templates/view_text.html.erb +18 -0
- data/lib/generators/railstrap/install/install_generator.rb +74 -0
- data/lib/generators/railstrap/kaminari/templates/_first_page.html.erb +14 -0
- data/lib/generators/railstrap/kaminari/templates/_gap.html.erb +8 -0
- data/lib/generators/railstrap/kaminari/templates/_last_page.html.erb +14 -0
- data/lib/generators/railstrap/kaminari/templates/_next_page.html.erb +13 -0
- data/lib/generators/railstrap/kaminari/templates/_page.html.erb +12 -0
- data/lib/generators/railstrap/kaminari/templates/_paginator.html.erb +25 -0
- data/lib/generators/railstrap/kaminari/templates/_prev_page.html.erb +13 -0
- data/lib/generators/railstrap/layout/layout_generator.rb +30 -0
- data/lib/generators/railstrap/layout/templates/layout_railstrap.html.erb +134 -0
- data/lib/generators/railstrap/layout/templates/railstrap_painel.css.scss.erb +284 -0
- data/lib/generators/railstrap/layout/templates/railstrap_painel.js.erb +35 -0
- data/lib/railstrap.rb +9 -0
- data/lib/railstrap/action_controller.rb +29 -0
- data/lib/railstrap/active_record.rb +8 -0
- data/lib/railstrap/active_record/search.rb +52 -0
- data/lib/railstrap/engine.rb +29 -0
- data/lib/railstrap/version.rb +3 -0
- data/lib/tasks/railstrap_tasks.rake +4 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/javascripts/railstrap_painel.js +35 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/assets/stylesheets/railstrap_painel.css.scss +284 -0
- data/test/dummy/app/controllers/application_controller.rb +7 -0
- data/test/dummy/app/controllers/painel/authors_controller.rb +84 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/models/article.rb +3 -0
- data/test/dummy/app/models/author.rb +3 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/layouts/painel.html.erb +135 -0
- data/test/dummy/app/views/painel/authors/_form.html.erb +20 -0
- data/test/dummy/app/views/painel/authors/edit.html.erb +12 -0
- data/test/dummy/app/views/painel/authors/index.html.erb +12 -0
- data/test/dummy/app/views/painel/authors/new.html.erb +12 -0
- data/test/dummy/app/views/painel/authors/show.html.erb +14 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +56 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +65 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20120604170000_create_articles.rb +12 -0
- data/test/dummy/db/migrate/20120604170057_create_authors.rb +10 -0
- data/test/dummy/db/schema.rb +31 -0
- data/test/dummy/log/development.log +3278 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/dummy/test/fixtures/articles.yml +13 -0
- data/test/dummy/test/fixtures/authors.yml +9 -0
- data/test/dummy/test/unit/article_test.rb +7 -0
- data/test/dummy/test/unit/author_test.rb +7 -0
- data/test/dummy/tmp/cache/assets/C86/B70/sprockets%2Fcd9a89973c62604382628d4b42365c1a +0 -0
- data/test/dummy/tmp/cache/assets/CB3/120/sprockets%2F0725460776a8a901aa58b85f4cce5456 +0 -0
- data/test/dummy/tmp/cache/assets/CDD/EE0/sprockets%2F7ab399ca754638905a70e366e1c1ab33 +0 -0
- data/test/dummy/tmp/cache/assets/CE2/EE0/sprockets%2Fd78ec4726951f44cb085d0db080960e3 +0 -0
- data/test/dummy/tmp/cache/assets/D09/2B0/sprockets%2F045947e6b2bba2ff33c67b51b63734a6 +0 -0
- data/test/dummy/tmp/cache/assets/D0B/A40/sprockets%2F241cecf5326c934ab0440a7c76ad7597 +0 -0
- data/test/dummy/tmp/cache/assets/D1D/870/sprockets%2Fa9e5ee43f30c1886f8d66c413395bd63 +0 -0
- data/test/dummy/tmp/cache/assets/D2B/DD0/sprockets%2Fddc372002f3306cc0d74fea616ed1138 +0 -0
- data/test/dummy/tmp/cache/assets/D46/920/sprockets%2F8f3c0c4bf52b27a6646e49751e4e8f0c +0 -0
- data/test/dummy/tmp/cache/assets/D72/0B0/sprockets%2F56e9ec06e41d1cf9d692d674b5ddb210 +0 -0
- data/test/dummy/tmp/cache/assets/D7C/A80/sprockets%2Fd2d9ec09fb9bc7f8a0758392420e5c7d +0 -0
- data/test/dummy/tmp/cache/assets/D7D/9D0/sprockets%2F28fea8457f4a95a2c2d34a6e77df509e +0 -0
- data/test/dummy/tmp/cache/assets/D98/3C0/sprockets%2F36f548ab10ebcf8badf47d2719bb8500 +0 -0
- data/test/dummy/tmp/cache/assets/DB6/7B0/sprockets%2F120aa322daea3a2aa3667ffd6931eb9b +0 -0
- data/test/dummy/tmp/cache/assets/DCB/E50/sprockets%2F89f6b8aeb7d09c0bad5151bab92e5f42 +0 -0
- data/test/dummy/tmp/cache/assets/DCF/B50/sprockets%2F5ef130bc93784a52897bbab7bbd4c8ea +0 -0
- data/test/dummy/tmp/cache/assets/DD4/B00/sprockets%2F518e3d3f425eccc9558a03f6ddd36ced +0 -0
- data/test/dummy/tmp/cache/assets/E53/040/sprockets%2Fb7edacfada15c14fe43ea3b5fc8e2463 +0 -0
- data/test/dummy/tmp/cache/sass/0c9acd3b93b1d41708045c7041c76bbf41b2e963/_bootstrap-responsive.scssc +997 -0
- data/test/dummy/tmp/cache/sass/0c9acd3b93b1d41708045c7041c76bbf41b2e963/_bootstrap.scssc +0 -0
- data/test/dummy/tmp/cache/sass/1ea5acef392f2f8c40312d480463a71d2049b360/railstrap_painel.css.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_accordion.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_alerts.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_breadcrumbs.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_button-groups.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_buttons.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_carousel.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_close.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_code.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_component-animations.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_dropdowns.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_forms.scssc +1494 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_grid.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_hero-unit.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_labels-badges.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_layouts.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_mixins.scssc +2620 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_modals.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_navbar.scssc +1209 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_navs.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_pager.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_pagination.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_popovers.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_progress-bars.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_reset.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_scaffolding.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_sprites.scssc +1064 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_tables.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_thumbnails.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_tooltip.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_type.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_utilities.scssc +0 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_variables.scssc +684 -0
- data/test/dummy/tmp/cache/sass/9891e82674b6910cebee3910c86e2ef69e96f15b/_wells.scssc +0 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/railstrap_test.rb +7 -0
- data/test/test_helper.rb +15 -0
- metadata +420 -0
@@ -0,0 +1,109 @@
|
|
1
|
+
<% module_namespacing do -%>
|
2
|
+
<%
|
3
|
+
model_nome = class_name.split('::')
|
4
|
+
controller_class_name = class_name
|
5
|
+
if model_nome.count > 1
|
6
|
+
|
7
|
+
ptbl_nome = plural_table_name.split('_')
|
8
|
+
tbl_nome = singular_table_name.split('_')
|
9
|
+
#
|
10
|
+
model_nome.shift
|
11
|
+
|
12
|
+
#model_nome
|
13
|
+
#
|
14
|
+
ptbl_nome.shift
|
15
|
+
ptbl_nome = ptbl_nome.join('_')
|
16
|
+
#
|
17
|
+
tbl_nome.shift
|
18
|
+
tbl_nome = tbl_nome.join('_')
|
19
|
+
|
20
|
+
else
|
21
|
+
model_nome = class_name
|
22
|
+
ptbl_nome = plural_table_name
|
23
|
+
tbl_nome = singular_table_name
|
24
|
+
end
|
25
|
+
%>
|
26
|
+
class <%= controller_class_name %>Controller < ApplicationController
|
27
|
+
# GET <%= route_url %>
|
28
|
+
# GET <%= route_url %>.json
|
29
|
+
def index
|
30
|
+
@<%= ptbl_nome %> = <%= tbl_nome.camelcase %>.tb_search(:search => {:text => params[:search],:fields => ['id']}, :page => params[:page])
|
31
|
+
|
32
|
+
respond_to do |format|
|
33
|
+
format.html # index.html.erb
|
34
|
+
format.json { render :json => <%= "@#{ptbl_nome}" %> }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# GET <%= route_url %>/1
|
39
|
+
# GET <%= route_url %>/1.json
|
40
|
+
def show
|
41
|
+
@<%= tbl_nome %> = <%= tbl_nome.camelcase %>.find(params[:id])
|
42
|
+
|
43
|
+
respond_to do |format|
|
44
|
+
format.html # show.html.erb
|
45
|
+
format.json { render :json => <%= "@#{tbl_nome}" %> }
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# GET <%= route_url %>/new
|
50
|
+
# GET <%= route_url %>/new.json
|
51
|
+
def new
|
52
|
+
@<%= tbl_nome %> = <%= tbl_nome.camelcase %>.new
|
53
|
+
|
54
|
+
respond_to do |format|
|
55
|
+
format.html # new.html.erb
|
56
|
+
format.json { render :json => <%= "@#{tbl_nome}" %> }
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
# GET <%= route_url %>/1/edit
|
61
|
+
def edit
|
62
|
+
@<%= tbl_nome %> = <%= tbl_nome.camelcase %>.find(params[:id])
|
63
|
+
end
|
64
|
+
|
65
|
+
# POST <%= route_url %>
|
66
|
+
# POST <%= route_url %>.json
|
67
|
+
def create
|
68
|
+
@<%= tbl_nome %> = <%= tbl_nome.camelcase %>.new(params[:<%= tbl_nome %>])
|
69
|
+
|
70
|
+
respond_to do |format|
|
71
|
+
if @<%= tbl_nome %>.save
|
72
|
+
format.html { redirect_to <%=namespace_path%><%=tbl_nome%>_path(@<%= tbl_nome %>), :notice => <%= "'#{tbl_nome.camelcase} was successfully created.'" %> }
|
73
|
+
format.json { render :json => <%= "@#{tbl_nome}" %>, :status => :created, :location => <%= "@#{tbl_nome}" %> }
|
74
|
+
else
|
75
|
+
format.html { render :action => "new" }
|
76
|
+
format.json { render :json => <%= "@#{tbl_nome}" %>.errors , :status => :unprocessable_entity }
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
# PATCH/PUT <%= route_url %>/1
|
82
|
+
# PATCH/PUT <%= route_url %>/1.json
|
83
|
+
def update
|
84
|
+
@<%= tbl_nome %> = <%= tbl_nome.camelcase %>.find(params[:id])
|
85
|
+
|
86
|
+
respond_to do |format|
|
87
|
+
if @<%= tbl_nome%>.update_attributes(params[:<%=tbl_nome%>])
|
88
|
+
format.html { redirect_to <%=namespace_path%><%=tbl_nome%>_path(@<%= tbl_nome %>), :notice => <%= "'#{tbl_nome.camelcase} was successfully updated.'" %> }
|
89
|
+
format.json { head :ok }
|
90
|
+
else
|
91
|
+
format.html { render :action => "edit" }
|
92
|
+
format.json { render :json => <%= "@#{tbl_nome}" %>.errors, :status => :unprocessable_entity }
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
# DELETE <%= route_url %>/1
|
98
|
+
# DELETE <%= route_url %>/1.json
|
99
|
+
def destroy
|
100
|
+
@<%= tbl_nome %> = <%= tbl_nome.camelcase %>.find(params[:id])
|
101
|
+
@<%= tbl_nome%>.destroy
|
102
|
+
|
103
|
+
respond_to do |format|
|
104
|
+
format.html { redirect_to <%=namespace_path%><%=ptbl_nome%>_url }
|
105
|
+
format.json { head :ok }
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
<% end -%>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
|
2
|
+
<%%= tb_fixed_toolbar("<%= plural_model_name.humanize %>", <%= namespace_path %><%= plural_resource_name %>_path) do %>
|
3
|
+
<%%= tb_submit_button_to @<%= resource_name %>%>
|
4
|
+
<%%= tb_cancel_button_to @<%= resource_name %> %>
|
5
|
+
<%%= tb_delete_button_to @<%= resource_name %> %>
|
6
|
+
<%% end %>
|
7
|
+
|
8
|
+
<%%= simple_form_for @<%= resource_name %>, :url => <%= namespace_path %><%= plural_resource_name %>_path(@<%= resource_name %>),:html => { :class => 'form-vertical', :id => '<%= resource_name %>' } do |f| %>
|
9
|
+
|
10
|
+
<%%= render :partial=>'form', :locals=>{:f=>f} %>
|
11
|
+
|
12
|
+
<%%end%>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<%% if f.error_notification %>
|
2
|
+
<div class="alert alert-error fade in">
|
3
|
+
<a class="close" data-dismiss="alert" href="#">×</a>
|
4
|
+
<%%= f.error_notification %>
|
5
|
+
</div>
|
6
|
+
<%% end %>
|
7
|
+
|
8
|
+
|
9
|
+
<% columns.each do |column| %>
|
10
|
+
<%%= f.input :<%= column.name %>, :input_html => { :readonly => @readonly, :disabled=>@readonly } %>
|
11
|
+
<% end %>
|
12
|
+
|
13
|
+
<%='<!--
|
14
|
+
<div class="form-actions">'%>
|
15
|
+
<%%= f.button :submit, :class => 'btn-primary' %>
|
16
|
+
<%%= submit_tag 'Cancel', :type => :reset, :class => "btn btn-danger" %>
|
17
|
+
<%='</div>
|
18
|
+
-->'%>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<%%= tb_fixed_toolbar("<%= plural_model_name.humanize %>", <%= namespace_path %><%= plural_resource_name %>_path) do %>
|
2
|
+
<%%= tb_add_button_to <%= resource_name.camelcase %> %>
|
3
|
+
<%%=tb_search_tool <%= resource_name.camelcase %> %>
|
4
|
+
<%%= paginate @<%= plural_resource_name %> %>
|
5
|
+
<%% end %>
|
6
|
+
|
7
|
+
<%%= tb_table_for @<%= plural_resource_name %>, :actions=>[:show,:edit,:delete] do -%>
|
8
|
+
<% columns.each do |col| -%><%% column :<%=col.name%>, :title=>"<%=col.name.humanize%>" %>
|
9
|
+
<% end %>
|
10
|
+
<%%end%>
|
11
|
+
<%%= paginate @<%= plural_resource_name %> %>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
|
2
|
+
<%%= tb_fixed_toolbar("<%= plural_model_name.humanize %>", <%= namespace_path %><%= plural_resource_name %>_path) do %>
|
3
|
+
<%%= tb_submit_button_to @<%= resource_name %>%>
|
4
|
+
<%%= tb_cancel_button_to @<%= resource_name %> %>
|
5
|
+
<%% end %>
|
6
|
+
|
7
|
+
|
8
|
+
<%%= simple_form_for @<%= resource_name %>, :url => <%= namespace_path %><%= plural_resource_name %>_path,:html => { :class => 'form-vertical', :id => '<%= resource_name %>' } do |f| %>
|
9
|
+
|
10
|
+
<%%= render :partial=>'form', :locals=>{:f=>f} %>
|
11
|
+
|
12
|
+
<%%end%>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<%%=flexa_flash_message%>
|
2
|
+
|
3
|
+
|
4
|
+
<%%= semantic_form_for @<%= plural_resource_name %> do |f| %>
|
5
|
+
|
6
|
+
<%%= render :partial=>'form', :locals=>{:f=>f} %>
|
7
|
+
|
8
|
+
<%%= flexa_fixed_toolbar "<%= plural_model_name.humanize %>", <%= plural_resource_name %>_path do %>
|
9
|
+
<%%= flexa_submit_button "Imprimir" %>
|
10
|
+
<%%= flexa_cancel_button_to @<%= resource_name %> %>
|
11
|
+
<%%end%>
|
12
|
+
|
13
|
+
<%% end %>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
|
2
|
+
<%%= tb_fixed_toolbar("<%= plural_model_name.humanize %>", <%= namespace_path %><%= plural_resource_name %>_path) do %>
|
3
|
+
<%%= tb_cancel_button_to @<%= resource_name %> %>
|
4
|
+
<%%= tb_edit_button_to @<%= resource_name %> %>
|
5
|
+
<%%= tb_delete_button_to @<%= resource_name %> %>
|
6
|
+
<%% end %>
|
7
|
+
|
8
|
+
<%% @readonly = true %>
|
9
|
+
|
10
|
+
<%%= simple_form_for @<%= resource_name %>, :url => '#',:html => { :class => 'form-vertical' } do |f| %>
|
11
|
+
|
12
|
+
<%%= render :partial=>'form', :locals=>{:f=>f} %>
|
13
|
+
|
14
|
+
<%%end%>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<div class="block notice">
|
2
|
+
<h3>Simple Block</h3>
|
3
|
+
<div class="content">
|
4
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
|
5
|
+
</div>
|
6
|
+
</div>
|
7
|
+
<div class="block">
|
8
|
+
<h3>Links</h3>
|
9
|
+
<ul class="navigation">
|
10
|
+
<li><a href="#">Link 1</a></li>
|
11
|
+
<li><a href="#">Link 2</a></li>
|
12
|
+
</ul>
|
13
|
+
</div>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<h1><%= options[:app_name] %></h1>
|
2
|
+
<div class="block" id="block-login">
|
3
|
+
<h2>Login Box</h2>
|
4
|
+
<div class="content login">
|
5
|
+
<div class="flash">
|
6
|
+
<%% flash.each do |type, message| -%>
|
7
|
+
<div class="message <%%= type %>">
|
8
|
+
<p><%%= message %></p>
|
9
|
+
</div>
|
10
|
+
<%% end -%>
|
11
|
+
</div>
|
12
|
+
<%% form_tag({:action => :create}, :class => 'form login') do -%>
|
13
|
+
<div class="group wat-cf">
|
14
|
+
<div class="left">
|
15
|
+
<label class="label right">Login</label>
|
16
|
+
</div>
|
17
|
+
<div class="right">
|
18
|
+
<%%= text_field_tag :login, @login, :class => 'text_field' %>
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
<div class="group wat-cf">
|
22
|
+
<div class="left">
|
23
|
+
<label class="label right">Password</label>
|
24
|
+
</div>
|
25
|
+
<div class="right">
|
26
|
+
<%%= password_field_tag :password, nil, :class => 'text_field' %>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
<div class="group navform wat-cf">
|
30
|
+
<div class="right">
|
31
|
+
<input type="submit" class="button" value="Sign in" />
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
<%% end -%>
|
35
|
+
</div>
|
36
|
+
</div>
|
@@ -0,0 +1,52 @@
|
|
1
|
+
<h1><%= options[:app_name] %></h1>
|
2
|
+
<div class="block" id="block-signup">
|
3
|
+
<h2>Sign up</h2>
|
4
|
+
<div class="content">
|
5
|
+
<div class="flash">
|
6
|
+
<%% flash.each do |type, message| -%>
|
7
|
+
<div class="message <%%= type %>">
|
8
|
+
<p><%%= message %></p>
|
9
|
+
</div>
|
10
|
+
<%% end -%>
|
11
|
+
</div>
|
12
|
+
<%% form_for :<%= resource_name %>, :url => <%= controller_routing_path %>_path, :html => { :class => 'form' } do |f| -%>
|
13
|
+
<div class="group wat-cf">
|
14
|
+
<div class="left">
|
15
|
+
<label class="label">Login</label>
|
16
|
+
</div>
|
17
|
+
<div class="right">
|
18
|
+
<%%= f.text_field :login, :class => 'text_field' %>
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
<div class="group wat-cf">
|
22
|
+
<div class="left">
|
23
|
+
<label class="label">Email</label>
|
24
|
+
</div>
|
25
|
+
<div class="right">
|
26
|
+
<%%= f.text_field :email, :class => 'text_field' %>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
<div class="group wat-cf">
|
30
|
+
<div class="left">
|
31
|
+
<label class="label">Password</label>
|
32
|
+
</div>
|
33
|
+
<div class="right">
|
34
|
+
<%%= f.password_field :password, :class => 'text_field' %>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
|
38
|
+
<div class="group">
|
39
|
+
<div class="left wat-cf">
|
40
|
+
<label class="label">Password</label>
|
41
|
+
</div>
|
42
|
+
<div class="right">
|
43
|
+
<%%= f.password_field :password_confirmation, :class => 'text_field' %>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
|
47
|
+
<div class="group navform">
|
48
|
+
<input type="submit" class="button" value="Sign up" />
|
49
|
+
</div>
|
50
|
+
<%% end -%>
|
51
|
+
</div>
|
52
|
+
</div>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<div class="block" id="block-text">
|
2
|
+
<div class="content">
|
3
|
+
<h2 class="title"><%= resource_name.capitalize %></h2>
|
4
|
+
<div class="inner">
|
5
|
+
<p class="first">
|
6
|
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. <span class="hightlight">Excepteur sint occaecat cupidatat non proident</span>, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
7
|
+
</p>
|
8
|
+
<p> <span class="small">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore</span></p>
|
9
|
+
<p> <span class="gray">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore</span></p>
|
10
|
+
<hr />
|
11
|
+
<p>
|
12
|
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. <span class="hightlight">Excepteur sint occaecat cupidatat non proident</span>, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
13
|
+
</p>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
|
18
|
+
<%% content_for :sidebar, render(:partial => 'sidebar') -%>
|
@@ -0,0 +1,74 @@
|
|
1
|
+
#install_generator.rb
|
2
|
+
# adicionar isso à meu template de layout
|
3
|
+
# <title><%= options.app_name %></title>
|
4
|
+
# <%%= stylesheet_link_tag "web_app_theme" %>
|
5
|
+
#
|
6
|
+
|
7
|
+
module Railstrap
|
8
|
+
class InstallGenerator < Rails::Generators::Base
|
9
|
+
|
10
|
+
argument :nested, :type => :string, :required => true
|
11
|
+
argument :campos, :type => :array, :required => true
|
12
|
+
|
13
|
+
source_root File.expand_path('../templates', __FILE__)
|
14
|
+
|
15
|
+
def initialize(args, *options)
|
16
|
+
|
17
|
+
super(args, *options)
|
18
|
+
initialize_views_variables
|
19
|
+
end
|
20
|
+
|
21
|
+
def generate_lookup
|
22
|
+
template "layout_railstrap.html.erb", File.join('app/views/layouts', "#{nested.singularize.underscore}.html.erb")
|
23
|
+
end
|
24
|
+
|
25
|
+
protected
|
26
|
+
|
27
|
+
def initialize_views_variables
|
28
|
+
@controller_file_path = extract_modules(name)
|
29
|
+
end
|
30
|
+
|
31
|
+
def extract_modules(name)
|
32
|
+
modules = name.include?('/') ? name.split('/') : name.split('::')
|
33
|
+
name = modules.pop
|
34
|
+
path = modules.map { |m| m.underscore }
|
35
|
+
file_path = (path + [name.underscore]).join('/')
|
36
|
+
|
37
|
+
file_path
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
module Railstrap
|
44
|
+
class ThemeGenerator < Rails::Generators::Base
|
45
|
+
desc "Instala um Layout para Administração e cria o arquivo railstrap_painel.css.scss"
|
46
|
+
source_root File.expand_path('../templates', __FILE__)
|
47
|
+
|
48
|
+
argument :layout_name, :type => :string, :default => 'application'
|
49
|
+
|
50
|
+
#class_option :theme, :type => :string, :default => :default, :desc => 'Specify the layout theme'
|
51
|
+
class_option :app_name, :type => :string, :default => 'Railstrap Painel', :desc => 'Specify the application name'
|
52
|
+
#class_option :engine, :type => :string, :default => 'erb', :desc => 'Specify the template engine'
|
53
|
+
class_option :no_layout, :type => :boolean, :default => false, :desc => 'Use this option if you want to generate only stylesheets'
|
54
|
+
class_option :layout_type, :type => :string, :default => 'admin', :desc => 'Layout type, admin or sign'
|
55
|
+
|
56
|
+
def copy_layout
|
57
|
+
return if options.no_layout
|
58
|
+
admin_layout_name = options.layout_type == 'sign' ? "layout_sign.html.erb" : "layout_admin.html.erb"
|
59
|
+
#case options.engine
|
60
|
+
#when 'erb'
|
61
|
+
template admin_layout_name, "app/views/layouts/#{layout_name.underscore}.html.erb"
|
62
|
+
#when 'haml'
|
63
|
+
# generate_haml_layout(admin_layout_name)
|
64
|
+
#end
|
65
|
+
end
|
66
|
+
|
67
|
+
def copy_theme_stylesheet
|
68
|
+
template "railstrap_painel.css.scss.erb", "app/assets/stylesheets/railstrap_painel.css.scss"
|
69
|
+
end
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<%# Link to the "First" page
|
2
|
+
- available local variables
|
3
|
+
url: url to the first page
|
4
|
+
current_page: a page object for the currently displayed page
|
5
|
+
num_pages: total number of pages
|
6
|
+
per_page: number of items to fetch per page
|
7
|
+
remote: data-remote
|
8
|
+
-%>
|
9
|
+
<% unless current_page.first? %>
|
10
|
+
<li class="first">
|
11
|
+
<%= link_to_unless current_page.first?, raw(content_tag("i"," ",:class=>"icon-backward")
|
12
|
+
), url, :remote => remote %>
|
13
|
+
</li>
|
14
|
+
<% end %>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<%# Non-link tag that stands for skipped pages...
|
2
|
+
- available local variables
|
3
|
+
current_page: a page object for the currently displayed page
|
4
|
+
num_pages: total number of pages
|
5
|
+
per_page: number of items to fetch per page
|
6
|
+
remote: data-remote
|
7
|
+
-%>
|
8
|
+
<li class="page gap disabled"><a href="#" onclick="return false;"><%= raw(t 'views.pagination.truncate') %></a></li>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<%# Link to the "Last" page
|
2
|
+
- available local variables
|
3
|
+
url: url to the last page
|
4
|
+
current_page: a page object for the currently displayed page
|
5
|
+
num_pages: total number of pages
|
6
|
+
per_page: number of items to fetch per page
|
7
|
+
remote: data-remote
|
8
|
+
-%>
|
9
|
+
<% unless current_page.last? %>
|
10
|
+
<li class="last next"><%# "next" class present for border styling in twitter bootstrap %>
|
11
|
+
<%= link_to_unless current_page.last?, raw(content_tag("i"," ",:class=>"icon-forward")
|
12
|
+
), url, {:remote => remote} %>
|
13
|
+
</li>
|
14
|
+
<% end %>
|