go_blog 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/blog/posts_controller.rb +10 -2
- data/app/decorator/blog/post_decorator.rb +25 -3
- data/app/models/blog/post.rb +1 -1
- data/app/views/blog/posts/_collection.html.erb +2 -2
- data/app/views/blog/posts/_collection_list.html.erb +26 -0
- data/app/views/blog/posts/_form.html.erb +11 -12
- data/app/views/blog/posts/list.html.erb +157 -0
- data/app/views/blog/posts/show.html.erb +2 -2
- data/app/views/blog/posts/show_list.html.erb +28 -0
- data/config/routes.rb +6 -1
- data/lib/go_blog/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ef2ff35a8933badcd77abd352e849f3b27fa8056
|
4
|
+
data.tar.gz: 33c3207fe3fb8b8eb6e53bce313c9842c4c59ac9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9e1321c3f1a5f6d7e29f6f9ac382f667f32748e15307a160ab10a246810477380e043147e88b6b4d70ad6e3560e9125f94d4fe066044294612e9ee0fbc5b30dc
|
7
|
+
data.tar.gz: 4c5122d2924e3cf1ebc9a110a8b3bcaa08b0221c967e18a39fdb00af544008cf9110e6fbbd47c9bad4ee248d9cb976f58da5364dcb07a35273faa8714d8c9055
|
@@ -1,15 +1,22 @@
|
|
1
1
|
module Blog
|
2
2
|
class PostsController < ApplicationController
|
3
|
-
before_action :set_blog_post, only: [:show, :edit, :update, :destroy]
|
4
|
-
|
3
|
+
before_action :set_blog_post, only: [:show, :edit, :update, :destroy,:show_list]
|
4
|
+
before_action :authenticate_user!, except: [:list, :show_list]
|
5
|
+
load_and_authorize_resource except: [:list, :show_list,:create]
|
5
6
|
# GET /blog/posts
|
6
7
|
def index
|
7
8
|
@blog_posts = Post.all
|
8
9
|
end
|
9
10
|
|
11
|
+
def list
|
12
|
+
@blog_posts = Post.all
|
13
|
+
end
|
14
|
+
|
10
15
|
# GET /blog/posts/1
|
11
16
|
def show
|
12
17
|
end
|
18
|
+
def show_list
|
19
|
+
end
|
13
20
|
|
14
21
|
# GET /blog/posts/new
|
15
22
|
def new
|
@@ -22,6 +29,7 @@ module Blog
|
|
22
29
|
|
23
30
|
# POST /blog/posts
|
24
31
|
def create
|
32
|
+
authorize! :create, @blog_post
|
25
33
|
@blog_post = Post.new(blog_post_params)
|
26
34
|
|
27
35
|
if @blog_post.save
|
@@ -4,7 +4,7 @@ module Blog
|
|
4
4
|
|
5
5
|
def link_to_show
|
6
6
|
h.link_to h.blog_post_path(id: self.id),
|
7
|
-
class: '
|
7
|
+
class: 'btn btn-info btn-sm',
|
8
8
|
title: 'Visualizar',
|
9
9
|
style: 'color: #FFF; float: none;' do
|
10
10
|
h.content_tag :span, class: 'fa fa-search' do
|
@@ -12,9 +12,31 @@ module Blog
|
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
|
+
def link_to_read_more
|
16
|
+
h.link_to h.show_list_blog_posts_path(id: self.id),
|
17
|
+
class: 'btn btn-info btn-sm',
|
18
|
+
title: 'Visualizar',
|
19
|
+
style: 'color: #FFF; float: none;' do
|
20
|
+
h.content_tag :span do
|
21
|
+
'Continue Lendo...'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def link_to_title
|
27
|
+
h.link_to h.show_list_blog_posts_path(id: self.id),
|
28
|
+
class: 'text-primary-dark',
|
29
|
+
title: self.title do
|
30
|
+
h.content_tag :span do
|
31
|
+
self.title
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
|
15
37
|
def link_to_edit
|
16
38
|
h.link_to h.edit_blog_post_path(id: self.id),
|
17
|
-
class: '
|
39
|
+
class: 'btn btn-warning btn-sm',
|
18
40
|
title: 'Alterar',
|
19
41
|
style: 'color: #FFF; float: none;' do
|
20
42
|
h.content_tag :span, class: 'fa fa-pencil' do
|
@@ -25,7 +47,7 @@ module Blog
|
|
25
47
|
def link_to_delete
|
26
48
|
h.link_to h.blog_post_path(id: self.id),
|
27
49
|
method: 'delete',
|
28
|
-
class: '
|
50
|
+
class: 'btn btn-danger btn-sm',
|
29
51
|
title: 'Excluir',
|
30
52
|
confirm: 'Deseja realmente excluir o registro?',
|
31
53
|
style: 'color: #FFF; float: none;' do
|
data/app/models/blog/post.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
<% collection.each do |resource| %>
|
2
2
|
<tr id="<%= dom_id(resource) %>">
|
3
3
|
<td><%= resource.title %></td>
|
4
|
-
<td><%= resource.teaser
|
5
|
-
<td><%= resource.body %></td>
|
4
|
+
<td><%= truncate_with_hover(resource.teaser.html_safe,30) %></td>
|
5
|
+
<td><%= truncate_with_hover(resource.body.html_safe,30) %></td>
|
6
6
|
<td><%= resource.draft %></td>
|
7
7
|
<td><%= resource.published_at %></td>
|
8
8
|
<td><%= resource.user_id %></td>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<% collection.each do |resource| %>
|
2
|
+
<div class="block" id="<%= dom_id(resource) %>">
|
3
|
+
<div class="block-content">
|
4
|
+
<div class="row items-push">
|
5
|
+
<div class="col-md-4">
|
6
|
+
<a href="frontend_blog_story.php">
|
7
|
+
<img class="img-responsive" src="assets/img/photos/photo21.jpg" alt="">
|
8
|
+
</a>
|
9
|
+
</div>
|
10
|
+
<div class="col-md-12">
|
11
|
+
<div class="font-s12 push-10">
|
12
|
+
<em class="pull-right"><!--10 min--></em>
|
13
|
+
<a href="base_pages_profile.php"><%= resource.user.decorate.name %></a> <%= converte_date(resource.published_at) %>
|
14
|
+
</div>
|
15
|
+
<h4 class="text-uppercase push-10">
|
16
|
+
<%= resource.decorate.link_to_title %></h4>
|
17
|
+
<p class="push-20"><%= resource.teaser.html_safe %></p>
|
18
|
+
<div class="btn-group btn-group-sm">
|
19
|
+
<!--<a class="btn btn-default" href="javascript:void(0)"><i class="fa fa-share-alt push-5-r"></i> Compartilhar</a>-->
|
20
|
+
<%= resource.decorate.link_to_read_more %>
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
<% end %>
|
@@ -1,33 +1,32 @@
|
|
1
|
-
<%= simple_form_for
|
1
|
+
<%= simple_form_for @blog_post, class: "form-horizontal" do |f| %>
|
2
2
|
<%= f.error_notification %>
|
3
3
|
|
4
|
-
<%= f.hidden_field :user_id, id: :blog_post_user_id %>
|
4
|
+
<%= f.hidden_field :user_id, id: :blog_post_user_id, value: current_user.id %>
|
5
5
|
|
6
6
|
<%= f.input :title, id: :blog_post_title %>
|
7
7
|
|
8
|
-
<%= f.input :teaser,
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
<%= f.input :teaser, as: :summernote %>
|
9
|
+
<%= f.input :body, as: :summernote %>
|
10
|
+
<%#= f.input :teaser, class: 'summernote', :id => 'blog_post_teaser' , label: false%>
|
11
|
+
<%#= f.input :body, class: 'summernote', :id => 'blog_post_body', label: false %>
|
12
12
|
<%= f.input :draft, id: :blog_post_draft %>
|
13
13
|
|
14
14
|
<%= f.input :published_at, id: :blog_post_published_at %>
|
15
15
|
|
16
|
-
|
17
16
|
<%= f.input :custom_url, id: :blog_post_custom_url %>
|
18
17
|
|
19
18
|
|
20
19
|
|
21
20
|
<div class="form-group form-actions">
|
22
|
-
<%= link_to I18n.t('misc.action.back'),
|
21
|
+
<%= link_to I18n.t('misc.action.back'), blog_posts_path, class: 'btn btn-sm btn-square btn-default' %>
|
23
22
|
<%= f.button :submit, class: 'btn btn-sm btn-square btn-primary' %>
|
24
23
|
</div>
|
25
24
|
<% end %>
|
26
25
|
|
27
|
-
<script>
|
28
|
-
$(document).ready(function
|
29
|
-
$('
|
30
|
-
$('
|
26
|
+
<script type="text/javascript">
|
27
|
+
$(document).ready(function() {
|
28
|
+
$('#blog_post_teaser').summernote();
|
29
|
+
$('#blog_post_body').summernote();
|
31
30
|
});
|
32
31
|
</script>
|
33
32
|
|
@@ -0,0 +1,157 @@
|
|
1
|
+
<main id="main-container" style="min-height: 190px;"><div class="bg-primary-dark">
|
2
|
+
<section class="content content-full content-boxed overflow-hidden">
|
3
|
+
<div class="push-100-t push-50 text-center">
|
4
|
+
<h1 class="h2 text-white push-10 animated fadeInDown" data-toggle="appear" data-class="animated fadeInDown">As Últimas Notícias Para você .</h1>
|
5
|
+
<h2 class="h5 text-white-op animated fadeInDown" data-toggle="appear" data-class="animated fadeInDown">Explore.</h2>
|
6
|
+
</div>
|
7
|
+
</section>
|
8
|
+
</div>
|
9
|
+
<section class="content content-boxed">
|
10
|
+
<div class="push-50-t push-50">
|
11
|
+
<div class="row">
|
12
|
+
<div class="col-md-12">
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
<%= render 'collection_list', collection: @blog_posts %>
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
<!--<nav>-->
|
23
|
+
<!--<ul class="pagination">-->
|
24
|
+
<!--<li class="active">-->
|
25
|
+
<!--<a href="javascript:void(0)">1</a>-->
|
26
|
+
<!--</li>-->
|
27
|
+
<!--<li>-->
|
28
|
+
<!--<a href="javascript:void(0)">2</a>-->
|
29
|
+
<!--</li>-->
|
30
|
+
<!--<li>-->
|
31
|
+
<!--<a href="javascript:void(0)">3</a>-->
|
32
|
+
<!--</li>-->
|
33
|
+
<!--<li>-->
|
34
|
+
<!--<a href="javascript:void(0)">4</a>-->
|
35
|
+
<!--</li>-->
|
36
|
+
<!--<li>-->
|
37
|
+
<!--<a href="javascript:void(0)">5</a>-->
|
38
|
+
<!--</li>-->
|
39
|
+
<!--<li>-->
|
40
|
+
<!--<a href="javascript:void(0)"><i class="fa fa-angle-right"></i></a>-->
|
41
|
+
<!--</li>-->
|
42
|
+
<!--</ul>-->
|
43
|
+
<!--</nav>-->
|
44
|
+
</div>
|
45
|
+
<!--<div class="col-md-4">-->
|
46
|
+
<!--<div class="block">-->
|
47
|
+
<!--<div class="block-header bg-gray-lighter">-->
|
48
|
+
<!--<h3 class="block-title">Search</h3>-->
|
49
|
+
<!--</div>-->
|
50
|
+
<!--<div class="block-content block-content-full">-->
|
51
|
+
<!--<form action="frontend_search.php" method="post">-->
|
52
|
+
<!--<div class="input-group input-group-lg">-->
|
53
|
+
<!--<input class="form-control" type="text" placeholder="Type and hit enter..">-->
|
54
|
+
<!--<div class="input-group-btn">-->
|
55
|
+
<!--<button class="btn btn-default"><i class="fa fa-search"></i></button>-->
|
56
|
+
<!--</div>-->
|
57
|
+
<!--</div>-->
|
58
|
+
<!--</form>-->
|
59
|
+
<!--</div>-->
|
60
|
+
<!--</div>-->
|
61
|
+
<!--<a class="block block-link-hover3" href="base_pages_profile.php">-->
|
62
|
+
<!--<div class="block-header bg-gray-lighter">-->
|
63
|
+
<!--<h3 class="block-title">About</h3>-->
|
64
|
+
<!--</div>-->
|
65
|
+
<!--<div class="block-content block-content-full text-center">-->
|
66
|
+
<!--<div>-->
|
67
|
+
<!--<img class="img-avatar img-avatar96" src="assets/img/avatars/avatar1.jpg" alt="">-->
|
68
|
+
<!--</div>-->
|
69
|
+
<!--<div class="h5 push-15-t push-5">Ann Parker</div>-->
|
70
|
+
<!--<div class="font-s13 text-muted">Publisher</div>-->
|
71
|
+
<!--</div>-->
|
72
|
+
<!--<div class="block-content border-t">-->
|
73
|
+
<!--<div class="row items-push text-center">-->
|
74
|
+
<!--<div class="col-xs-6">-->
|
75
|
+
<!--<div class="push-5"><i class="si si-pencil fa-2x"></i></div>-->
|
76
|
+
<!--<div class="h5 font-w300 text-muted">350 Stories</div>-->
|
77
|
+
<!--</div>-->
|
78
|
+
<!--<div class="col-xs-6">-->
|
79
|
+
<!--<div class="push-5"><i class="si si-users fa-2x"></i></div>-->
|
80
|
+
<!--<div class="h5 font-w300 text-muted">1.5k Followers</div>-->
|
81
|
+
<!--</div>-->
|
82
|
+
<!--</div>-->
|
83
|
+
<!--</div>-->
|
84
|
+
<!--</a>-->
|
85
|
+
<!--<div class="block">-->
|
86
|
+
<!--<div class="block-header bg-gray-lighter">-->
|
87
|
+
<!--<ul class="block-options">-->
|
88
|
+
<!--<li>-->
|
89
|
+
<!--<button type="button" data-toggle="block-option" data-action="refresh_toggle" data-action-mode="demo"><i class="si si-refresh"></i></button>-->
|
90
|
+
<!--</li>-->
|
91
|
+
<!--</ul>-->
|
92
|
+
<!--<h3 class="block-title">Recent Comments</h3>-->
|
93
|
+
<!--</div>-->
|
94
|
+
<!--<div class="block-content">-->
|
95
|
+
<!--<ul class="list list-simple">-->
|
96
|
+
<!--<li>-->
|
97
|
+
<!--<div class="push-5 clearfix">-->
|
98
|
+
<!--<span class="font-s13 text-muted push-10-l pull-right">25 min ago</span>-->
|
99
|
+
<!--<a class="font-w600" href="base_pages_profile.php">Sara Holland</a> on <a href="frontend_blog_story.php">Exploring the Alps</a>-->
|
100
|
+
<!--</div>-->
|
101
|
+
<!--<div class="font-s13">Awesome trip! Looking forward going there, I'm sure it will be a great experience!</div>-->
|
102
|
+
<!--</li>-->
|
103
|
+
<!--<li>-->
|
104
|
+
<!--<div class="push-5 clearfix">-->
|
105
|
+
<!--<span class="font-s13 text-muted push-10-l pull-right">42 min ago</span>-->
|
106
|
+
<!--<a class="font-w600" href="base_pages_profile.php">Joshua Munoz</a> on <a href="frontend_blog_story.php">Travel & Work</a>-->
|
107
|
+
<!--</div>-->
|
108
|
+
<!--<div class="font-s13">Thank you for sharing your story with us! I really appreciate the info, it will come in handy for sure!</div>-->
|
109
|
+
<!--</li>-->
|
110
|
+
<!--<li>-->
|
111
|
+
<!--<div class="push-5 clearfix">-->
|
112
|
+
<!--<span class="font-s13 text-muted push-10-l pull-right">53 min ago</span>-->
|
113
|
+
<!--<a class="font-w600" href="base_pages_profile.php">Lisa Gordon</a> on <a href="frontend_blog_story.php">Black & White</a>-->
|
114
|
+
<!--</div>-->
|
115
|
+
<!--<div class="font-s13">Really touching story.. I'm so happy everything went well at the end!</div>-->
|
116
|
+
<!--</li>-->
|
117
|
+
<!--<li>-->
|
118
|
+
<!--<div class="push-5 clearfix">-->
|
119
|
+
<!--<span class="font-s13 text-muted push-10-l pull-right">2 days ago</span>-->
|
120
|
+
<!--<a class="font-w600" href="base_pages_profile.php">George Stone</a> on <a href="frontend_blog_story.php">Sleep Better</a>-->
|
121
|
+
<!--</div>-->
|
122
|
+
<!--<div class="font-s13">Great advice! Thanks for sharing, I'm sure it will help many people sleep better and improve their lifes.</div>-->
|
123
|
+
<!--</li>-->
|
124
|
+
<!--</ul>-->
|
125
|
+
<!--<div class="text-center push">-->
|
126
|
+
<!--<small><a href="javascript:void(0)">Read More..</a></small>-->
|
127
|
+
<!--</div>-->
|
128
|
+
<!--</div>-->
|
129
|
+
<!--</div>-->
|
130
|
+
<!--<div class="block">-->
|
131
|
+
<!--<div class="block-header bg-gray-lighter">-->
|
132
|
+
<!--<h3 class="block-title">Social</h3>-->
|
133
|
+
<!--</div>-->
|
134
|
+
<!--<div class="block-content block-content-full">-->
|
135
|
+
<!--<div class="btn-group">-->
|
136
|
+
<!--<a class="btn btn-default" href="javascript:void(0)" data-toggle="tooltip" title="" data-original-title="Follow us on Twitter"><i class="fa fa-fw fa-twitter"></i></a>-->
|
137
|
+
<!--<a class="btn btn-default" href="javascript:void(0)" data-toggle="tooltip" title="" data-original-title="Like our Facebook page"><i class="fa fa-fw fa-facebook"></i></a>-->
|
138
|
+
<!--<a class="btn btn-default" href="javascript:void(0)" data-toggle="tooltip" title="" data-original-title="Follow us on Google Plus"><i class="fa fa-fw fa-google-plus"></i></a>-->
|
139
|
+
<!--<a class="btn btn-default" href="javascript:void(0)" data-toggle="tooltip" title="" data-original-title="Follow us on Dribbble"><i class="fa fa-fw fa-dribbble"></i></a>-->
|
140
|
+
<!--<a class="btn btn-default" href="javascript:void(0)" data-toggle="tooltip" title="" data-original-title="Subscribe on Youtube"><i class="fa fa-fw fa-youtube"></i></a>-->
|
141
|
+
<!--</div>-->
|
142
|
+
<!--</div>-->
|
143
|
+
<!--</div>-->
|
144
|
+
<!--</div>-->
|
145
|
+
</div>
|
146
|
+
</div>
|
147
|
+
</section>
|
148
|
+
<div class="bg-primary-dark">
|
149
|
+
<section class="content content-full content-boxed">
|
150
|
+
<div class="push-20-t push-20 text-center">
|
151
|
+
<h3 class="h4 text-white-op push-20 visibility-hidden" data-toggle="appear"> <strong></strong> </h3>
|
152
|
+
<!--<a class="btn btn-rounded btn-noborder btn-lg btn-success visibility-hidden" data-toggle="appear" data-class="animated bounceIn" href="frontend_pricing.php">Get Started Today</a>-->
|
153
|
+
</div>
|
154
|
+
</section>
|
155
|
+
</div>
|
156
|
+
</main>
|
157
|
+
|
@@ -39,12 +39,12 @@
|
|
39
39
|
|
40
40
|
<tr>
|
41
41
|
<td><strong><%= t 'activerecord.attributes.blog_post.teaser' %>:</strong></td>
|
42
|
-
<td><%= @blog_post.teaser %></td>
|
42
|
+
<td><%= @blog_post.teaser.html_safe %></td>
|
43
43
|
</tr>
|
44
44
|
|
45
45
|
<tr>
|
46
46
|
<td><strong><%= t 'activerecord.attributes.blog_post.body' %>:</strong></td>
|
47
|
-
<td><%= @blog_post.body %></td>
|
47
|
+
<td><%= @blog_post.body.html_safe %></td>
|
48
48
|
</tr>
|
49
49
|
|
50
50
|
<tr>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
<main id="main-container" style="min-height: 190px;"><div class="bg-image" style="background-image: url('<%=asset_path "railswall.jpg"%>');">
|
3
|
+
<div class="bg-primary-op">
|
4
|
+
<section class="content content-full content-boxed overflow-hidden">
|
5
|
+
<div class="push-150-t push-150 text-center">
|
6
|
+
<h1 class="text-white push-10 animated fadeInDown" data-toggle="appear" data-class="animated fadeInDown"><%= @blog_post.title %></h1>
|
7
|
+
</div>
|
8
|
+
</section>
|
9
|
+
</div>
|
10
|
+
</div>
|
11
|
+
<div class="bg-white">
|
12
|
+
<section class="content content-boxed">
|
13
|
+
<div class="text-center">
|
14
|
+
<a class="link-effect font-s13 font-w600" href="javascript:void(0)"><%= @blog_post.user.decorate.name %></a> <%= converte_date(@blog_post.published_at) %> <em></em>
|
15
|
+
</div>
|
16
|
+
<div class="row push-50-t push-50 nice-copy-story">
|
17
|
+
<div class="col-sm-8 col-sm-offset-2">
|
18
|
+
<p><%= @blog_post.body.html_safe %></p>
|
19
|
+
|
20
|
+
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
</section>
|
24
|
+
</div>
|
25
|
+
|
26
|
+
</main>
|
27
|
+
|
28
|
+
|
data/config/routes.rb
CHANGED
data/lib/go_blog/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: go_blog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- João Carlos Ottobboni
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-10-
|
11
|
+
date: 2017-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: draper
|
@@ -87,11 +87,14 @@ files:
|
|
87
87
|
- app/models/blog.rb
|
88
88
|
- app/models/blog/post.rb
|
89
89
|
- app/views/blog/posts/_collection.html.erb
|
90
|
+
- app/views/blog/posts/_collection_list.html.erb
|
90
91
|
- app/views/blog/posts/_form.html.erb
|
91
92
|
- app/views/blog/posts/edit.html.erb
|
92
93
|
- app/views/blog/posts/index.html.erb
|
94
|
+
- app/views/blog/posts/list.html.erb
|
93
95
|
- app/views/blog/posts/new.html.erb
|
94
96
|
- app/views/blog/posts/show.html.erb
|
97
|
+
- app/views/blog/posts/show_list.html.erb
|
95
98
|
- config/routes.rb
|
96
99
|
- db/migrate/20171008203759_create_blog_posts.rb
|
97
100
|
- lib/go_blog.rb
|