implement persistence
This commit is contained in:
@@ -13,6 +13,10 @@ gem "dry-types", "~> 1.0", ">= 1.6.1"
|
|||||||
gem "puma"
|
gem "puma"
|
||||||
gem "rake"
|
gem "rake"
|
||||||
|
|
||||||
|
gem "rom", "~> 5.3"
|
||||||
|
gem "rom-sql", "~> 3.6"
|
||||||
|
gem "sqlite3"
|
||||||
|
|
||||||
group :development do
|
group :development do
|
||||||
gem "hanami-webconsole", "~> 2.1"
|
gem "hanami-webconsole", "~> 2.1"
|
||||||
gem "guard-puma"
|
gem "guard-puma"
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
Hanami.app.register_provider :persistence, namespace: true do
|
||||||
|
prepare do
|
||||||
|
require 'rom'
|
||||||
|
|
||||||
|
config = ROM::Configuration.new(:sql, target["settings"].database_url)
|
||||||
|
|
||||||
|
register "config", config
|
||||||
|
register "db", config.gateways[:default].connection
|
||||||
|
end
|
||||||
|
|
||||||
|
start do
|
||||||
|
config = target["persistence.config"]
|
||||||
|
|
||||||
|
config.auto_registration(target.root.join('lib/euchre_camp/persistence'),
|
||||||
|
namespace: "EuchreCamp::Persistence")
|
||||||
|
|
||||||
|
register "rom", ROM.container(config)
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -5,5 +5,6 @@ module EuchreCamp
|
|||||||
# Define your app settings here, for example:
|
# Define your app settings here, for example:
|
||||||
#
|
#
|
||||||
# setting :my_flag, default: false, constructor: Types::Params::Bool
|
# setting :my_flag, default: false, constructor: Types::Params::Bool
|
||||||
|
setting :database_url, constructor: Types::String
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user