refinerycms 0.9.8.7 → 0.9.8.8
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -1
- data/bin/refinerycms +23 -5
- data/changelog.md +5 -0
- data/vendor/refinerycms/refinery.rb +1 -1
- data/vendor/refinerycms/settings/app/models/refinery_setting.rb +5 -3
- metadata +3 -3
data/Gemfile
CHANGED
data/bin/refinerycms
CHANGED
@@ -25,7 +25,11 @@ module Refinery
|
|
25
25
|
# Default options
|
26
26
|
@input = input
|
27
27
|
@options = {
|
28
|
-
:database =>
|
28
|
+
:database => {
|
29
|
+
:adapter => 'sqlite3',
|
30
|
+
:username => 'root',
|
31
|
+
:password => ''
|
32
|
+
},
|
29
33
|
:force => false,
|
30
34
|
:heroku => false,
|
31
35
|
:gems => []
|
@@ -41,7 +45,15 @@ module Refinery
|
|
41
45
|
# Rails supports more options, but Refinery is only tested on these three
|
42
46
|
databases = %w(mysql postgresql sqlite3)
|
43
47
|
opts.on("-d DATABASE", "--database DATABASE", databases, "Select the database (default sqlite3)", " #{databases.join('/')}") do |db|
|
44
|
-
@options[:database] = db
|
48
|
+
@options[:database][:adapter] = db
|
49
|
+
end
|
50
|
+
|
51
|
+
opts.on("-u USERNAME", '--database-username USERNAME', String, "Set the database username", ' (default root)') do |username|
|
52
|
+
@options[:database][:username] = username
|
53
|
+
end
|
54
|
+
|
55
|
+
opts.on("-p PASSWORD", '--database-password PASSWORD', String, "Set the database password", " (default '')") do |password|
|
56
|
+
@options[:database][:password] = password
|
45
57
|
end
|
46
58
|
|
47
59
|
opts.on("-g", "--gems gem1,gem2,gem3", Array, "Additional gems to install") do |gems|
|
@@ -119,7 +131,7 @@ module Refinery
|
|
119
131
|
def generate!
|
120
132
|
# Generate a rails application
|
121
133
|
rails_command = "rails new \"#{@app_path}\""
|
122
|
-
rails_command << " --database #{@options[:database]}"
|
134
|
+
rails_command << " --database #{@options[:database][:adapter]}"
|
123
135
|
rails_command << " --force" if @options[:force]
|
124
136
|
rails_command << " --skip-test-unit --skip-prototype"
|
125
137
|
run_command(rails_command, {:cd => false})
|
@@ -160,6 +172,10 @@ module Refinery
|
|
160
172
|
f.write "\n" + refinery_gems + "\n\n# USER DEFINED\n" + @options[:gems].join("\n") + "\n# END USER DEFINED"
|
161
173
|
end
|
162
174
|
|
175
|
+
# Override database username and password
|
176
|
+
find_and_replace('config/database.yml', %r{username:.*}, "username: #{@options[:database][:username]}")
|
177
|
+
find_and_replace('config/database.yml', %r{password:.*}, "password: #{@options[:database][:password]}")
|
178
|
+
|
163
179
|
# Specify the correct version of the Refinery CMS gem (may be git source).
|
164
180
|
src = Refinery.version !~ /\.pre$/ ? "'~> #{Refinery.version}'" : ":git => 'git://github.com/resolve/refinerycms.git'"
|
165
181
|
find_and_replace('Gemfile', "gem 'refinerycms', :path => '.'",
|
@@ -194,9 +210,11 @@ module Refinery
|
|
194
210
|
puts "Installing gem requirements using bundler..\n"
|
195
211
|
run_command("bundle install")
|
196
212
|
|
213
|
+
# sqlite3 requires we use 'db:migrate' etc instead of 'db:setup'
|
197
214
|
puts "\n\nSetting up your development database..\n"
|
198
|
-
%w(db:
|
199
|
-
|
215
|
+
tasks = @options[:database][:adapter] == 'sqlite3' ? %w(db:migrate db:seed) : %w(db:setup)
|
216
|
+
tasks.each do |task|
|
217
|
+
run_command("rake -f \"#{@app_path.join('Rakefile')}\" #{task}")
|
200
218
|
end
|
201
219
|
|
202
220
|
# Deploy to Heroku
|
data/changelog.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
## 0.9.8.8 [16 December 2010]
|
2
|
+
* Prevented RefinerySetting from accessing its database table before it is created. [Philip Arndt](https://github.com/parndt)
|
3
|
+
* Added more options to ``bin/refinerycms`` like ability to specify database username and password. [Philip Arndt](https://github.com/parndt)
|
4
|
+
* [See full list](https://github.com/resolve/refinerycms/compare/0.9.8.7...0.9.8.8)
|
5
|
+
|
1
6
|
## 0.9.8.7 [15 December 2010]
|
2
7
|
* Fixed a problem with migration number clashes. [Philip Arndt](https://github.com/parndt)
|
3
8
|
* Fixed problems with ``db:migrate`` for a new app on Postgres. [Jacob Buys](https://github.com/wjbuys)
|
@@ -66,13 +66,13 @@ class RefinerySetting < ActiveRecord::Base
|
|
66
66
|
Rails.cache.delete(self.cache_key)
|
67
67
|
|
68
68
|
# generate new cache
|
69
|
-
result = self.to_cache(
|
69
|
+
result = (self.to_cache(self.all) if self.table_exists?)
|
70
70
|
|
71
71
|
# write cache
|
72
72
|
Rails.cache.write(self.cache_key, result)
|
73
73
|
|
74
|
-
# return cache
|
75
|
-
result
|
74
|
+
# return cache, or lack thereof.
|
75
|
+
result ||= []
|
76
76
|
end
|
77
77
|
|
78
78
|
def cache_key
|
@@ -108,6 +108,8 @@ class RefinerySetting < ActiveRecord::Base
|
|
108
108
|
alias :[] :get
|
109
109
|
|
110
110
|
def set(name, value)
|
111
|
+
return value unless self.table_exists?
|
112
|
+
|
111
113
|
scoping = (value[:scoping] if value.is_a?(Hash) and value.has_key?(:scoping))
|
112
114
|
setting = find_or_initialize_by_name_and_scoping(:name => name.to_s, :scoping => scoping)
|
113
115
|
|
metadata
CHANGED
@@ -6,8 +6,8 @@ version: !ruby/object:Gem::Version
|
|
6
6
|
- 0
|
7
7
|
- 9
|
8
8
|
- 8
|
9
|
-
-
|
10
|
-
version: 0.9.8.
|
9
|
+
- 8
|
10
|
+
version: 0.9.8.8
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Resolve Digital
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2010-12-
|
20
|
+
date: 2010-12-16 00:00:00 +13:00
|
21
21
|
default_executable:
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|