rtrain 0.2.5 → 0.2.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +6 -0
- data/README.md +59 -0
- data/docs-img/quick_demo_inputs.md +36 -0
- data/docs-img/rtrain-placeholder.png +0 -0
- data/lib/generators/ajax_files/_delete.html.erb +16 -0
- data/lib/generators/ajax_files/_edit.html.erb +4 -0
- data/lib/generators/ajax_files/_form.html.erb +24 -0
- data/lib/generators/ajax_files/_index.html.erb +10 -0
- data/lib/generators/ajax_files/_new.html.erb +4 -0
- data/lib/generators/ajax_files/_save.js.erb +9 -0
- data/lib/generators/ajax_files/create.js.erb +1 -0
- data/lib/generators/ajax_files/delete.js.erb +2 -0
- data/lib/generators/ajax_files/destroy.js.erb +1 -0
- data/lib/generators/ajax_files/edit.js.erb +6 -0
- data/lib/generators/ajax_files/index.html.erb +25 -0
- data/lib/generators/ajax_files/new.js.erb +6 -0
- data/lib/generators/ajax_files/update.js.erb +1 -0
- data/lib/generators/controllers/ajax_controller.rb +51 -0
- data/lib/generators/controllers/main_controller.rb +5 -0
- data/lib/generators/controllers/sessions_app_controller.rb +11 -0
- data/lib/generators/controllers/user_sessions_controller.rb +27 -0
- data/lib/generators/controllers/users_controller.rb +21 -0
- data/lib/generators/models/user.rb +5 -0
- data/lib/generators/models/user_session.rb +2 -0
- data/lib/generators/rtrain/install_generator.rb +421 -0
- data/lib/generators/sessions/sessions_routes.rb +6 -0
- data/lib/generators/shared/_errors.html.erb +13 -0
- data/lib/generators/templates/ajax.scss +137 -0
- data/lib/generators/templates/forms.scss +35 -0
- data/lib/generators/templates/home.html.erb +21 -0
- data/lib/generators/templates/nav-bar.scss +25 -0
- data/lib/generators/templates/rtrain-application.html.erb +18 -0
- data/lib/generators/templates/rtrain_scaffold.scss +132 -0
- data/lib/generators/templates/sign-in.scss +31 -0
- data/lib/generators/user_sessions/new.html.erb +22 -0
- data/lib/generators/users/new.html.erb +22 -0
- data/lib/rtrain.rb +2 -0
- data/rtrain-0.0.1.gem +0 -0
- data/rtrain-0.0.2.gem +0 -0
- data/rtrain-0.0.3.gem +0 -0
- data/rtrain-0.0.4.gem +0 -0
- data/rtrain-0.0.5.gem +0 -0
- data/rtrain-0.0.6.gem +0 -0
- data/rtrain-0.0.7.gem +0 -0
- data/rtrain-0.0.8.gem +0 -0
- data/rtrain-0.0.9.gem +0 -0
- data/rtrain-0.1.0.gem +0 -0
- data/rtrain-0.1.1.gem +0 -0
- data/rtrain-0.1.2.gem +0 -0
- data/rtrain-0.1.3.gem +0 -0
- data/rtrain-0.1.4.gem +0 -0
- data/rtrain-0.1.5.gem +0 -0
- data/rtrain-0.1.6.gem +0 -0
- data/rtrain-0.1.7.gem +0 -0
- data/rtrain-0.1.8.gem +0 -0
- data/rtrain-0.1.9.gem +0 -0
- data/rtrain-0.2.0.gem +0 -0
- data/rtrain-0.2.1.gem +0 -0
- data/rtrain-0.2.2.gem +0 -0
- data/rtrain-0.2.3.gem +0 -0
- data/rtrain-0.2.4.gem +0 -0
- data/rtrain-0.2.5.gem +0 -0
- data/rtrain-0.2.6.gem +0 -0
- data/rtrain.gemspec +4 -4
- metadata +68 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a46b9fe771c160897d3d1a750ffaf4baa6108299
|
4
|
+
data.tar.gz: 3f3753972aac6c07e67a8c6557aa2bd3e5629a4e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d7c1eb4a849da271c08cdf8c2a09cc7dd2f1a1ee732996f0d68cee92223da625ca0f6163ec7945fa8c14ff077b48f4f3c2bec8c4cbe14661afb4a86c6b82055
|
7
|
+
data.tar.gz: c6f8275150d43904ea8707ff48ecac7060958a03af839ab9778afb6fb76ec6155896a95549a73c2de34b1ef6d8c74c12ac47d5c727f0549c32f9c8382a7c7526
|
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
# RTrain
|
2
|
+
![Ugh](http://www.heyridge.com/wp-content/uploads/2015/03/File-2012-12-29-R-train.jpg)
|
3
|
+
_Ugh._
|
4
|
+
|
5
|
+
#Rails Downloadable Content (DLC) Expansion Pack
|
6
|
+
Adds better CSS to scaffold, HTML navigation, more features are in the pipe, so stay tuned ... _DLC Season Pass Coming Soon Too!_
|
7
|
+
|
8
|
+
#How to use RTrain
|
9
|
+
|
10
|
+
_It is HIGHLY recommended that developers using RTrain execute these generator commands in sequence, and to always scaffold generate all models!!!_
|
11
|
+
|
12
|
+
**Put this in your Gemfile**
|
13
|
+
```
|
14
|
+
gem 'rtrain', '~> 0.2.6'
|
15
|
+
```
|
16
|
+
Then `bundle install`
|
17
|
+
|
18
|
+
**After generating a scaffold, enter any of these into the command line:**
|
19
|
+
|
20
|
+
```
|
21
|
+
rails generate rtrain:install --copy_css
|
22
|
+
```
|
23
|
+
(http://i.imgur.com/xzbeMWC.png)
|
24
|
+
_Oooooooooooooo!_
|
25
|
+
|
26
|
+
Turns your basic scaffold into something that's at least tolerable to look at!
|
27
|
+
|
28
|
+
**Add a sweet nav bar!**
|
29
|
+
```
|
30
|
+
rails generate rtrain:install --copy_css
|
31
|
+
```
|
32
|
+
(http://i.imgur.com/hywhd0t.png)
|
33
|
+
|
34
|
+
**Add a home page controller and view, and set it as the root**
|
35
|
+
```
|
36
|
+
rails generate rtrain:install --add_homepage
|
37
|
+
```
|
38
|
+
(http://i.imgur.com/LuNqg3O.png)
|
39
|
+
|
40
|
+
**Add User Authentication Sessions (email & password login)
|
41
|
+
|
42
|
+
```
|
43
|
+
rails generate rtrain:install --add_user_sessions
|
44
|
+
```
|
45
|
+
(http://i.imgur.com/oyNYFbz.png)
|
46
|
+
|
47
|
+
Special thanks to Justin Weiss for the template -
|
48
|
+
http://www.justinweiss.com/articles/how-rails-sessions-work/
|
49
|
+
|
50
|
+
|
51
|
+
**Add Ajax Crud (no page refreshes on create, update, or destroy!)
|
52
|
+
```
|
53
|
+
rails generate rtrain:install --ajaxify
|
54
|
+
```
|
55
|
+
(http://i.imgur.com/Zm2iP6W.png)
|
56
|
+
|
57
|
+
Special thanks to Rich on Rails for the template -
|
58
|
+
https://richonrails.com/articles/basic-ajax-in-ruby-on-rails
|
59
|
+
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#Quick Demo Inputs
|
2
|
+
|
3
|
+
Use these commands to spin up some dummy data using the FFaker Gem (with Hipster Ipsum)
|
4
|
+
|
5
|
+
In the command line:
|
6
|
+
```
|
7
|
+
gem install ffaker
|
8
|
+
|
9
|
+
```
|
10
|
+
|
11
|
+
In your Rails app's Gemfile add
|
12
|
+
|
13
|
+
```
|
14
|
+
require 'ffaker'
|
15
|
+
```
|
16
|
+
|
17
|
+
Go back to the command line
|
18
|
+
|
19
|
+
```
|
20
|
+
rails g scaffold contacts name:string address:string phone:string email_address:string about:string
|
21
|
+
|
22
|
+
rake db:create db:migrate
|
23
|
+
|
24
|
+
rails g scaffold comments subject:string content:text
|
25
|
+
|
26
|
+
rake db:migrate
|
27
|
+
```
|
28
|
+
|
29
|
+
In Rails Console ($rails c)
|
30
|
+
```
|
31
|
+
40.times do Contact.create(name: FFaker::Name.name, address: FFaker::AddressUS.street_address + ", " + FFaker::AddressUS.city + ", " + FFaker::AddressUS.state + " " + FFaker::AddressUS.zip_code, phone: FFaker::PhoneNumber.short_phone_number,email_address: FFaker::Internet.email, about: FFaker::HipsterIpsum.phrase)end
|
32
|
+
|
33
|
+
40.times do Comment.create(subject: FFaker::HipsterIpsum.phrase, content: FFaker::HipsterIpsum.paragraph)end
|
34
|
+
```
|
35
|
+
|
36
|
+
Now you've got some bangin' filler data!
|
Binary file
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<div class="modal-dialog">
|
2
|
+
<div class="modal-content">
|
3
|
+
<div class="modal-header">
|
4
|
+
<span class="modalheader-text">Delete rt_mod_cap</span>
|
5
|
+
<a class="modalheader-a" href ="#"><img class="xbutton" style="float: right;" height="12px" width="12px" src="close-button.png"></a>
|
6
|
+
</div>
|
7
|
+
<div class="modal-body">
|
8
|
+
<ul class="errors"></ul>
|
9
|
+
Are you sure you wish to delete <b><%= @rt_mod_low.name %></b>?
|
10
|
+
</div>
|
11
|
+
<div class="modal-footer">
|
12
|
+
<%= link_to "Yes, Delete This rt_mod_cap", rt_mod_low_path(@rt_mod_low), method: :delete, remote: true, class: "btn btn-danger" %>
|
13
|
+
<%= link_to "No, Please Don't", "#", class: "btn btn-default", data: { dismiss: "modal" } %>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
</div>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<%if !current_user%>
|
2
|
+
<div id='blank'>
|
3
|
+
<div id='alert'>
|
4
|
+
<h3>Must be SIGNED IN to add rt_mod_cap!</h3>
|
5
|
+
</div>
|
6
|
+
</div>
|
7
|
+
<%end%>
|
8
|
+
|
9
|
+
<div class="modal-dialog">
|
10
|
+
<div class="modal-content">
|
11
|
+
<%= form_for @rt_mod_low, remote: true, html: { style: "display:inline;" } do |f| %>
|
12
|
+
<ul class="errors"></ul>
|
13
|
+
|
14
|
+
<!-- rt_mod_fields -->
|
15
|
+
|
16
|
+
|
17
|
+
<div class="actions">
|
18
|
+
<%= f.submit class: "ajax-form-button" %>
|
19
|
+
<%= link_to "Cancel", "#", class: "ajax-form-button", data: {dismiss: "modal"} %>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
<% end %>
|
23
|
+
</div>
|
24
|
+
</div>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<% @rt_mod_low_plur.order('id DESC').each do |rt_mod_low| %>
|
2
|
+
<tr>
|
3
|
+
|
4
|
+
<!-- rt_mod_cols -->
|
5
|
+
|
6
|
+
<td><%= link_to "Edit", edit_rt_mod_low_path(rt_mod_low), remote: true%></td>
|
7
|
+
<td><%= link_to "Delete", rt_mod_low, method: :delete, remote: true%></td>
|
8
|
+
|
9
|
+
</tr>
|
10
|
+
<% end %>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
$("ul.errors").html("")
|
2
|
+
<% if @rt_mod_low.errors.any? %>
|
3
|
+
<% @rt_mod_low.errors.full_messages.each do |message| %>
|
4
|
+
$("ul.errors").append($("<li />").html("<%= message.html_safe %>"))
|
5
|
+
<% end %>
|
6
|
+
<% else %>
|
7
|
+
$(".rt_mod_low-index").html("<%= escape_javascript(render 'index') %>")
|
8
|
+
$(".modal").hide();
|
9
|
+
<% end %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render "save" %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render 'save' %>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
$("#rt_mod_low-modal").html("<%= escape_javascript(render 'edit') %>")
|
2
|
+
$("#rt_mod_low-modal").show();
|
3
|
+
$("#rt_mod_low-modal").draggable().resizable({ handles: "n, e, s, w, se, sw, nw, ne" });
|
4
|
+
$(".ajax-form-button").click(function(){
|
5
|
+
$("#comment-modal").hide();
|
6
|
+
})
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
2
|
+
<script>
|
3
|
+
$("#rt_mod_low-modal").hide();
|
4
|
+
</script>
|
5
|
+
|
6
|
+
<div id="view-info">
|
7
|
+
<h2>rt_mod_cap_plur Index View</h2>
|
8
|
+
<button id="add-button">
|
9
|
+
<%= link_to '+ Add New rt_mod_cap', new_rt_mod_low_path, remote: true %></button>
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<div id="rt_mod_low-modal" class="modal"></div>
|
13
|
+
<table>
|
14
|
+
<thead>
|
15
|
+
<tr>
|
16
|
+
<!-- rt_mod_hdr_cols -->
|
17
|
+
<td> </td>
|
18
|
+
<td> </td>
|
19
|
+
</tr>
|
20
|
+
</thead>
|
21
|
+
<tbody class="rt_mod_low-index">
|
22
|
+
<%= render "index" %>
|
23
|
+
</tbody>
|
24
|
+
</table>
|
25
|
+
</div>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
$("#rt_mod_low-modal").html("<%= escape_javascript(render 'new') %>");
|
2
|
+
$("#rt_mod_low-modal").show();
|
3
|
+
$("#rt_mod_low-modal").draggable().resizable({ handles: "n, e, s, w, se, sw, nw, ne" });
|
4
|
+
$(".ajax-form-button").click(function(){
|
5
|
+
$("#rt_mod_low-modal").hide();
|
6
|
+
})
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render "save" %>
|
@@ -0,0 +1,51 @@
|
|
1
|
+
class rt_mod_cap_plurController < ApplicationController
|
2
|
+
before_action :set_rt_mod_low, only: [:show, :edit, :update, :destroy]
|
3
|
+
|
4
|
+
def index
|
5
|
+
@rt_mod_low_plur = rt_mod_cap.all
|
6
|
+
end
|
7
|
+
|
8
|
+
def show
|
9
|
+
@rt_mod_low_plur = rt_mod_cap.all
|
10
|
+
end
|
11
|
+
|
12
|
+
def new
|
13
|
+
@rt_mod_low = rt_mod_cap.new
|
14
|
+
end
|
15
|
+
|
16
|
+
def edit
|
17
|
+
@rt_mod_low = rt_mod_cap.find(params[:id])
|
18
|
+
end
|
19
|
+
|
20
|
+
def create
|
21
|
+
@rt_mod_low_plur = rt_mod_cap.all
|
22
|
+
@rt_mod_low = rt_mod_cap.create(rt_mod_low_params)
|
23
|
+
end
|
24
|
+
|
25
|
+
def update
|
26
|
+
@rt_mod_low_plur = rt_mod_cap.all
|
27
|
+
@rt_mod_low = rt_mod_cap.find(params[:id])
|
28
|
+
@rt_mod_low.update_attributes(rt_mod_low_params)
|
29
|
+
end
|
30
|
+
|
31
|
+
def delete
|
32
|
+
@rt_mod_low = rt_mod_cap.find(params[:id])
|
33
|
+
end
|
34
|
+
|
35
|
+
def destroy
|
36
|
+
@rt_mod_low_plur = rt_mod_cap.all
|
37
|
+
@rt_mod_low = rt_mod_cap.find(params[:id])
|
38
|
+
@rt_mod_low.destroy
|
39
|
+
end
|
40
|
+
|
41
|
+
private
|
42
|
+
# Use callbacks to share common setup or constraints between actions.
|
43
|
+
def set_rt_mod_low
|
44
|
+
@rt_mod_low = rt_mod_cap.find(params[:id])
|
45
|
+
end
|
46
|
+
|
47
|
+
# Never trust parameters from the scary internet, only allow the white list through.
|
48
|
+
def rt_mod_low_params
|
49
|
+
params.require(:rt_mod_low).permit(<-- permit_cols -->)
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
def current_user_session
|
2
|
+
return @current_user_session if defined?(@current_user_session)
|
3
|
+
@current_user_session = UserSession.find
|
4
|
+
end
|
5
|
+
|
6
|
+
def current_user
|
7
|
+
return @current_user if defined?(@current_user)
|
8
|
+
@current_user = current_user_session && current_user_session.user
|
9
|
+
end
|
10
|
+
|
11
|
+
helper_method :current_user_session, :current_user
|
@@ -0,0 +1,27 @@
|
|
1
|
+
class UserSessionsController < ApplicationController
|
2
|
+
def new
|
3
|
+
@user_session = UserSession.new
|
4
|
+
end
|
5
|
+
|
6
|
+
def create
|
7
|
+
@user_session = UserSession.new(user_session_params)
|
8
|
+
if @user_session.save
|
9
|
+
flash[:success] = "Welcome back!"
|
10
|
+
redirect_to root_path
|
11
|
+
else
|
12
|
+
render :new
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def destroy
|
17
|
+
current_user_session.destroy
|
18
|
+
flash[:success] = "Goodbye!"
|
19
|
+
redirect_to root_path
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def user_session_params
|
25
|
+
params.require(:user_session).permit(:email, :password, :remember_me)
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class UsersController < ApplicationController
|
2
|
+
def new
|
3
|
+
@user = User.new
|
4
|
+
end
|
5
|
+
|
6
|
+
def create
|
7
|
+
@user = User.new(users_params)
|
8
|
+
if @user.save
|
9
|
+
flash[:success] = "Account registered!"
|
10
|
+
redirect_to root_path
|
11
|
+
else
|
12
|
+
render :new
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def users_params
|
19
|
+
params.require(:user).permit(:email, :password, :password_confirmation)
|
20
|
+
end
|
21
|
+
end
|