tunable 0.0.7 → 0.0.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 17046a0d75a1878088af83018d2ec30961dd0ddc0e07eeb692a443b3c93785ed
4
- data.tar.gz: 3bccc8448310b98a5db13f9e5231236d1e211e537d680dbe8d081baf383430ba
3
+ metadata.gz: 2a58a7749222087c0b2fbb540247bb6a66dcaca507b4c13ba8dfc569ab68d9df
4
+ data.tar.gz: 0e6460f96413b4180fe1e1bbf196718ffff757ccf0f62b8ee14607538645b032
5
5
  SHA512:
6
- metadata.gz: d0b26b12263cedeaf93fbac85be0443faa4e933945de7cabd7453c2f76f91de2a537e6d6a01f63d8931983c236b8d4d5276731f9eb161555455abf46202f57ff
7
- data.tar.gz: b987b703ba9930bca04279aaeaec1b6b8afe4a531b51185baf3cd4201b52087e4f9ec0230e8fd0a44eed545629d7b4bc3651bca52063c95d2a515b1cb57ce324
6
+ metadata.gz: eebb2f72d572f22e3adad48a71df09cf93c869d886cb186cc0928c4ad2ddecca82b5e38cd6aa718bcc888bde993325ae84f74735c36dc8046668843d39a0dc2a
7
+ data.tar.gz: 7065b6d54fe664411222a7df5dba4b2391d9515a1a3c07c7ca8ac2aec88e26ce472942b6c5800e1aa06b1787c89cb5bd5109aeb73616ceccf4fd584b644d970d
@@ -30,6 +30,8 @@ module Tunable
30
30
  row_sql = "#{sql}(#{vals})"
31
31
  connection.execute(row_sql)
32
32
  end
33
+ # elsif ActiveRecord::Base.connection.adapter_name.downcase == 'postgres'
34
+ # TODO
33
35
  else
34
36
  sql += "(#{values_array.join('),(')})"
35
37
  connection.execute(sql)
data/lib/tunable/model.rb CHANGED
@@ -148,11 +148,19 @@ module Tunable
148
148
  end
149
149
 
150
150
  def settings_hash
151
+
152
+ @object_hashed_settings ||= Hasher.flatten(settings.reload, :context, :key)
153
+
151
154
  if modified_settings.any?
152
- puts "Settings have been changed. Hash will be incomplete."
155
+ modified_settings.each do |context, values|
156
+ values.each do |key, value|
157
+ @object_hashed_settings[context.to_sym] ||= {}
158
+ @object_hashed_settings[context.to_sym][key.to_sym] = value
159
+ end
160
+ end
153
161
  end
154
162
 
155
- @object_hashed_settings ||= Hasher.flatten(settings.reload, :context, :key)
163
+ @object_hashed_settings
156
164
  end
157
165
 
158
166
  def get_setting(context, key)
@@ -1,3 +1,3 @@
1
1
  module Tunable
2
- VERSION = '0.0.7'
2
+ VERSION = '0.0.8'
3
3
  end
@@ -12,13 +12,13 @@ describe 'basic setters' do
12
12
  end
13
13
 
14
14
 
15
- it 'has getters setters scoped by context' do
15
+ it 'has getters scoped by context' do
16
16
  expect(@model.respond_to?(:website_super_mode)).to eq(true)
17
17
  expect(@model.respond_to?(:website_super_mode=)).to eq(true)
18
18
 
19
19
  expect(@model.website_super_mode).to eq(false)
20
20
  expect(@model.website_super_mode = true).to eq(true)
21
- expect(@model.website_super_mode).to eq(false)
21
+ expect(@model.website_super_mode).to eq(true)
22
22
  @model.save
23
23
  expect(@model.website_super_mode).to eq(true)
24
24
  end
@@ -11,8 +11,10 @@ describe 'basic setters' do
11
11
 
12
12
  it 'stores new setting, without saving' do
13
13
  @model.set_setting(:foo, :bar, 123)
14
- expect(@model.get_setting(:foo, :bar)).to eq(nil)
15
- expect(@model.settings_hash[:foo]).to eq(nil)
14
+ # expect(@model.get_setting(:foo, :bar)).to eq(nil)
15
+ # expect(@model.settings_hash[:foo]).to eq(nil)
16
+ expect(@model.get_setting(:foo, :bar)).to eq(123)
17
+ expect(@model.settings_hash[:foo]).to eq({ bar: 123 })
16
18
  @model.save
17
19
  @model.reload
18
20
  expect(@model.get_setting(:foo, :bar)).to eq(123)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tunable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomás Pollak
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-18 00:00:00.000000000 Z
11
+ date: 2025-07-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -112,7 +112,7 @@ files:
112
112
  homepage: https://github.com/tomas/tunable
113
113
  licenses: []
114
114
  metadata: {}
115
- post_install_message:
115
+ post_install_message:
116
116
  rdoc_options: []
117
117
  require_paths:
118
118
  - lib
@@ -128,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
128
  version: 1.3.6
129
129
  requirements: []
130
130
  rubygems_version: 3.4.6
131
- signing_key:
131
+ signing_key:
132
132
  specification_version: 4
133
133
  summary: Pluggable settings for your AR models.
134
134
  test_files: []