rails_wiki 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,56 +3,64 @@ require_dependency "rails_wiki/application_controller"
3
3
  module RailsWiki
4
4
  class ArticlesController < ApplicationController
5
5
  def index
6
- @articles = Article.order(:slug).paginate per_page: 20, page: params[:page]
7
- end
6
+ @articles = Article.order(:slug).paginate per_page: 20, page: params[:page]
7
+ end
8
8
 
9
9
 
10
- def new
11
- @article = Article.new
12
- end
10
+ def new
11
+ @article = Article.new
12
+ end
13
13
 
14
- def show
15
- @article = Article.friendly.find(params[:id])
16
- markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, autolink: true, tables: true)
17
- @markdown_body = markdown.render(@article.text || '')
18
- @versions_available = true if @article.versions.count > 1
14
+ def show
15
+ @article = Article.friendly.find(params[:id])
16
+ markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, autolink: true, tables: true)
19
17
 
20
- rescue ActiveRecord::RecordNotFound => ex
21
- @article = Article.new(title: params[:id],text: "Article wasn't found, want to create one?")
22
- end
18
+ if !@article.text.blank?
19
+ article_body_after_wiki_links = @article.text.gsub(/\[(?<link>\w[\w\s]+)\]\s/) do
20
+ link = Regexp.last_match[:link]
21
+ "[#{link}](/wiki/#{link.parameterize})"
22
+ end
23
+ end
23
24
 
24
- def create
25
- @article = Article.new(article_params)
25
+ @markdown_body = markdown.render(article_body_after_wiki_links || '')
26
+ @versions_available = true if @article.versions.count > 1
26
27
 
27
- @article.save
28
- redirect_to @article
29
- end
28
+ rescue ActiveRecord::RecordNotFound => ex
29
+ @article = Article.new(title: params[:id],text: "Article wasn't found, want to create one?")
30
+ end
30
31
 
31
- def edit
32
- @article = Article.friendly.find(params[:id])
33
- end
32
+ def create
33
+ @article = Article.new(article_params)
34
34
 
35
- def versions
36
- require 'differ'
37
- Differ.format = :html
35
+ @article.save
36
+ redirect_to @article
37
+ end
38
38
 
39
+ def edit
40
+ @article = Article.friendly.find(params[:id])
41
+ end
39
42
 
40
- @article = Article.friendly.find(params[:id])
41
- end
43
+ def versions
44
+ require 'differ'
45
+ Differ.format = :html
42
46
 
43
- def update
44
- @article = Article.friendly.find(params[:id])
45
- if @article.update_attributes article_params
46
- redirect_to @article, notice: 'All good!'
47
- else
48
- render :edit
49
- end
50
- end
51
47
 
52
- private
48
+ @article = Article.friendly.find(params[:id])
49
+ end
53
50
 
54
- def article_params
55
- params.require(:article).permit(:title, :text, :version, :references, :protected)
56
- end
51
+ def update
52
+ @article = Article.friendly.find(params[:id])
53
+ if @article.update_attributes article_params
54
+ redirect_to @article, notice: 'All good!'
55
+ else
56
+ render :edit
57
+ end
58
+ end
59
+
60
+ private
61
+
62
+ def article_params
63
+ params.require(:article).permit(:title, :text, :version, :references, :protected)
64
+ end
57
65
  end
58
66
  end
@@ -32,7 +32,7 @@
32
32
  <% history.changeset.each_with_index do |change,index| %>
33
33
  <%= change[0] %>
34
34
  <% if change[0] == 'text' %>
35
- <% Differ.diff_by_word(change[1][1].to_s, change[1][0].to_s).to_s.html_safe %>
35
+ <%= Differ.diff_by_word(change[1][1].to_s, change[1][0].to_s).to_s.html_safe %>
36
36
  <% else %>
37
37
  <b><%= change[0] %></b> <%= change[1][0] %> to <%= change[1][1] %>
38
38
  <% end %>
@@ -1,5 +1,5 @@
1
1
  RailsWiki::Engine.routes.draw do
2
- resources :articles do
2
+ resources :articles, path: "wiki" do
3
3
  member do
4
4
  get :versions
5
5
  end
@@ -0,0 +1,9 @@
1
+ class AddObjectChangesIfNotThere < ActiveRecord::Migration
2
+ def change
3
+ if PaperTrail::Version and !PaperTrail::Version.columns.map(&:name).include?('object_changes')
4
+ add_column :versions, :object_changes, :text
5
+ else
6
+ puts "SMART! You already have it!! "*100
7
+ end
8
+ end
9
+ end
@@ -1,3 +1,3 @@
1
1
  module RailsWiki
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,19 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_wiki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Troy Anderson
9
+ - Max Wofford
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2014-09-22 00:00:00.000000000 Z
13
+ date: 2014-09-26 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: rails
16
- requirement: &70321928574740 !ruby/object:Gem::Requirement
17
+ requirement: &70207315022300 !ruby/object:Gem::Requirement
17
18
  none: false
18
19
  requirements:
19
20
  - - ~>
@@ -21,10 +22,32 @@ dependencies:
21
22
  version: 4.1.6
22
23
  type: :runtime
23
24
  prerelease: false
24
- version_requirements: *70321928574740
25
+ version_requirements: *70207315022300
26
+ - !ruby/object:Gem::Dependency
27
+ name: devise
28
+ requirement: &70207315021820 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *70207315021820
37
+ - !ruby/object:Gem::Dependency
38
+ name: paper_trail
39
+ requirement: &70207315020940 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ version: 3.0.5
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *70207315020940
25
48
  - !ruby/object:Gem::Dependency
26
49
  name: sqlite3
27
- requirement: &70321928574220 !ruby/object:Gem::Requirement
50
+ requirement: &70207315020340 !ruby/object:Gem::Requirement
28
51
  none: false
29
52
  requirements:
30
53
  - - ! '>='
@@ -32,7 +55,7 @@ dependencies:
32
55
  version: '0'
33
56
  type: :development
34
57
  prerelease: false
35
- version_requirements: *70321928574220
58
+ version_requirements: *70207315020340
36
59
  description: Rails Wiki is a simple engine to get you a markdown based wiki.
37
60
  email:
38
61
  - protected
@@ -54,6 +77,7 @@ files:
54
77
  - config/initializers/route_hack.rb
55
78
  - config/routes.rb
56
79
  - db/migrate/20140922180259_create_rails_wiki_articles.rb
80
+ - db/migrate/20140922203738_add_object_changes_if_not_there.rb
57
81
  - lib/rails_wiki/engine.rb
58
82
  - lib/rails_wiki/version.rb
59
83
  - lib/rails_wiki.rb