make_commentable 0.0.8.1.1 → 0.0.8.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.
@@ -4,7 +4,7 @@ class CommentGenerator < Rails::Generators::Base
4
4
  include Rails::Generators::Migration
5
5
 
6
6
  def self.source_root
7
- @make_commentable_source_root ||= File.expand_path("../templates", __FILE__)
7
+ @_make_commentable_source_root ||= File.expand_path("../templates", __FILE__)
8
8
  end
9
9
 
10
10
  def self.next_migration_number(path)
@@ -0,0 +1,105 @@
1
+ class CommentsController < ApplicationController
2
+ # GET /comments
3
+ # GET /comments.json
4
+ def index
5
+ @comments = Comment.all
6
+
7
+ respond_to do |format|
8
+ format.html # index.html.erb
9
+ format.json { render json: @comments }
10
+ end
11
+ end
12
+
13
+ # GET /comments/1
14
+ # GET /comments/1.json
15
+ def show
16
+ @comment = Comment.find(params[:id])
17
+
18
+ respond_to do |format|
19
+ format.html # show.html.erb
20
+ format.json { render json: @comment }
21
+ end
22
+ end
23
+
24
+ # GET /comments/new
25
+ # GET /comments/new.json
26
+ def new
27
+ @comment = Comment.new
28
+
29
+ respond_to do |format|
30
+ format.html # new.html.erb
31
+ format.json { render json: @comment }
32
+ end
33
+ end
34
+
35
+ # GET /comments/1/edit
36
+ def edit
37
+ @comment = Comment.find(params[:id])
38
+ end
39
+
40
+ # POST /comments
41
+ # POST /comments.json
42
+ def create
43
+ @source = find_commentable
44
+ @comment = @source.comments.new(params[:comment])
45
+
46
+ if params[:comment][:parent_id] != ''
47
+ parent_comment = Comment.find(params[:comment][:parent_id])
48
+ @comment.parent = parent_comment
49
+ end
50
+
51
+ @comment.user = current_user
52
+
53
+ respond_to do |format|
54
+ if @comment.save
55
+ format.html { flash[:notice] = 'comment added'; redirect_to :back }
56
+ format.js { render :layout => false }
57
+ else
58
+ format.html { flash[:error] = 'error happened'; render :action => 'new' }
59
+ format.js { render :layout => false }
60
+ end
61
+ end
62
+ end
63
+
64
+ # PUT /comments/1
65
+ # PUT /comments/1.json
66
+ def update
67
+ @comment = Comment.find(params[:id])
68
+
69
+ respond_to do |format|
70
+ if @comment.update_attributes(params[:comment])
71
+ format.html { redirect_to @comment, notice: 'Comment was successfully updated.' }
72
+ format.json { head :no_content }
73
+ else
74
+ format.html { render action: "edit" }
75
+ format.json { render json: @comment.errors, status: :unprocessable_entity }
76
+ end
77
+ end
78
+ end
79
+
80
+ # DELETE /comments/1
81
+ # DELETE /comments/1.json
82
+ def destroy
83
+ @comment = Comment.find(params[:id])
84
+ @comment.destroy
85
+
86
+ respond_to do |format|
87
+ format.html { redirect_to comments_url }
88
+ format.json { head :no_content }
89
+ end
90
+ end
91
+
92
+ private
93
+
94
+ # find commentable model
95
+ # name like 'company_id'
96
+ # value model's id
97
+ def find_commentable
98
+ params.each do |name, value|
99
+ if name =~ /(.+)_id$/
100
+ return $1.classify.constantize.find(value)
101
+ end
102
+ end
103
+ nil
104
+ end
105
+ end
@@ -1,3 +1,3 @@
1
1
  module Commentable
2
- VERSION = "0.0.8.1.1"
2
+ VERSION = "0.0.8.1.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: make_commentable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8.1.1
4
+ version: 0.0.8.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: