tunable 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/tunable/model.rb +11 -0
- data/lib/tunable/version.rb +1 -3
- data/spec/tunable/getters_spec.rb +26 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4c0d267a72ab0649509f7250beedfcb46b7959fe5e5c8e28e90d2bb8f864bb1
|
4
|
+
data.tar.gz: e5fe14c7102a807d1c2b010bfeba10de11e8428ce9fb1b2e72b224dd50754a84
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef8cd2b1b4cd45432b3934e37999599f716988bd9e84baf39e6843d352863230eb4b65f0e6e4fb17aa694c15cd7172ad6ba3f2e37a547a40ec59a0c62f1e8672
|
7
|
+
data.tar.gz: 2a48932f5bb4ec88ed6fa5589cc2b41b61d8a2e199fffdb1c26baee32d7c9b854ddaca8b9e4484bc13208c0e4eaa55bed93fff1a5054ff3a34782bc3c850f654
|
data/lib/tunable/model.rb
CHANGED
@@ -57,6 +57,17 @@ module Tunable
|
|
57
57
|
default = opts
|
58
58
|
end
|
59
59
|
|
60
|
+
getter = "#{name}_#{field}"
|
61
|
+
|
62
|
+
define_method getter do
|
63
|
+
get_setting(name, field)
|
64
|
+
end
|
65
|
+
|
66
|
+
define_method "#{getter}=" do |value|
|
67
|
+
# self.settings = { name => { field => val } }
|
68
|
+
set_setting(name, field, value)
|
69
|
+
end
|
70
|
+
|
60
71
|
set_default_setting(name, field, default) unless default.nil?
|
61
72
|
end
|
62
73
|
end
|
data/lib/tunable/version.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe 'basic setters' do
|
4
|
+
|
5
|
+
before :all do
|
6
|
+
TunableModel.has_settings \
|
7
|
+
:website => {
|
8
|
+
super_mode: { default: false }
|
9
|
+
}
|
10
|
+
|
11
|
+
@model = TunableModel.create(name: "Yay, I'm settable!")
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
it 'has getters setters scoped by context' do
|
16
|
+
expect(@model.respond_to?(:website_super_mode)).to eq(true)
|
17
|
+
expect(@model.respond_to?(:website_super_mode=)).to eq(true)
|
18
|
+
|
19
|
+
expect(@model.website_super_mode).to eq(false)
|
20
|
+
expect(@model.website_super_mode = true).to eq(true)
|
21
|
+
expect(@model.website_super_mode).to eq(false)
|
22
|
+
@model.save
|
23
|
+
expect(@model.website_super_mode).to eq(true)
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
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.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomás Pollak
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-11-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -104,6 +104,7 @@ files:
|
|
104
104
|
- spec/schema.rb
|
105
105
|
- spec/spec_helper.rb
|
106
106
|
- spec/tunable/defaults_spec.rb
|
107
|
+
- spec/tunable/getters_spec.rb
|
107
108
|
- spec/tunable/normalization_spec.rb
|
108
109
|
- spec/tunable/querying_spec.rb
|
109
110
|
- spec/tunable/setters_spec.rb
|