devape_cms 0.0.4 → 0.0.5
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.
- data/app/assets/javascripts/application.js +11 -0
- data/app/assets/stylesheets/application.css +7 -0
- data/app/controllers/application_controller.rb +3 -0
- data/app/controllers/categories_controller.rb +95 -0
- data/app/controllers/home_controller.rb +7 -0
- data/app/controllers/posts_controller.rb +108 -0
- data/app/helpers/devape_cms/application_helper.rb +7 -0
- data/app/models/category.rb +5 -0
- data/app/models/content.rb +4 -0
- data/app/models/post.rb +9 -0
- data/app/views/categories/_form.html.erb +29 -0
- data/app/views/categories/edit.html.erb +6 -0
- data/app/views/categories/index.html.erb +25 -0
- data/app/views/categories/new.html.erb +5 -0
- data/app/views/categories/show.html.erb +16 -0
- data/app/views/layouts/devape_cms/application.html.erb +14 -0
- data/app/views/posts/_form.html.erb +77 -0
- data/app/views/posts/_list.html.erb +4 -0
- data/app/views/posts/cms.html.erb +21 -0
- data/app/views/posts/edit.html.erb +6 -0
- data/app/views/posts/index.html.erb +33 -0
- data/app/views/posts/new.html.erb +5 -0
- data/app/views/posts/notfound.html.erb +1 -0
- data/app/views/posts/show.html.erb +23 -0
- data/config/routes.rb +2 -3
- data/lib/devape_cms/version.rb +1 -1
- data/lib/rails/generators/devape_cms/devape_cms_generator.rb +1 -0
- data/lib/rails/generators/devape_cms/templates/devape_cms.js +8 -0
- data/lib/rails/generators/devape_cms/templates/migration.rb +15 -6
- metadata +59 -15
@@ -0,0 +1,11 @@
|
|
1
|
+
// This is a manifest file that'll be compiled into including all the files listed below.
|
2
|
+
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
|
3
|
+
// be included in the compiled file accessible from http://example.com/assets/application.js
|
4
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
5
|
+
// the compiled file.
|
6
|
+
//
|
7
|
+
<% unless options[:skip_javascript] -%>
|
8
|
+
//= require <%= options[:javascript] %>
|
9
|
+
//= require <%= options[:javascript] %>_ujs
|
10
|
+
<% end -%>
|
11
|
+
//= require_tree .
|
@@ -0,0 +1,7 @@
|
|
1
|
+
/*
|
2
|
+
* This is a manifest file that'll automatically include all the stylesheets available in this directory
|
3
|
+
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
|
4
|
+
* the top of the compiled file, but it's generally better to create a new file per style scope.
|
5
|
+
*= require_self
|
6
|
+
*= require_tree .
|
7
|
+
*/
|
@@ -0,0 +1,95 @@
|
|
1
|
+
class CategoriesController < ApplicationController
|
2
|
+
before_filter :authenticate_admin!, :except => [:show, :cms, :index]
|
3
|
+
# GET /categories
|
4
|
+
# GET /categories.xml
|
5
|
+
def cms
|
6
|
+
if(@category = Category.find_by_title(params[:title]))
|
7
|
+
@posts = @category.posts
|
8
|
+
render 'categories/show'
|
9
|
+
elsif(@post = Post.find(params[:title]))
|
10
|
+
render 'posts/show'
|
11
|
+
else
|
12
|
+
render 'posts/notfound'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
def index
|
16
|
+
@categories = Category.all
|
17
|
+
|
18
|
+
respond_to do |format|
|
19
|
+
format.html # index.html.erb
|
20
|
+
format.xml { render :xml => @categories }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# GET /categories/1
|
25
|
+
# GET /categories/1.xml
|
26
|
+
def show
|
27
|
+
@category = Category.find(params[:id])
|
28
|
+
@posts = @category.posts
|
29
|
+
|
30
|
+
respond_to do |format|
|
31
|
+
format.html # show.html.erb
|
32
|
+
format.xml { render :xml => @category }
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# GET /categories/new
|
37
|
+
# GET /categories/new.xml
|
38
|
+
def new
|
39
|
+
@category = Category.new
|
40
|
+
|
41
|
+
respond_to do |format|
|
42
|
+
format.html # new.html.erb
|
43
|
+
format.xml { render :xml => @category }
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# GET /categories/1/edit
|
48
|
+
def edit
|
49
|
+
@category = Category.find(params[:id])
|
50
|
+
end
|
51
|
+
|
52
|
+
# POST /categories
|
53
|
+
# POST /categories.xml
|
54
|
+
def create
|
55
|
+
@category = Category.new(params[:category])
|
56
|
+
|
57
|
+
respond_to do |format|
|
58
|
+
if @category.save
|
59
|
+
format.html { redirect_to(@category, :notice => 'Category was successfully created.') }
|
60
|
+
format.xml { render :xml => @category, :status => :created, :location => @category }
|
61
|
+
else
|
62
|
+
format.html { render :action => "new" }
|
63
|
+
format.xml { render :xml => @category.errors, :status => :unprocessable_entity }
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
# PUT /categories/1
|
69
|
+
# PUT /categories/1.xml
|
70
|
+
def update
|
71
|
+
@category = Category.find(params[:id])
|
72
|
+
|
73
|
+
respond_to do |format|
|
74
|
+
if @category.update_attributes(params[:category])
|
75
|
+
format.html { redirect_to(@category, :notice => 'Category was successfully updated.') }
|
76
|
+
format.xml { head :ok }
|
77
|
+
else
|
78
|
+
format.html { render :action => "edit" }
|
79
|
+
format.xml { render :xml => @category.errors, :status => :unprocessable_entity }
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
# DELETE /categories/1
|
85
|
+
# DELETE /categories/1.xml
|
86
|
+
def destroy
|
87
|
+
@category = Category.find(params[:id])
|
88
|
+
@category.destroy
|
89
|
+
|
90
|
+
respond_to do |format|
|
91
|
+
format.html { redirect_to(categories_url) }
|
92
|
+
format.xml { head :ok }
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
@@ -0,0 +1,108 @@
|
|
1
|
+
class PostsController < ApplicationController
|
2
|
+
before_filter :authenticate_admin!, :except => [:show, :cms, :index]
|
3
|
+
# GET /posts
|
4
|
+
# GET /posts.xml
|
5
|
+
def cms
|
6
|
+
@post = Post.find(params[:id])
|
7
|
+
if(@post.layout != "application") then
|
8
|
+
render :layout => @post.layout
|
9
|
+
end
|
10
|
+
if(@post.template) then
|
11
|
+
render_options[:action] = @post.template
|
12
|
+
render render_options
|
13
|
+
end
|
14
|
+
end
|
15
|
+
def index
|
16
|
+
@posts = Post.all
|
17
|
+
|
18
|
+
respond_to do |format|
|
19
|
+
format.html # index.html.erb
|
20
|
+
format.xml { render :xml => @posts }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# GET /posts/1
|
25
|
+
# GET /posts/1.xml
|
26
|
+
def show
|
27
|
+
render_options = {}
|
28
|
+
@post = Post.find(params[:id])
|
29
|
+
if(@post.layout != "application") then
|
30
|
+
render :layout => @post.layout
|
31
|
+
end
|
32
|
+
if(@post.template!="") then
|
33
|
+
render_options[:action] = @post.template
|
34
|
+
render render_options
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
# GET /posts/new
|
40
|
+
# GET /posts/new.xml
|
41
|
+
def new
|
42
|
+
@post = Post.new
|
43
|
+
@categories = Category.find(:all)
|
44
|
+
|
45
|
+
respond_to do |format|
|
46
|
+
format.html # new.html.erb
|
47
|
+
format.xml { render :xml => @post }
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
# GET /posts/1/edit
|
52
|
+
def edit
|
53
|
+
@post = Post.find(params[:id])
|
54
|
+
end
|
55
|
+
|
56
|
+
# POST /posts
|
57
|
+
# POST /posts.xml
|
58
|
+
def create
|
59
|
+
@post = Post.new(params[:post])
|
60
|
+
@post.admin_id = current_admin.id
|
61
|
+
params[:contents].each do |f|
|
62
|
+
@post.contents << Content.create(:title=>f[0], :content=>f[1])
|
63
|
+
end
|
64
|
+
|
65
|
+
respond_to do |format|
|
66
|
+
if @post.save
|
67
|
+
format.html { redirect_to(@post, :notice => 'Post was successfully created.') }
|
68
|
+
format.xml { render :xml => @post, :status => :created, :location => @post }
|
69
|
+
else
|
70
|
+
format.html { render :action => "new" }
|
71
|
+
format.xml { render :xml => @post.errors, :status => :unprocessable_entity }
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
# PUT /posts/1
|
77
|
+
# PUT /posts/1.xml
|
78
|
+
def update
|
79
|
+
@post = Post.find(params[:id])
|
80
|
+
params[:contents].each do |f|
|
81
|
+
@content = Content.where(:post_id=>@post.id, :title=>f[0]).first
|
82
|
+
@content.content = f[1]
|
83
|
+
@content.save
|
84
|
+
end
|
85
|
+
|
86
|
+
respond_to do |format|
|
87
|
+
if @post.update_attributes(params[:post])
|
88
|
+
format.html { redirect_to(@post, :notice => 'Post was successfully updated.') }
|
89
|
+
format.xml { head :ok }
|
90
|
+
else
|
91
|
+
format.html { render :action => "edit" }
|
92
|
+
format.xml { render :xml => @post.errors, :status => :unprocessable_entity }
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
# DELETE /posts/1
|
98
|
+
# DELETE /posts/1.xml
|
99
|
+
def destroy
|
100
|
+
@post = Post.find(params[:id])
|
101
|
+
@post.destroy
|
102
|
+
|
103
|
+
respond_to do |format|
|
104
|
+
format.html { redirect_to(posts_url) }
|
105
|
+
format.xml { head :ok }
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
data/app/models/post.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
<%= form_for(@category) do |f| %>
|
2
|
+
<% if @category.errors.any? %>
|
3
|
+
<div id="error_explanation">
|
4
|
+
<h2><%= pluralize(@category.errors.count, "error") %> prohibited this category from being saved:</h2>
|
5
|
+
|
6
|
+
<ul>
|
7
|
+
<% @category.errors.full_messages.each do |msg| %>
|
8
|
+
<li><%= msg %></li>
|
9
|
+
<% end %>
|
10
|
+
</ul>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
<div class="field">
|
15
|
+
<%= f.label :title %><br />
|
16
|
+
<%= f.text_field :title %>
|
17
|
+
</div>
|
18
|
+
<div class="field">
|
19
|
+
<%= f.label :description %><br />
|
20
|
+
<%= f.text_area :description %>
|
21
|
+
</div>
|
22
|
+
<div class="field">
|
23
|
+
<%= f.label :parent_id %>
|
24
|
+
<%= f.select(:parent_id, [['','']]+Category.all.map { |i| [i.title, i.id] }, :class => 'ci-select-limited-width') %>
|
25
|
+
</div>
|
26
|
+
<div class="actions">
|
27
|
+
<%= f.submit %>
|
28
|
+
</div>
|
29
|
+
<% end %>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<h1>Listing categories</h1>
|
2
|
+
|
3
|
+
<table>
|
4
|
+
<tr>
|
5
|
+
<th>Title</th>
|
6
|
+
<th>Description</th>
|
7
|
+
<th></th>
|
8
|
+
<th></th>
|
9
|
+
<th></th>
|
10
|
+
</tr>
|
11
|
+
|
12
|
+
<% @categories.each do |category| %>
|
13
|
+
<tr>
|
14
|
+
<td><%= category.title %></td>
|
15
|
+
<td><%= category.description %></td>
|
16
|
+
<td><%= link_to 'Show', category %></td>
|
17
|
+
<td><%= link_to 'Edit', edit_category_path(category) %></td>
|
18
|
+
<td><%= link_to 'Destroy', category, :confirm => 'Are you sure?', :method => :delete %></td>
|
19
|
+
</tr>
|
20
|
+
<% end %>
|
21
|
+
</table>
|
22
|
+
|
23
|
+
<br />
|
24
|
+
|
25
|
+
<%= link_to 'New Category', new_category_path %>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
2
|
+
|
3
|
+
<p>
|
4
|
+
<b>Title:</b>
|
5
|
+
<%= @category.title %>
|
6
|
+
</p>
|
7
|
+
|
8
|
+
<p>
|
9
|
+
<b>Description:</b>
|
10
|
+
<%= @category.description %>
|
11
|
+
</p>
|
12
|
+
|
13
|
+
<%= render('posts/list') %>
|
14
|
+
|
15
|
+
<%= link_to 'Edit', edit_category_path(@category) %> |
|
16
|
+
<%= link_to 'Back', categories_path %>
|
@@ -0,0 +1,77 @@
|
|
1
|
+
|
2
|
+
<% content_for :javascript do %>
|
3
|
+
<script type="text/javascript" src="/javascripts/tiny_mce/tiny_mce.js"></script>
|
4
|
+
<script type="text/javascript">
|
5
|
+
tinyMCE.init({
|
6
|
+
mode : "textareas",
|
7
|
+
theme : "simple"
|
8
|
+
});
|
9
|
+
</script>
|
10
|
+
<script>
|
11
|
+
$(function() {
|
12
|
+
$("#tabs").tabs().addClass('ui-tabs-vertical ui-helper-clearfix');
|
13
|
+
$("#tabs li").removeClass('ui-corner-top').addClass('ui-corner-left');
|
14
|
+
});
|
15
|
+
</script>
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
<% end %>
|
20
|
+
|
21
|
+
<%= form_for(@post) do |f| %>
|
22
|
+
<% if @post.errors.any? %>
|
23
|
+
<div id="error_explanation">
|
24
|
+
<h2><%= pluralize(@post.errors.count, "error") %> prohibited this post from being saved:</h2>
|
25
|
+
|
26
|
+
<ul>
|
27
|
+
<% @post.errors.full_messages.each do |msg| %>
|
28
|
+
<li><%= msg %></li>
|
29
|
+
<% end %>
|
30
|
+
</ul>
|
31
|
+
</div>
|
32
|
+
<% end %>
|
33
|
+
|
34
|
+
<div class="field">
|
35
|
+
<%= f.label :title %><br />
|
36
|
+
<%= f.text_field :title %>
|
37
|
+
</div>
|
38
|
+
<div class="field">
|
39
|
+
<%= f.label :contents %><br />
|
40
|
+
<div id="tabs">
|
41
|
+
<ul>
|
42
|
+
<li class="rounded-nav aa"><a href="#tabs-1">One</a></li>
|
43
|
+
<li class="rounded-nav ab"><a href="#tabs-2">Two</a></li>
|
44
|
+
</ul>
|
45
|
+
<div id="tabs-1">
|
46
|
+
<textarea style="height:400px; width:800px;" name="contents[one]"><% if (@post.contents.first) then %><%= raw @post.contents.first.content %><% end %></textarea>
|
47
|
+
</div>
|
48
|
+
<div id="tabs-2">
|
49
|
+
<textarea style="height:400px; width:800px;" name="contents[two]"><% if (@post.contents.second) then %><%= raw @post.contents.second.content %><% end %></textarea>
|
50
|
+
</div>
|
51
|
+
</div>
|
52
|
+
<div class="toggle">
|
53
|
+
<div class="field">
|
54
|
+
<%= f.label :template %>
|
55
|
+
<%= f.text_field :template %>
|
56
|
+
</div>
|
57
|
+
<div class="field">
|
58
|
+
<%= f.label :layout %>
|
59
|
+
<%= f.select(:layout, ["application", "2-cols-right", "2-cols-left", "3-cols"]) %>
|
60
|
+
</div>
|
61
|
+
<div class="field">
|
62
|
+
<%= f.label :categories %>
|
63
|
+
<%= collection_select('post', 'category_ids', Category.find(:all), :id, :title, {}, {:multiple => true, :name =>'post[category_ids][]' } ) %>
|
64
|
+
</div>
|
65
|
+
<div class="field">
|
66
|
+
<%= f.label :parent_id %>
|
67
|
+
<%= f.select(:parent_id, [['','']]+Post.all.map { |i| [i.title, i.id] }, :class => 'ci-select-limited-width') %>
|
68
|
+
</div>
|
69
|
+
<div class="field">
|
70
|
+
<%= f.label :show_nav %>
|
71
|
+
<%= f.select(:show_nav, ["0", "1"]) %>
|
72
|
+
</div>
|
73
|
+
</div>
|
74
|
+
<div class="actions">
|
75
|
+
<%= f.submit %>
|
76
|
+
</div>
|
77
|
+
<% end %>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
2
|
+
|
3
|
+
|
4
|
+
<p>
|
5
|
+
<b>Title:</b>
|
6
|
+
<%= @post.title %>
|
7
|
+
</p>
|
8
|
+
|
9
|
+
<p>
|
10
|
+
<b>Content:</b>
|
11
|
+
<%= @post.content %>
|
12
|
+
</p>
|
13
|
+
|
14
|
+
<p>
|
15
|
+
<b>Parent:</b>
|
16
|
+
<%= @post.parent_id %>
|
17
|
+
</p>
|
18
|
+
|
19
|
+
|
20
|
+
<%= link_to 'Edit', edit_post_path(@post) %> |
|
21
|
+
<%= link_to 'Back', posts_path %>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<h1>Listing posts</h1>
|
2
|
+
|
3
|
+
<table>
|
4
|
+
<tr>
|
5
|
+
<th>Title</th>
|
6
|
+
<th>Parent</th>
|
7
|
+
<th></th>
|
8
|
+
<th></th>
|
9
|
+
<th></th>
|
10
|
+
</tr>
|
11
|
+
|
12
|
+
<% @posts.each do |post| %>
|
13
|
+
<tr>
|
14
|
+
<td><%= post.title %></td>
|
15
|
+
<td>
|
16
|
+
<% if(post.parent) %>
|
17
|
+
<%= post.parent.title %>
|
18
|
+
<% end %>
|
19
|
+
</td>
|
20
|
+
<td><%= link_to 'show', post %></td>
|
21
|
+
<% if admin_signed_in? %>
|
22
|
+
<td><%= link_to 'Edit', edit_post_path(post) %></td>
|
23
|
+
<td><%= link_to 'Destroy', post, :confirm => 'Are you sure?', :method => :delete %></td>
|
24
|
+
<% end %>
|
25
|
+
</tr>
|
26
|
+
<% end %>
|
27
|
+
</table>
|
28
|
+
|
29
|
+
<br />
|
30
|
+
|
31
|
+
<% if admin_signed_in? %>
|
32
|
+
<%= link_to 'New Post', new_post_path %>
|
33
|
+
<% end %>
|
@@ -0,0 +1 @@
|
|
1
|
+
page not found
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<%= @post.template %>
|
2
|
+
<%= @post.layout %>
|
3
|
+
<p>
|
4
|
+
<b>Title:</b>
|
5
|
+
<%= @post.title %>
|
6
|
+
</p>
|
7
|
+
<p>
|
8
|
+
<% @post.contents.each do |f| %>
|
9
|
+
<%= raw f.content %>
|
10
|
+
<% end %>
|
11
|
+
|
12
|
+
<p>
|
13
|
+
<b>Parent:</b>
|
14
|
+
<% if @post.parent %>
|
15
|
+
<%= @post.parent.title %>
|
16
|
+
<% end %>
|
17
|
+
</p>
|
18
|
+
|
19
|
+
|
20
|
+
<% if (current_admin) %>
|
21
|
+
<%= link_to 'Edit', edit_post_path(@post) %> |
|
22
|
+
<% end %>
|
23
|
+
<%= link_to 'Back', posts_path %>
|
data/config/routes.rb
CHANGED
data/lib/devape_cms/version.rb
CHANGED
@@ -6,6 +6,7 @@ class DevapeCmsGenerator < Rails::Generators::Base
|
|
6
6
|
source_root File.expand_path("../templates", __FILE__)
|
7
7
|
def copy_initializer_file
|
8
8
|
copy_file "migration.rb", "db/migrate/0000000001_migrate_devape_cms.rb"
|
9
|
+
copy_file "devape_cms.js", "app/assets/javascripts/devape_cms.js"
|
9
10
|
end
|
10
11
|
|
11
12
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
class MigrateDevapeCms < ActiveRecord::Migration
|
2
2
|
def self.up
|
3
|
-
create_table :
|
3
|
+
create_table :categories_posts, :id => false do |t|
|
4
4
|
t.integer :post_id
|
5
5
|
t.integer :category_id
|
6
6
|
t.timestamps
|
@@ -14,16 +14,25 @@ class MigrateDevapeCms < ActiveRecord::Migration
|
|
14
14
|
create_table :devape_cms_posts do |t|
|
15
15
|
t.integer :admin_id
|
16
16
|
t.string :title
|
17
|
-
t.text :content
|
18
17
|
t.integer :parent_id
|
19
|
-
t.string :
|
18
|
+
t.string :layout
|
19
|
+
t.string :template
|
20
|
+
t.string :cached_slug
|
21
|
+
t.integer :show_nav
|
20
22
|
t.timestamps
|
21
23
|
end
|
22
|
-
|
23
|
-
|
24
|
+
create_table :devape_cms_content do |t|
|
25
|
+
t.text :content
|
26
|
+
t.string :title
|
27
|
+
t.integer :post_id
|
28
|
+
end
|
29
|
+
add_index(:categories_posts, :post_id)
|
30
|
+
add_index(:categories_posts, :category_id)
|
24
31
|
add_index(:devape_cms_categories, :parent_id)
|
25
32
|
add_index(:devape_cms_posts, :parent_id)
|
26
|
-
add_index(:devape_cms_posts, :
|
33
|
+
add_index(:devape_cms_posts, :cached_slug)
|
34
|
+
add_index(:devape_cms_content, :post_id)
|
35
|
+
add_index(:devape_cms_content, :title)
|
27
36
|
end
|
28
37
|
|
29
38
|
def self.down
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devape_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 0.0.4
|
4
|
+
version: 0.0.5
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- John Kealy
|
@@ -10,30 +9,49 @@ autorequire:
|
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
11
|
|
13
|
-
date: 2011-
|
12
|
+
date: 2011-08-05 00:00:00 -04:00
|
13
|
+
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rspec
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
type: :development
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: "0"
|
24
|
-
|
25
|
-
version_requirements: *id001
|
24
|
+
version:
|
26
25
|
- !ruby/object:Gem::Dependency
|
27
26
|
name: acts_as_tree
|
28
|
-
|
29
|
-
|
30
|
-
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "0"
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: devise
|
37
|
+
type: :runtime
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
31
40
|
requirements:
|
32
41
|
- - ">="
|
33
42
|
- !ruby/object:Gem::Version
|
34
43
|
version: "0"
|
44
|
+
version:
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: friendly_id
|
35
47
|
type: :runtime
|
36
|
-
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: "0"
|
54
|
+
version:
|
37
55
|
description: Insert DevapeCms description.
|
38
56
|
email:
|
39
57
|
executables: []
|
@@ -50,12 +68,38 @@ files:
|
|
50
68
|
- lib/rails/generators/devape_cms/templates/schema.rb
|
51
69
|
- lib/rails/generators/devape_cms/templates/initializer.rb
|
52
70
|
- lib/rails/generators/devape_cms/templates/migration.rb
|
71
|
+
- lib/rails/generators/devape_cms/templates/devape_cms.js
|
53
72
|
- lib/devape_cms/version.rb
|
54
73
|
- lib/devape_cms/engine.rb
|
55
74
|
- MIT-LICENSE
|
56
75
|
- Rakefile
|
57
76
|
- README.rdoc
|
77
|
+
- app/views/categories/edit.html.erb
|
78
|
+
- app/views/categories/show.html.erb
|
79
|
+
- app/views/categories/_form.html.erb
|
80
|
+
- app/views/categories/new.html.erb
|
81
|
+
- app/views/categories/index.html.erb
|
82
|
+
- app/views/posts/edit.html.erb
|
83
|
+
- app/views/posts/show.html.erb
|
84
|
+
- app/views/posts/_form.html.erb
|
85
|
+
- app/views/posts/_list.html.erb
|
86
|
+
- app/views/posts/notfound.html.erb
|
87
|
+
- app/views/posts/cms.html.erb
|
88
|
+
- app/views/posts/new.html.erb
|
89
|
+
- app/views/posts/index.html.erb
|
90
|
+
- app/views/layouts/devape_cms/application.html.erb
|
91
|
+
- app/controllers/posts_controller.rb
|
92
|
+
- app/controllers/home_controller.rb
|
93
|
+
- app/controllers/application_controller.rb
|
94
|
+
- app/controllers/categories_controller.rb
|
95
|
+
- app/models/post.rb
|
96
|
+
- app/models/category.rb
|
97
|
+
- app/models/content.rb
|
98
|
+
- app/helpers/devape_cms/application_helper.rb
|
99
|
+
- app/assets/stylesheets/application.css
|
100
|
+
- app/assets/javascripts/application.js
|
58
101
|
- config/routes.rb
|
102
|
+
has_rdoc: true
|
59
103
|
homepage:
|
60
104
|
licenses: []
|
61
105
|
|
@@ -65,21 +109,21 @@ rdoc_options: []
|
|
65
109
|
require_paths:
|
66
110
|
- lib
|
67
111
|
required_ruby_version: !ruby/object:Gem::Requirement
|
68
|
-
none: false
|
69
112
|
requirements:
|
70
113
|
- - ">="
|
71
114
|
- !ruby/object:Gem::Version
|
72
115
|
version: "0"
|
116
|
+
version:
|
73
117
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
118
|
requirements:
|
76
119
|
- - ">="
|
77
120
|
- !ruby/object:Gem::Version
|
78
121
|
version: "0"
|
122
|
+
version:
|
79
123
|
requirements: []
|
80
124
|
|
81
125
|
rubyforge_project:
|
82
|
-
rubygems_version: 1.
|
126
|
+
rubygems_version: 1.3.5
|
83
127
|
signing_key:
|
84
128
|
specification_version: 3
|
85
129
|
summary: Insert DevapeCms summary.
|