railswiki 0.1.0

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.
Files changed (101) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +185 -0
  4. data/Rakefile +24 -0
  5. data/app/assets/config/railswiki_manifest.js +2 -0
  6. data/app/assets/javascripts/railswiki/application.js +13 -0
  7. data/app/assets/javascripts/railswiki/histories.js +2 -0
  8. data/app/assets/javascripts/railswiki/invites.js +2 -0
  9. data/app/assets/javascripts/railswiki/pages.js +2 -0
  10. data/app/assets/javascripts/railswiki/sessions.js +2 -0
  11. data/app/assets/javascripts/railswiki/uploaded_files.js +2 -0
  12. data/app/assets/javascripts/railswiki/users.js +2 -0
  13. data/app/assets/stylesheets/railswiki/application.css +15 -0
  14. data/app/assets/stylesheets/railswiki/histories.css +4 -0
  15. data/app/assets/stylesheets/railswiki/invites.css +4 -0
  16. data/app/assets/stylesheets/railswiki/pages.scss +55 -0
  17. data/app/assets/stylesheets/railswiki/sessions.css +4 -0
  18. data/app/assets/stylesheets/railswiki/uploaded_files.scss +54 -0
  19. data/app/assets/stylesheets/railswiki/users.css +4 -0
  20. data/app/controllers/railswiki/application_controller.rb +126 -0
  21. data/app/controllers/railswiki/histories_controller.rb +48 -0
  22. data/app/controllers/railswiki/invites_controller.rb +61 -0
  23. data/app/controllers/railswiki/pages_controller.rb +141 -0
  24. data/app/controllers/railswiki/sessions_controller.rb +75 -0
  25. data/app/controllers/railswiki/uploaded_files_controller.rb +100 -0
  26. data/app/controllers/railswiki/users_controller.rb +55 -0
  27. data/app/helpers/railswiki/application_helper.rb +26 -0
  28. data/app/helpers/railswiki/histories_helper.rb +4 -0
  29. data/app/helpers/railswiki/invites_helper.rb +4 -0
  30. data/app/helpers/railswiki/pages_helper.rb +76 -0
  31. data/app/helpers/railswiki/sessions_helper.rb +4 -0
  32. data/app/helpers/railswiki/title_helper.rb +7 -0
  33. data/app/helpers/railswiki/uploaded_files_helper.rb +4 -0
  34. data/app/helpers/railswiki/users_helper.rb +4 -0
  35. data/app/helpers/railswiki/wiki_helper.rb +189 -0
  36. data/app/jobs/railswiki/application_job.rb +4 -0
  37. data/app/mailers/railswiki/application_mailer.rb +6 -0
  38. data/app/models/railswiki/application_record.rb +5 -0
  39. data/app/models/railswiki/history.rb +14 -0
  40. data/app/models/railswiki/invite.rb +20 -0
  41. data/app/models/railswiki/page.rb +56 -0
  42. data/app/models/railswiki/uploaded_file.rb +32 -0
  43. data/app/models/railswiki/user.rb +27 -0
  44. data/app/uploaders/railswiki/file_uploader.rb +56 -0
  45. data/app/views/layouts/railswiki/application.html.erb +25 -0
  46. data/app/views/railswiki/histories/index.html.erb +33 -0
  47. data/app/views/railswiki/histories/show.html.erb +17 -0
  48. data/app/views/railswiki/invites/_form.html.erb +38 -0
  49. data/app/views/railswiki/invites/index.html.erb +39 -0
  50. data/app/views/railswiki/invites/new.html.erb +7 -0
  51. data/app/views/railswiki/invites/show.html.erb +34 -0
  52. data/app/views/railswiki/pages/_form.html.erb +144 -0
  53. data/app/views/railswiki/pages/edit.html.erb +8 -0
  54. data/app/views/railswiki/pages/history.html.erb +11 -0
  55. data/app/views/railswiki/pages/index.html.erb +72 -0
  56. data/app/views/railswiki/pages/new.html.erb +7 -0
  57. data/app/views/railswiki/pages/show.html.erb +36 -0
  58. data/app/views/railswiki/sessions/no_invite.erb +7 -0
  59. data/app/views/railswiki/sessions/not_authorized.html.erb +12 -0
  60. data/app/views/railswiki/uploaded_files/_form.html.erb +31 -0
  61. data/app/views/railswiki/uploaded_files/_inline.html.erb +5 -0
  62. data/app/views/railswiki/uploaded_files/edit.html.erb +8 -0
  63. data/app/views/railswiki/uploaded_files/file_dialog.html.erb +11 -0
  64. data/app/views/railswiki/uploaded_files/image_dialog.html.erb +11 -0
  65. data/app/views/railswiki/uploaded_files/index.html.erb +36 -0
  66. data/app/views/railswiki/uploaded_files/new.html.erb +7 -0
  67. data/app/views/railswiki/uploaded_files/show.html.erb +29 -0
  68. data/app/views/railswiki/users/_form.html.erb +29 -0
  69. data/app/views/railswiki/users/edit.html.erb +8 -0
  70. data/app/views/railswiki/users/index.html.erb +37 -0
  71. data/app/views/railswiki/users/show.html.erb +59 -0
  72. data/app/views/shared/_formatting.md.erb +29 -0
  73. data/app/views/shared/_histories.html.erb +21 -0
  74. data/app/views/shared/_layout.html.erb +17 -0
  75. data/app/views/shared/_menu.html.erb +15 -0
  76. data/app/views/shared/_meta.html.erb +1 -0
  77. data/app/views/shared/_notices.html.erb +3 -0
  78. data/app/views/shared/_roles.html.erb +12 -0
  79. data/app/views/shared/_search.md.erb +5 -0
  80. data/config/initializers/carrierwave.rb +6 -0
  81. data/config/initializers/omniauth.rb +16 -0
  82. data/config/initializers/session_store.rb +1 -0
  83. data/config/routes.rb +25 -0
  84. data/db/migrate/20170420000841_create_railswiki_pages.rb +10 -0
  85. data/db/migrate/20170420010111_add_sessions_table.rb +12 -0
  86. data/db/migrate/20170420010147_create_railswiki_users.rb +14 -0
  87. data/db/migrate/20170420021039_add_lowercase_title_to_page.rb +5 -0
  88. data/db/migrate/20170420021840_create_railswiki_histories.rb +11 -0
  89. data/db/migrate/20170420235420_add_email_and_image_to_user.rb +8 -0
  90. data/db/migrate/20170421000333_add_last_login_to_user.rb +5 -0
  91. data/db/migrate/20170421010945_add_role_to_user.rb +7 -0
  92. data/db/migrate/20170421020932_create_railswiki_uploaded_files.rb +10 -0
  93. data/db/migrate/20170421030140_add_title_to_uploaded_file.rb +5 -0
  94. data/db/migrate/20170517224700_create_railswiki_invites.rb +12 -0
  95. data/db/migrate/20170517234452_add_role_to_invite.rb +5 -0
  96. data/db/migrate/20170622033540_set_all_mysql_tables_to_utf8.rb +54 -0
  97. data/lib/railswiki.rb +5 -0
  98. data/lib/railswiki/engine.rb +14 -0
  99. data/lib/railswiki/version.rb +3 -0
  100. data/lib/tasks/railswiki_tasks.rake +4 -0
  101. metadata +255 -0
