caboose-cms 0.1.7 → 0.1.34
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/bin/caboose +54 -0
- data/lib/caboose/caboose_helper.rb +319 -0
- data/lib/caboose/version.rb +1 -1
- data/lib/tasks/caboose.rake +7 -107
- metadata +7 -4
data/bin/caboose
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'rails/all'
|
4
|
+
require 'caboose'
|
5
|
+
require 'caboose/engine'
|
6
|
+
require 'caboose/version'
|
7
|
+
require 'caboose/caboose_helper'
|
8
|
+
|
9
|
+
action = false
|
10
|
+
action = ARGV[0] if ARGV.count > 0
|
11
|
+
|
12
|
+
path = Dir.pwd
|
13
|
+
path = ARGV[1] if ARGV.count > 1
|
14
|
+
helper = CabooseHelper.new(path)
|
15
|
+
|
16
|
+
case action
|
17
|
+
|
18
|
+
when 'v', 'version'
|
19
|
+
puts "Caboose CMS Version #{Caboose::VERSION}\n\n"
|
20
|
+
exit
|
21
|
+
|
22
|
+
when 'help'
|
23
|
+
puts "Usage:"
|
24
|
+
puts "Create a new caboose app:"
|
25
|
+
puts " caboose new <app_path>"
|
26
|
+
puts "Initialize an existing rails app as a new caboose app:"
|
27
|
+
puts " caboose init [<app_path>]\n\n"
|
28
|
+
exit
|
29
|
+
|
30
|
+
when 'new'
|
31
|
+
|
32
|
+
if (ARGV.count != 2)
|
33
|
+
puts "Usage: caboose new <app_path>\n\n"
|
34
|
+
exit
|
35
|
+
end
|
36
|
+
puts "Creating the new rails app..."
|
37
|
+
`rails new #{path} -d=mysql`
|
38
|
+
helper.init_all
|
39
|
+
|
40
|
+
when 'init'
|
41
|
+
|
42
|
+
is_rails_app = File.exists(File.join(path, 'config', 'environment.rb'))
|
43
|
+
if (!is_rails_app)
|
44
|
+
if (ARGV.count == 1)
|
45
|
+
puts "Error: You don't seem to be in a rails app.\n\n"
|
46
|
+
else
|
47
|
+
puts "Error: The supplied path (#{path}) doesn't seem to be a rails app.\n\n"
|
48
|
+
end
|
49
|
+
exit
|
50
|
+
end
|
51
|
+
helper.init_all
|
52
|
+
|
53
|
+
else
|
54
|
+
end
|
@@ -0,0 +1,319 @@
|
|
1
|
+
|
2
|
+
class CabooseHelper
|
3
|
+
|
4
|
+
def initialize(app_path)
|
5
|
+
@app_path = app_path
|
6
|
+
end
|
7
|
+
|
8
|
+
def init_all
|
9
|
+
init_gem
|
10
|
+
init_app_config
|
11
|
+
init_initializer
|
12
|
+
init_routes
|
13
|
+
init_assets
|
14
|
+
init_tinymce
|
15
|
+
init_session
|
16
|
+
remove_public_index
|
17
|
+
end
|
18
|
+
|
19
|
+
def init_file(filename)
|
20
|
+
gem_root = Gem::Specification.find_by_name('caboose-cms').gem_dir
|
21
|
+
filename = File.join(@app_path, filename)
|
22
|
+
copy_from = File.join(gem_root,'lib','sample_files', Pathname.new(filename).basename)
|
23
|
+
|
24
|
+
if (!File.exists?(filename))
|
25
|
+
FileUtils.cp(copy_from, filename)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
# Add the gem to the Gemfile
|
30
|
+
def init_gem
|
31
|
+
puts "Adding the caboose gem to the Gemfile... "
|
32
|
+
filename = File.join(@app_path,'Gemfile')
|
33
|
+
return if !File.exists?(filename)
|
34
|
+
|
35
|
+
file = File.open(filename, 'rb')
|
36
|
+
str = file.read
|
37
|
+
file.close
|
38
|
+
str2 = ""
|
39
|
+
str.each_line do |line|
|
40
|
+
if (!line.strip.start_with?('#') && (!line.index("gem 'caboose'").nil? || !line.index('gem "caboose"').nil?))
|
41
|
+
str2 << "##{line}"
|
42
|
+
else
|
43
|
+
str2 << line
|
44
|
+
end
|
45
|
+
end
|
46
|
+
str2 << "gem 'caboose', '= #{Caboose::VERSION}'\n"
|
47
|
+
File.open(filename, 'w') {|file| file.write(str2) }
|
48
|
+
end
|
49
|
+
|
50
|
+
# Require caboose in the application config
|
51
|
+
def init_app_config
|
52
|
+
puts "Requiring caboose in the application config..."
|
53
|
+
|
54
|
+
filename = File.join(@app_path,'config','application.rb')
|
55
|
+
return if !File.exists?(filename)
|
56
|
+
|
57
|
+
file = File.open(filename, 'rb')
|
58
|
+
contents = file.read
|
59
|
+
file.close
|
60
|
+
if (contents.index("require 'caboose'").nil?)
|
61
|
+
arr = contents.split("require 'rails/all'", -1)
|
62
|
+
str = arr[0] + "\nrequire 'rails/all'\nrequire 'caboose'\n" + arr[1]
|
63
|
+
File.open(filename, 'w') { |file| file.write(str) }
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
# Removes the public/index.html file from the rails app
|
68
|
+
def remove_public_index
|
69
|
+
puts "Removing the public/index.html file... "
|
70
|
+
|
71
|
+
filename = File.join(@app_path,'public','index.html')
|
72
|
+
return if !File.exists?(filename)
|
73
|
+
File.delete(filename)
|
74
|
+
end
|
75
|
+
|
76
|
+
# Adds the caboose initializer file
|
77
|
+
def init_initializer
|
78
|
+
puts "Adding the caboose initializer file..."
|
79
|
+
|
80
|
+
filename = File.join(@app_path,'config','initializers','caboose.rb')
|
81
|
+
return if File.exists?(filename)
|
82
|
+
|
83
|
+
Caboose::salt = Digest::SHA1.hexdigest(DateTime.now.to_s)
|
84
|
+
str = ""
|
85
|
+
str << "# Salt to ensure passwords are encrypted securely\n"
|
86
|
+
str << "Caboose::salt = '#{Caboose::salt}'\n\n"
|
87
|
+
str << "# Where page asset files will be uploaded\n"
|
88
|
+
str << "Caboose::assets_path = File.join(@app_path,'app', 'assets', 'caboose')\n\n"
|
89
|
+
str << "# Register any caboose plugins\n"
|
90
|
+
str << "#Caboose::plugins + ['MyCaboosePlugin']\n\n"
|
91
|
+
|
92
|
+
File.open(filename, 'w') {|file| file.write(str) }
|
93
|
+
end
|
94
|
+
|
95
|
+
# Adds the routes to the host app to point everything to caboose
|
96
|
+
def init_routes
|
97
|
+
puts "Adding the caboose routes..."
|
98
|
+
|
99
|
+
filename = File.join(@app_path,'config','routes.rb')
|
100
|
+
return if !File.exists?(filename)
|
101
|
+
|
102
|
+
str = ""
|
103
|
+
str << "\t# Catch everything with caboose\n"
|
104
|
+
str << "\tmount Caboose::Engine => '/'\n"
|
105
|
+
str << "\tmatch '*path' => 'caboose/pages#show'\n"
|
106
|
+
str << "\troot :to => 'caboose/pages#show'\n"
|
107
|
+
file = File.open(filename, 'rb')
|
108
|
+
contents = file.read
|
109
|
+
file.close
|
110
|
+
if (contents.index(str).nil?)
|
111
|
+
arr = contents.split('end', -1)
|
112
|
+
str2 = arr[0] + "\n" + str + "\nend" + arr[1]
|
113
|
+
File.open(filename, 'w') {|file| file.write(str2) }
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
def init_assets
|
118
|
+
puts "Adding the javascript files..."
|
119
|
+
init_file('app/assets/javascripts/caboose_before.js')
|
120
|
+
init_file('app/assets/javascripts/caboose_after.js')
|
121
|
+
|
122
|
+
puts "Adding the stylesheet files..."
|
123
|
+
init_file('app/assets/stylesheets/caboose_before.css')
|
124
|
+
init_file('app/assets/stylesheets/caboose_after.css')
|
125
|
+
|
126
|
+
puts "Adding the layout files..."
|
127
|
+
init_file('app/views/layouts/layout_default.html.erb')
|
128
|
+
end
|
129
|
+
|
130
|
+
def init_tinymce
|
131
|
+
puts "Adding the tinymce config file..."
|
132
|
+
init_file('config/tinymce.yml')
|
133
|
+
end
|
134
|
+
|
135
|
+
def init_session
|
136
|
+
puts "Setting the session config..."
|
137
|
+
|
138
|
+
lines = []
|
139
|
+
str = File.open(File.join(@app_path,'config','initializers','session_store.rb')).read
|
140
|
+
str.gsub!(/\r\n?/, "\n")
|
141
|
+
str.each_line do |line|
|
142
|
+
line = '#' + line if !line.index(':cookie_store').nil? && !line.start_with?('#')
|
143
|
+
line[0] = '' if !line.index(':active_record_store').nil? && line.start_with?('#')
|
144
|
+
lines << line.strip
|
145
|
+
end
|
146
|
+
str = lines.join("\n")
|
147
|
+
File.open(File.join(@app_path,'config','initializers','session_store.rb'), 'w') {|file| file.write(str) }
|
148
|
+
end
|
149
|
+
|
150
|
+
def init_schema
|
151
|
+
drop_tables
|
152
|
+
create_tables
|
153
|
+
end
|
154
|
+
|
155
|
+
def drop_tables
|
156
|
+
puts "Dropping any existing caboose tables..."
|
157
|
+
c = ActiveRecord::Base.connection
|
158
|
+
c.drop_table :users if c.table_exists?('users')
|
159
|
+
c.drop_table :roles if c.table_exists?('roles')
|
160
|
+
c.drop_table :permissions if c.table_exists?('permissions')
|
161
|
+
c.drop_table :roles_users if c.table_exists?('roles_users')
|
162
|
+
c.drop_table :permissions_roles if c.table_exists?('permissions_roles')
|
163
|
+
c.drop_table :assets if c.table_exists?('assets')
|
164
|
+
c.drop_table :pages if c.table_exists?('pages')
|
165
|
+
c.drop_table :page_permissions if c.table_exists?('page_permissions')
|
166
|
+
c.drop_table :sessions if c.table_exists?('sessions')
|
167
|
+
c.drop_table :settings if c.table_exists?('settings')
|
168
|
+
end
|
169
|
+
|
170
|
+
def create_tables
|
171
|
+
puts "Creating required caboose tables..."
|
172
|
+
|
173
|
+
c = ActiveRecord::Base.connection
|
174
|
+
|
175
|
+
# User/Role/Permissions
|
176
|
+
c.create_table :users do |t|
|
177
|
+
t.string :first_name
|
178
|
+
t.string :last_name
|
179
|
+
t.string :username
|
180
|
+
t.string :email
|
181
|
+
t.string :password
|
182
|
+
t.string :password_reset_id
|
183
|
+
t.datetime :password_reset_sent
|
184
|
+
t.string :token
|
185
|
+
end
|
186
|
+
c.create_table :roles do |t|
|
187
|
+
t.integer :parent_id
|
188
|
+
t.string :name
|
189
|
+
t.string :description
|
190
|
+
end
|
191
|
+
c.create_table :permissions do |t|
|
192
|
+
t.string :resource
|
193
|
+
t.string :action
|
194
|
+
end
|
195
|
+
|
196
|
+
# Role membership
|
197
|
+
c.create_table :roles_users do |t|
|
198
|
+
t.references :role
|
199
|
+
t.references :user
|
200
|
+
end
|
201
|
+
c.add_index :roles_users, :role_id
|
202
|
+
c.add_index :roles_users, :user_id
|
203
|
+
|
204
|
+
# Role permissions
|
205
|
+
c.create_table :permissions_roles do |t|
|
206
|
+
t.references :role
|
207
|
+
t.references :permission
|
208
|
+
end
|
209
|
+
c.add_index :permissions_roles, :role_id
|
210
|
+
c.add_index :permissions_roles, :permission_id
|
211
|
+
|
212
|
+
# Pages and Assets
|
213
|
+
c.create_table :assets do |t|
|
214
|
+
t.references :page
|
215
|
+
t.references :user
|
216
|
+
t.datetime :date_uploaded
|
217
|
+
t.string :name
|
218
|
+
t.string :filename
|
219
|
+
t.string :description
|
220
|
+
t.string :extension
|
221
|
+
end
|
222
|
+
c.create_table :pages do |t|
|
223
|
+
t.integer :parent_id
|
224
|
+
t.string :title
|
225
|
+
t.string :menu_title
|
226
|
+
t.text :content
|
227
|
+
t.string :slug
|
228
|
+
t.string :alias
|
229
|
+
t.string :uri
|
230
|
+
t.string :redirect_url
|
231
|
+
t.boolean :hide, :default => false
|
232
|
+
t.integer :content_format, :default => Caboose::Page::CONTENT_FORMAT_HTML
|
233
|
+
t.text :custom_css
|
234
|
+
t.text :custom_js
|
235
|
+
t.string :layout
|
236
|
+
t.integer :sort_order, :default => 0
|
237
|
+
t.boolean :custom_sort_children, :default => false
|
238
|
+
t.string :seo_title, :limit => 70
|
239
|
+
t.string :meta_description, :limit => 156
|
240
|
+
t.string :meta_robots, :default => 'index, follow' # Multi-select options: none, noindex, nofollow, nosnippet, noodp, noarchive
|
241
|
+
t.string :canonical_url
|
242
|
+
t.string :fb_description, :limit => 156
|
243
|
+
t.string :gp_description, :limit => 156
|
244
|
+
end
|
245
|
+
c.create_table :page_permissions do |t|
|
246
|
+
t.references :role
|
247
|
+
t.references :page
|
248
|
+
t.string :action
|
249
|
+
end
|
250
|
+
c.create_table :sessions do |t|
|
251
|
+
t.string :session_id, :null => false
|
252
|
+
t.text :data
|
253
|
+
t.timestamps
|
254
|
+
end
|
255
|
+
c.add_index :sessions, :session_id
|
256
|
+
c.add_index :sessions, :updated_at
|
257
|
+
c.change_column :sessions, :created_at, :datetime, :null => true
|
258
|
+
c.change_column :sessions, :updated_at, :datetime, :null => true
|
259
|
+
c.create_table :settings do |t|
|
260
|
+
t.string :name
|
261
|
+
t.text :value
|
262
|
+
end
|
263
|
+
|
264
|
+
end
|
265
|
+
|
266
|
+
def init_data
|
267
|
+
puts "Loading data into caboose tables..."
|
268
|
+
|
269
|
+
admin_user = Caboose::User.create(first_name: 'Admin', last_name: 'User', username: 'admin', email: 'william@nine.is')
|
270
|
+
admin_user.password = Digest::SHA1.hexdigest(Caboose::salt + 'caboose')
|
271
|
+
admin_user.save
|
272
|
+
|
273
|
+
admin_role = Caboose::Role.create(parent_id: -1, name: 'Admin')
|
274
|
+
elo_role = Caboose::Role.create(parent_id: -1, name: 'Everyone Logged Out')
|
275
|
+
eli_role = Caboose::Role.create(parent_id: elo_role.id, name: 'Everyone Logged In')
|
276
|
+
|
277
|
+
elo_user = Caboose::User.create(first_name: 'John', last_name: 'Doe', username: 'elo', email: 'william@nine.is')
|
278
|
+
|
279
|
+
admin_perm = Caboose::Permission.create(resource: 'all', action: 'all')
|
280
|
+
Caboose::Permission.create(resource: 'users' , action: 'view')
|
281
|
+
Caboose::Permission.create(resource: 'users' , action: 'edit')
|
282
|
+
Caboose::Permission.create(resource: 'users' , action: 'delete')
|
283
|
+
Caboose::Permission.create(resource: 'users' , action: 'add')
|
284
|
+
Caboose::Permission.create(resource: 'roles' , action: 'view')
|
285
|
+
Caboose::Permission.create(resource: 'roles' , action: 'edit')
|
286
|
+
Caboose::Permission.create(resource: 'roles' , action: 'delete')
|
287
|
+
Caboose::Permission.create(resource: 'roles' , action: 'add')
|
288
|
+
Caboose::Permission.create(resource: 'permissions' , action: 'view')
|
289
|
+
Caboose::Permission.create(resource: 'permissions' , action: 'edit')
|
290
|
+
Caboose::Permission.create(resource: 'permissions' , action: 'delete')
|
291
|
+
Caboose::Permission.create(resource: 'permissions' , action: 'add')
|
292
|
+
|
293
|
+
# Add the admin user to the admin role
|
294
|
+
admin_user.roles.push(admin_role)
|
295
|
+
admin_user.save
|
296
|
+
|
297
|
+
# Add the elo to the elo role
|
298
|
+
elo_user.roles.push(elo_role)
|
299
|
+
elo_user.save
|
300
|
+
|
301
|
+
# Add the all/all permission to the admin role
|
302
|
+
admin_role.permissions.push(admin_perm)
|
303
|
+
admin_role.save
|
304
|
+
|
305
|
+
# Create the home page
|
306
|
+
home_page = Caboose::Page.create(title: 'Home' , parent_id: -1, hide: 0, layout: 'home' , uri: '')
|
307
|
+
admin_page = Caboose::Page.create(title: 'Admin' , parent_id: home_page.id, hide: 0, layout: 'admin', alias: 'admin', slug: 'admin', uri: 'admin')
|
308
|
+
login_page = Caboose::Page.create(title: 'Login' , parent_id: home_page.id, hide: 0, layout: 'login', alias: 'login', slug: 'login', uri: 'login')
|
309
|
+
Caboose::PagePermission.create(role_id: elo_role.id, page_id: home_page.id, action: 'view')
|
310
|
+
Caboose::PagePermission.create(role_id: elo_role.id, page_id: login_page.id, action: 'view')
|
311
|
+
|
312
|
+
# Create the required settings
|
313
|
+
Caboose::Setting.create(name: 'version' , value: Caboose::VERSION)
|
314
|
+
Caboose::Setting.create(name: 'site_name' , value: 'New Caboose Site')
|
315
|
+
Caboose::Setting.create(name: 'site_url' , value: 'www.mycaboosesite.com')
|
316
|
+
Caboose::Setting.create(name: 'admin_email' , value: 'william@nine.is')
|
317
|
+
|
318
|
+
end
|
319
|
+
end
|
data/lib/caboose/version.rb
CHANGED
data/lib/tasks/caboose.rake
CHANGED
@@ -2,121 +2,21 @@ require "caboose/version"
|
|
2
2
|
|
3
3
|
namespace :caboose do
|
4
4
|
|
5
|
-
desc "
|
6
|
-
task :
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
init_tinymce
|
11
|
-
init_session
|
12
|
-
init_schema
|
13
|
-
init_data
|
5
|
+
desc "Initializes the database for a caboose installation"
|
6
|
+
task :db => :environment do
|
7
|
+
drop_tables
|
8
|
+
create_tables
|
9
|
+
load_data
|
14
10
|
end
|
15
|
-
desc "Initializes the caboose config file"
|
16
|
-
task :init_config => :environment do init_config end
|
17
|
-
desc "Configures the host application to use caboose for routing"
|
18
|
-
task :init_routes => :environment do init_routes end
|
19
|
-
desc "Initializes all the required caboose js, css and layout files in the host application"
|
20
|
-
task :init_assets => :environment do init_assets end
|
21
|
-
desc "Initializes the tinymce config file in the host application"
|
22
|
-
task :init_tinymce => :environment do init_tinymce end
|
23
|
-
desc "Configures the host application to use active record session storing"
|
24
|
-
task :init_session => :environment do init_session end
|
25
|
-
desc "Initializes the caboose database schema"
|
26
|
-
task :init_schema => :environment do init_schema end
|
27
|
-
desc "Loads data into caboose tables"
|
28
|
-
task :init_data => :environment do init_data end
|
29
11
|
desc "Drops all caboose tables"
|
30
12
|
task :drop_tables => :environment do drop_tables end
|
31
13
|
desc "Creates all caboose tables"
|
32
14
|
task :create_tables => :environment do create_tables end
|
15
|
+
desc "Loads data into caboose tables"
|
16
|
+
task :load_data => :environment do load_data end
|
33
17
|
|
34
18
|
#=============================================================================
|
35
19
|
|
36
|
-
def init_file(filename)
|
37
|
-
gem_root = Gem::Specification.find_by_name('caboose-cms').gem_dir
|
38
|
-
filename = Rails.root.join(filename)
|
39
|
-
copy_from = File.join(gem_root,'lib','sample_files', Pathname.new(filename).basename)
|
40
|
-
|
41
|
-
if (!File.exists?(filename))
|
42
|
-
FileUtils.cp(copy_from, filename)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
def init_config
|
47
|
-
puts "Adding the caboose initializer file..."
|
48
|
-
|
49
|
-
Caboose::salt = Digest::SHA1.hexdigest(DateTime.now.to_s)
|
50
|
-
|
51
|
-
str = ""
|
52
|
-
str << "# Salt to ensure passwords are encrypted securely\n"
|
53
|
-
str << "Caboose::salt = '#{Caboose::salt}'\n\n"
|
54
|
-
str << "# Where page asset files will be uploaded\n"
|
55
|
-
str << "Caboose::assets_path = Rails.root.join('app', 'assets', 'caboose')\n\n"
|
56
|
-
str << "# Register any caboose plugins\n"
|
57
|
-
str << "#Caboose::plugins + ['MyCaboosePlugin']\n\n"
|
58
|
-
|
59
|
-
filename = Rails.root.join('config','initializers','caboose.rb')
|
60
|
-
if (!File.exists?(filename))
|
61
|
-
File.open(filename, 'w') {|file| file.write(str) }
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
def init_routes
|
66
|
-
puts "Adding the caboose routes..."
|
67
|
-
str = ""
|
68
|
-
str << "\t# Catch everything with caboose\n"
|
69
|
-
str << "\tmount Caboose::Engine => '/'\n"
|
70
|
-
str << "\tmatch '*path' => 'caboose/pages#show'\n"
|
71
|
-
str << "\troot :to => 'caboose/pages#show'\n"
|
72
|
-
file = File.open(Rails.root.join('config','routes.rb'), 'rb')
|
73
|
-
contents = file.read
|
74
|
-
file.close
|
75
|
-
if (contents.index(str).nil?)
|
76
|
-
arr = contents.split('end', -1)
|
77
|
-
str2 = arr[0] + "\n" + str + "\nend" + arr[1]
|
78
|
-
File.open(Rails.root.join('config','routes.rb'), 'w') {|file| file.write(str2) }
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
def init_assets
|
83
|
-
puts "Adding the javascript files..."
|
84
|
-
init_file('app/assets/javascripts/caboose_before.js')
|
85
|
-
init_file('app/assets/javascripts/caboose_after.js')
|
86
|
-
|
87
|
-
puts "Adding the stylesheet files..."
|
88
|
-
init_file('app/assets/stylesheets/caboose_before.css')
|
89
|
-
init_file('app/assets/stylesheets/caboose_after.css')
|
90
|
-
|
91
|
-
puts "Adding the layout files..."
|
92
|
-
init_file('app/views/layouts/layout_default.html.erb')
|
93
|
-
end
|
94
|
-
|
95
|
-
def init_tinymce
|
96
|
-
puts "Adding the tinymce config file..."
|
97
|
-
init_file('config/tinymce.yml')
|
98
|
-
end
|
99
|
-
|
100
|
-
def init_session
|
101
|
-
puts "Setting the session config..."
|
102
|
-
|
103
|
-
lines = []
|
104
|
-
str = File.open(Rails.root.join('config','initializers','session_store.rb')).read
|
105
|
-
str.gsub!(/\r\n?/, "\n")
|
106
|
-
str.each_line do |line|
|
107
|
-
line = '#' + line if !line.index(':cookie_store').nil? && !line.starts_with?('#')
|
108
|
-
line[0] = '' if !line.index(':active_record_store').nil? && line.starts_with?('#')
|
109
|
-
lines << line.strip
|
110
|
-
end
|
111
|
-
str = lines.join("\n")
|
112
|
-
File.open(Rails.root.join('config','initializers','session_store.rb'), 'w') {|file| file.write(str) }
|
113
|
-
end
|
114
|
-
|
115
|
-
def init_schema
|
116
|
-
drop_tables
|
117
|
-
create_tables
|
118
|
-
end
|
119
|
-
|
120
20
|
def drop_tables
|
121
21
|
puts "Dropping any existing caboose tables..."
|
122
22
|
c = ActiveRecord::Base.connection
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: caboose-cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.34
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-06-
|
12
|
+
date: 2013-06-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -123,10 +123,11 @@ dependencies:
|
|
123
123
|
- - ! '>='
|
124
124
|
- !ruby/object:Gem::Version
|
125
125
|
version: '0'
|
126
|
-
description: CMS built on rails.
|
126
|
+
description: CMS built on rails with love.
|
127
127
|
email:
|
128
128
|
- william@nine.is
|
129
|
-
executables:
|
129
|
+
executables:
|
130
|
+
- caboose
|
130
131
|
extensions: []
|
131
132
|
extra_rdoc_files: []
|
132
133
|
files:
|
@@ -200,7 +201,9 @@ files:
|
|
200
201
|
- app/views/layouts/caboose/admin.html.erb
|
201
202
|
- app/views/layouts/caboose/application.html.erb
|
202
203
|
- app/views/layouts/caboose/error404.html.erb
|
204
|
+
- bin/caboose
|
203
205
|
- config/routes.rb
|
206
|
+
- lib/caboose/caboose_helper.rb
|
204
207
|
- lib/caboose/engine.rb
|
205
208
|
- lib/caboose/version.rb
|
206
209
|
- lib/caboose.rb
|