about summary refs log tree commit diff
path: root/app/lib/hash_object.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-01-12 20:46:24 +0100
committerEugen Rochko <eugen@zeonfederated.com>2017-01-12 20:46:24 +0100
commitb11fdc3ae3f90731c01149a5a36dc64e065d4ea2 (patch)
treee00b27c1eb52f6186ac7cf9a72aaa359955d4ad2 /app/lib/hash_object.rb
parentbabc6a1528e2f7d777d81a972f2d50c58381f45e (diff)
Migrate from ledermann/rails-settings to rails-settings-cached which allows global settings
with YAML-defined defaults. Add admin page for editing global settings. Add "site_description"
setting that would show as a paragraph on the frontpage
Diffstat (limited to 'app/lib/hash_object.rb')
-rw-r--r--app/lib/hash_object.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/app/lib/hash_object.rb b/app/lib/hash_object.rb
new file mode 100644
index 000000000..274c020ad
--- /dev/null
+++ b/app/lib/hash_object.rb
@@ -0,0 +1,10 @@
+# frozen_string_literal: true
+
+class HashObject
+  def initialize(hash)
+    hash.each do |k, v|
+      instance_variable_set("@#{k}", v)
+      self.class.send(:define_method, k, proc { instance_variable_get("@#{k}") })
+    end
+  end
+end