@@ -0,0 +1,21 @@
1
+ <table class="list-table">
2
+ <thead>
3
+ <tr>
4
+ <th>Title</th>
5
+ <th>Time</th>
6
+ <th colspan="2"></th>
7
+ </tr>
8
+ </thead>
9
+
10
+ <tbody>
11
+ <% histories.order(created_at: :desc).limit(20).each do |history| %>
12
+ <tr>
13
+ <td><%= link_to history.page.title, wiki_path(history.page) %></td>
14
+ <td><%= time_ago_in_words history.created_at %> ago</td>
15
+ <td><%= link_to 'Show', history %></td>
16
+ <td><%= link_to 'Destroy', history, method: :delete, data: { confirm: 'Are you sure?' } if user_can?(:delete_history) %></td>
17
+ </tr>
18
+ <% end %>
19
+ </tbody>
20
+ </table>
21
+
@@ -0,0 +1,17 @@
1
+ <header class="header">
2
+ <%= include_wiki "Special:Header" %>
3
+ </header>
4
+
5
+ <nav class="menu">
6
+ <%= render "shared/menu" %>
7
+ </nav>
8
+
9
+ <section class="content">
10
+ <%= render partial: "shared/notices" %>
11
+
12
+ <%= yield %>
13
+ </section>
14
+
15
+ <footer class="footer">
16
+ <%= include_wiki "Special:Footer" %>
17
+ </footer>
@@ -0,0 +1,15 @@
1
+ <nav>
2
+ <%= link_to "New page", new_page_path if user_can?(:create_page) %>
3
+ <%= link_to "Pages", pages_path if user_can?(:list_pages) %>
4
+ <%= link_to "Histories", histories_path if user_can?(:list_histories) %>
5
+ <%= link_to "Users", users_path if user_can?(:list_users) %>
6
+ <%= link_to "Invites", invites_path if user_can?(:list_invites) %>
7
+ <%= link_to "Files", uploaded_files_path if user_can?(:list_files) %>
8
+ <% if current_user %>
9
+ Logged in as
10
+ <%= link_to current_user.name, current_user %>
11
+ <%= link_to "Sign out", logout_path %>
12
+ <% else %>
13
+ <%= link_to "Sign in with Google", main_app.login_path %>
14
+ <% end %>
15
+ </nav>
@@ -0,0 +1 @@
1
+ <!-- empty -->
@@ -0,0 +1,3 @@
1
+ <% if notice.present? %>
2
+ <p id="notice"><%= notice %></p>
3
+ <% end %>
@@ -0,0 +1,12 @@
1
+ <div class="field">
2
+ <%= form.label :role %>
3
+ <%= form.select :role, Railswiki::User::AVAILABLE_ROLES %>
4
+ </div>
5
+
6
+ <h2>Description of roles:</h2>
7
+
8
+ <ul>
9
+ <li><strong><%= Railswiki::User::ROLE_ADMIN %></strong> users can edit, invite and remove users</li>
10
+ <li><strong><%= Railswiki::User::ROLE_EDITOR %></strong> users can edit pages and view page histories</li>
11
+ <li><strong><%= Railswiki::User::ROLE_DEFAULT %></strong> users can view pages</li>
12
+ </ul>
@@ -0,0 +1,5 @@
1
+ <%= form_tag(Railswiki::Engine.routes.url_helpers.pages_path, method: :get, class: "search-form") do |f| %>
2
+ <label for="search">Title:</label>
3
+ <%= text_field_tag :search, params[:search], placeholder: "Search" %>
4
+ <%= submit_tag "Search" %>
5
+ <% end %>
@@ -0,0 +1,6 @@
1
+ require_dependency "carrierwave"
2
+
3
+ CarrierWave.configure do |config|
4
+ config.root = Rails.root
5
+ CarrierWave.tmp_path = Rails.root.join 'tmp/uploads'
6
+ end
@@ -0,0 +1,16 @@
1
+ require_dependency 'omniauth'
2
+ require_dependency 'omniauth-google-oauth2'
3
+
4
+ Rails.application.config.middleware.use OmniAuth::Builder do
5
+ raise "No OAUTH_CLIENT_ID provided" unless ENV['OAUTH_CLIENT_ID']
6
+ raise "No OAUTH_CLIENT_SECRET provided" unless ENV['OAUTH_CLIENT_SECRET']
7
+
8
+ provider :google_oauth2,
9
+ ENV['OAUTH_CLIENT_ID'],
10
+ ENV['OAUTH_CLIENT_SECRET'],
11
+ {
12
+ name: "google_login",
13
+ approval_prompt: '',
14
+ verify_iss: false, # Fix Google screwing around with ISS spec. See https://github.com/zquestz/omniauth-google-oauth2/issues/292
15
+ }
16
+ end
@@ -0,0 +1 @@
1
+ Rails.application.config.session_store :active_record_store
@@ -0,0 +1,25 @@
1
+ Railswiki::Engine.routes.draw do
2
+ # get "/auth/google_login/callback" => "sessions#create"
3
+ get "/signout" => "sessions#destroy", as: :logout
4
+
5
+ get "/sessions/not_authorized"
6
+ get "/sessions/no_invite"
7
+
8
+ resources :pages do
9
+ get :history
10
+ end
11
+ resources :users, only: [:index, :show, :edit, :update, :destroy]
12
+ resources :invites, only: [:index, :new, :create, :show, :destroy]
13
+ resources :histories, only: [:show, :index, :destroy]
14
+ resources :uploaded_files do
15
+ collection do
16
+ get :image_dialog
17
+ get :file_dialog
18
+ end
19
+ end
20
+
21
+ get "/download/:title", to: "uploaded_files#download", as: "download_file", format: false, constraints: { title: /.*/ }
22
+ get "*path", to: 'pages#show', via: :get, as: :title
23
+
24
+ root to: "pages#show", id: "Home"
25
+ end
@@ -0,0 +1,10 @@
1
+ class CreateRailswikiPages < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :railswiki_pages do |t|
4
+ t.string :title, null: false, unique: true
5
+ t.integer :latest_version_id, null: true, index: true
6
+
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,12 @@
1
+ class AddSessionsTable < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :sessions do |t|
4
+ t.string :session_id, :null => false
5
+ t.text :data
6
+ t.timestamps
7
+ end
8
+
9
+ add_index :sessions, :session_id, :unique => true
10
+ add_index :sessions, :updated_at
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ class CreateRailswikiUsers < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :railswiki_users do |t|
4
+ t.string :provider
5
+ t.string :uid
6
+ t.string :name
7
+ t.string :refresh_token
8
+ t.string :access_token
9
+ t.timestamp :expires
10
+
11
+ t.timestamps
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,5 @@
1
+ class AddLowercaseTitleToPage < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :railswiki_pages, :lowercase_title, :string, null: false, unique: true
4
+ end
5
+ end
@@ -0,0 +1,11 @@
1
+ class CreateRailswikiHistories < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :railswiki_histories do |t|
4
+ t.integer :page_id, null: false, index: true
5
+ t.text :body
6
+ t.integer :author_id, null: false, index: true
7
+
8
+ t.timestamps
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,8 @@
1
+ class AddEmailAndImageToUser < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :railswiki_users, :email, :string
4
+ add_column :railswiki_users, :image_url, :string
5
+
6
+ add_index :railswiki_users, :email, :unique => true
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ class AddLastLoginToUser < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :railswiki_users, :last_login, :timestamp
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ class AddRoleToUser < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :railswiki_users, :role, :string
4
+
5
+ add_index :railswiki_users, :role
6
+ end
7
+ end
@@ -0,0 +1,10 @@
1
+ class CreateRailswikiUploadedFiles < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :railswiki_uploaded_files do |t|
4
+ t.string :file
5
+ t.integer :user_id, null: false, index: true
6
+
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,5 @@
1
+ class AddTitleToUploadedFile < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :railswiki_uploaded_files, :title, :string
4
+ end
5
+ end
@@ -0,0 +1,12 @@
1
+ class CreateRailswikiInvites < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :railswiki_invites do |t|
4
+ t.string :email, null: false, unique: true
5
+ t.datetime :accepted_at, null: true
6
+ t.integer :inviting_user_id, null: false, index: true
7
+ t.integer :invited_user_id, null: true, index: true
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,5 @@
1
+ class AddRoleToInvite < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :railswiki_invites, :role, :string, null: false, default: "user"
4
+ end
5
+ end
@@ -0,0 +1,54 @@
1
+ class SetAllMysqlTablesToUtf8 < ActiveRecord::Migration[5.1]
2
+ MAX_VARCHAR_LENGTH = 191
3
+
4
+ def up
5
+ # we have to reduce the length of varchar(255) to varchar(191)
6
+ # so it fits in 255 bytes with UTF8 for MySQL
7
+ change_table :railswiki_users do |t|
8
+ t.change :provider, :string, limit: MAX_VARCHAR_LENGTH
9
+ t.change :uid, :string, limit: MAX_VARCHAR_LENGTH
10
+ t.change :name, :string, limit: MAX_VARCHAR_LENGTH
11
+ t.change :refresh_token, :string, limit: MAX_VARCHAR_LENGTH
12
+ t.change :access_token, :string, limit: MAX_VARCHAR_LENGTH
13
+ t.change :email, :string, limit: MAX_VARCHAR_LENGTH
14
+ t.change :image_url, :string, limit: MAX_VARCHAR_LENGTH
15
+ t.change :role, :string, limit: MAX_VARCHAR_LENGTH
16
+ end
17
+
18
+ change_table :railswiki_invites do |t|
19
+ t.change :email, :string, limit: MAX_VARCHAR_LENGTH
20
+ t.change :role, :string, limit: MAX_VARCHAR_LENGTH
21
+ end
22
+
23
+ change_table :railswiki_pages do |t|
24
+ t.change :title, :string, limit: MAX_VARCHAR_LENGTH
25
+ t.change :lowercase_title, :string, limit: MAX_VARCHAR_LENGTH
26
+ end
27
+
28
+ change_table :railswiki_uploaded_files do |t|
29
+ t.change :file, :string, limit: MAX_VARCHAR_LENGTH
30
+ t.change :title, :string, limit: MAX_VARCHAR_LENGTH
31
+ end
32
+
33
+ # then change the character sets
34
+ adapter_type = connection.adapter_name.downcase.to_sym
35
+ case adapter_type
36
+ when :mysql, :mysql2
37
+ [
38
+ "railswiki_histories",
39
+ "railswiki_invites",
40
+ "railswiki_pages",
41
+ "railswiki_uploaded_files",
42
+ "railswiki_users"
43
+ ].each do |table|
44
+ Railswiki::Page.connection.execute "ALTER TABLE #{table} CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
45
+ end
46
+ else
47
+ puts "Ignoring adapter #{adapter_type}"
48
+ end
49
+ end
50
+
51
+ def down
52
+ # We don't really care about the reversibility of this migration
53
+ end
54
+ end
@@ -0,0 +1,5 @@
1
+ require "railswiki/engine"
2
+
3
+ module Railswiki
4
+ # Your code goes here...
5
+ end
@@ -0,0 +1,14 @@
1
+ require 'active_record/session_store'
2
+ require 'webpacker'
3
+
4
+ module Railswiki
5
+ class Engine < ::Rails::Engine
6
+ isolate_namespace Railswiki
7
+
8
+ attr_accessor :use_slugs
9
+
10
+ def initialize
11
+ @use_slugs = false
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,3 @@
1
+ module Railswiki
2
+ VERSION = '0.1.0'
3
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :railswiki do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,255 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: railswiki
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Jevon Wright
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-02-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '5.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: omniauth-google-oauth2
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: activerecord-session_store
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: redcarpet
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: carrierwave
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: email_validator
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: webpacker
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2.0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '2.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: sqlite3
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ description: A wiki engine in Rails 5.
126
+ email:
127
+ - jevon@jevon.org
128
+ executables: []
129
+ extensions: []
130
+ extra_rdoc_files: []
131
+ files:
132
+ - MIT-LICENSE
133
+ - README.md
134
+ - Rakefile
135
+ - app/assets/config/railswiki_manifest.js
136
+ - app/assets/javascripts/railswiki/application.js
137
+ - app/assets/javascripts/railswiki/histories.js
138
+ - app/assets/javascripts/railswiki/invites.js
139
+ - app/assets/javascripts/railswiki/pages.js
140
+ - app/assets/javascripts/railswiki/sessions.js
141
+ - app/assets/javascripts/railswiki/uploaded_files.js
142
+ - app/assets/javascripts/railswiki/users.js
143
+ - app/assets/stylesheets/railswiki/application.css
144
+ - app/assets/stylesheets/railswiki/histories.css
145
+ - app/assets/stylesheets/railswiki/invites.css
146
+ - app/assets/stylesheets/railswiki/pages.scss
147
+ - app/assets/stylesheets/railswiki/sessions.css
148
+ - app/assets/stylesheets/railswiki/uploaded_files.scss
149
+ - app/assets/stylesheets/railswiki/users.css
150
+ - app/controllers/railswiki/application_controller.rb
151
+ - app/controllers/railswiki/histories_controller.rb
152
+ - app/controllers/railswiki/invites_controller.rb
153
+ - app/controllers/railswiki/pages_controller.rb
154
+ - app/controllers/railswiki/sessions_controller.rb
155
+ - app/controllers/railswiki/uploaded_files_controller.rb
156
+ - app/controllers/railswiki/users_controller.rb
157
+ - app/helpers/railswiki/application_helper.rb
158
+ - app/helpers/railswiki/histories_helper.rb
159
+ - app/helpers/railswiki/invites_helper.rb
160
+ - app/helpers/railswiki/pages_helper.rb
161
+ - app/helpers/railswiki/sessions_helper.rb
162
+ - app/helpers/railswiki/title_helper.rb
163
+ - app/helpers/railswiki/uploaded_files_helper.rb
164
+ - app/helpers/railswiki/users_helper.rb
165
+ - app/helpers/railswiki/wiki_helper.rb
166
+ - app/jobs/railswiki/application_job.rb
167
+ - app/mailers/railswiki/application_mailer.rb
168
+ - app/models/railswiki/application_record.rb
169
+ - app/models/railswiki/history.rb
170
+ - app/models/railswiki/invite.rb
171
+ - app/models/railswiki/page.rb
172
+ - app/models/railswiki/uploaded_file.rb
173
+ - app/models/railswiki/user.rb
174
+ - app/uploaders/railswiki/file_uploader.rb
175
+ - app/views/layouts/railswiki/application.html.erb
176
+ - app/views/railswiki/histories/index.html.erb
177
+ - app/views/railswiki/histories/show.html.erb
178
+ - app/views/railswiki/invites/_form.html.erb
179
+ - app/views/railswiki/invites/index.html.erb
180
+ - app/views/railswiki/invites/new.html.erb
181
+ - app/views/railswiki/invites/show.html.erb
182
+ - app/views/railswiki/pages/_form.html.erb
183
+ - app/views/railswiki/pages/edit.html.erb
184
+ - app/views/railswiki/pages/history.html.erb
185
+ - app/views/railswiki/pages/index.html.erb
186
+ - app/views/railswiki/pages/new.html.erb
187
+ - app/views/railswiki/pages/show.html.erb
188
+ - app/views/railswiki/sessions/no_invite.erb
189
+ - app/views/railswiki/sessions/not_authorized.html.erb
190
+ - app/views/railswiki/uploaded_files/_form.html.erb
191
+ - app/views/railswiki/uploaded_files/_inline.html.erb
192
+ - app/views/railswiki/uploaded_files/edit.html.erb
193
+ - app/views/railswiki/uploaded_files/file_dialog.html.erb
194
+ - app/views/railswiki/uploaded_files/image_dialog.html.erb
195
+ - app/views/railswiki/uploaded_files/index.html.erb
196
+ - app/views/railswiki/uploaded_files/new.html.erb
197
+ - app/views/railswiki/uploaded_files/show.html.erb
198
+ - app/views/railswiki/users/_form.html.erb
199
+ - app/views/railswiki/users/edit.html.erb
200
+ - app/views/railswiki/users/index.html.erb
201
+ - app/views/railswiki/users/show.html.erb
202
+ - app/views/shared/_formatting.md.erb
203
+ - app/views/shared/_histories.html.erb
204
+ - app/views/shared/_layout.html.erb
205
+ - app/views/shared/_menu.html.erb
206
+ - app/views/shared/_meta.html.erb
207
+ - app/views/shared/_notices.html.erb
208
+ - app/views/shared/_roles.html.erb
209
+ - app/views/shared/_search.md.erb
210
+ - config/initializers/carrierwave.rb
211
+ - config/initializers/omniauth.rb
212
+ - config/initializers/session_store.rb
213
+ - config/routes.rb
214
+ - db/migrate/20170420000841_create_railswiki_pages.rb
215
+ - db/migrate/20170420010111_add_sessions_table.rb
216
+ - db/migrate/20170420010147_create_railswiki_users.rb
217
+ - db/migrate/20170420021039_add_lowercase_title_to_page.rb
218
+ - db/migrate/20170420021840_create_railswiki_histories.rb
219
+ - db/migrate/20170420235420_add_email_and_image_to_user.rb
220
+ - db/migrate/20170421000333_add_last_login_to_user.rb
221
+ - db/migrate/20170421010945_add_role_to_user.rb
222
+ - db/migrate/20170421020932_create_railswiki_uploaded_files.rb
223
+ - db/migrate/20170421030140_add_title_to_uploaded_file.rb
224
+ - db/migrate/20170517224700_create_railswiki_invites.rb
225
+ - db/migrate/20170517234452_add_role_to_invite.rb
226
+ - db/migrate/20170622033540_set_all_mysql_tables_to_utf8.rb
227
+ - lib/railswiki.rb
228
+ - lib/railswiki/engine.rb
229
+ - lib/railswiki/version.rb
230
+ - lib/tasks/railswiki_tasks.rake
231
+ homepage: https://github.com/soundasleep/railswiki
232
+ licenses:
233
+ - MIT
234
+ metadata: {}
235
+ post_install_message:
236
+ rdoc_options: []
237
+ require_paths:
238
+ - lib
239
+ required_ruby_version: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ required_rubygems_version: !ruby/object:Gem::Requirement
245
+ requirements:
246
+ - - ">="
247
+ - !ruby/object:Gem::Version
248
+ version: '0'
249
+ requirements: []
250
+ rubyforge_project:
251
+ rubygems_version: 2.5.2
252
+ signing_key:
253
+ specification_version: 4
254
+ summary: A wiki engine in Rails 5.
255
+ test_files: []