fix the build

This commit is contained in:
Régis Hanol 2015-09-09 15:34:53 +02:00
parent 31e8309f05
commit 3ee5cea9e2
3 changed files with 15 additions and 18 deletions

View File

@ -13,16 +13,14 @@ class SiteSettings::DbProvider
def all def all
return [] unless table_exists? return [] unless table_exists?
# note, not leaking out AR records, cause I want all editing to happen # Not leaking out AR records, cause I want all editing to happen via this API
# via this API SqlBuilder.new("SELECT name, data_type, value FROM #{@model.table_name}").map_exec(OpenStruct)
SqlBuilder.new("select name, data_type, value from #{@model.table_name}").map_exec(OpenStruct)
end end
def find(name) def find(name)
return nil unless table_exists? return nil unless table_exists?
# note, not leaking out AR records, cause I want all editing to happen # Not leaking out AR records, cause I want all editing to happen via this API
# via this API
SqlBuilder.new("SELECT name, data_type, value FROM #{@model.table_name} WHERE name = :name") SqlBuilder.new("SELECT name, data_type, value FROM #{@model.table_name} WHERE name = :name")
.map_exec(OpenStruct, name: name) .map_exec(OpenStruct, name: name)
.first .first

View File

@ -24,6 +24,9 @@ class SiteSettings::LocalProcessProvider
end end
def save(name, value, data_type) def save(name, value, data_type)
# NOTE: convert to string to simulate the conversion that is happening
# when using DbProvider
value = value.to_s
settings[name] = Setting.new(name, value, data_type) settings[name] = Setting.new(name, value, data_type)
end end

View File

@ -3,27 +3,23 @@ require_dependency 'site_setting_extension'
require_dependency 'site_settings/local_process_provider' require_dependency 'site_settings/local_process_provider'
describe SiteSettingExtension do describe SiteSettingExtension do
let :provider do let :provider_local do
SiteSettings::LocalProcessProvider.new SiteSettings::LocalProcessProvider.new
end end
def new_settings(provider=nil) def new_settings(provider)
Class.new do Class.new do
extend SiteSettingExtension extend SiteSettingExtension
self.provider = provider if provider self.provider = provider
end end
end end
let :settings do let :settings do
new_settings(provider) new_settings(provider_local)
end end
let :settings2 do let :settings2 do
new_settings(provider) new_settings(provider_local)
end
let :settings_db do
new_settings
end end
describe "refresh!" do describe "refresh!" do
@ -238,10 +234,10 @@ describe SiteSettingExtension do
end end
it 'should coerce correctly' do it 'should coerce correctly' do
settings_db.setting(:test_int_enum, 1, enum: TestIntEnumClass) settings.setting(:test_int_enum, 1, enum: TestIntEnumClass)
settings_db.test_int_enum = "2" settings.test_int_enum = "2"
settings_db.refresh! settings.refresh!
expect(settings_db.test_int_enum).to eq(2) expect(settings.test_int_enum).to eq(2)
end end
end end