has_setting 0.7.2 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fcd273ff228a9458fcbf258477f6bf309a67b1d8
4
- data.tar.gz: d04409c08792279490a8e2df7b42a9b8a4be874e
3
+ metadata.gz: c320931c608eaeac7b2134bd75561e57932a6cf8
4
+ data.tar.gz: 8b7b9a8993158a8b1ef7e584f5b63471c71a7649
5
5
  SHA512:
6
- metadata.gz: dff3dd2c4471a1fa7d3106d09348c2ac93de4ae2cc089ff07138e942bba08d4700f4732a195f3b528499af5894a3146cc3ba7321887ee9b21ae3bae41d17ceb7
7
- data.tar.gz: f6d45f3ea98d6a69c10301b7dc8d9581e9e4ba88dfb56139dc85dcc0a6b1cafa7a23f8dfe52473ab12b8a5f65a66ad3535ddbaeb3f6c9d49f0062fe6816db5af
6
+ metadata.gz: e83389a8001fd0906c1c0e53f8a4ed605115a29998d3f6c6d9f21075137f2a733707495c47fde702ce21683e0b0edfbdfa21c7bcf859ae7f12f7493c4da33f36
7
+ data.tar.gz: 602429b6032d14d649ac29f87f3885c4c678fdc4f7853e2460ec21aaa47344ac593f5963cbec60ea37f8fed8d6dd88a4a080c5b880334bb7530f67f1bef36813
@@ -59,6 +59,9 @@ module HasSetting
59
59
  setting = self.settings.detect() {|item| item.name == name and item.locale.to_s == locale.to_s }
60
60
  setting = self.settings.build(:name => name, locale: locale) if setting.blank?
61
61
  setting.value = value
62
+ # mark model as changed to make sure model is saved so that after_save is triggered even if only settings change
63
+ # maybe there is a better way of doing this.
64
+ self.updated_at = Time.now if self.respond_to?(:updated_at)
62
65
  end
63
66
 
64
67
  def read_setting(name)
@@ -1,3 +1,3 @@
1
1
  module HasSetting
2
- VERSION = "0.7.2"
2
+ VERSION = "0.7.3"
3
3
  end
@@ -6,19 +6,13 @@ class HasSettingTest < Test::Unit::TestCase
6
6
  @bar = Bar.create!
7
7
  @baz = Baz.create!
8
8
  end
9
-
10
-
9
+
10
+
11
11
  def test_setting_has_accessors
12
12
  assert @foo.respond_to?(:setting_1)
13
13
  assert @foo.respond_to?(:setting_1=)
14
14
  end
15
-
16
-
17
- def test_has_many
18
- assert @foo.respond_to?(:settings)
19
- assert @foo.settings.is_a?(Array)
20
- end
21
-
15
+
22
16
  def test_settings_are_destroyed
23
17
  count_before = HasSetting::Setting.count
24
18
  @foo.setting_1 = 10
@@ -26,9 +20,9 @@ class HasSettingTest < Test::Unit::TestCase
26
20
  assert_equal(count_before + 1, HasSetting::Setting.count)
27
21
  @foo.destroy
28
22
  assert_equal(count_before, HasSetting::Setting.count)
29
-
23
+
30
24
  end
31
-
25
+
32
26
  def test_write_setting
33
27
  count_before = HasSetting::Setting.count
34
28
  @foo.write_setting('name', 'value1')
@@ -37,14 +31,14 @@ class HasSettingTest < Test::Unit::TestCase
37
31
  setting = @foo.read_setting('name')
38
32
  assert setting
39
33
  assert_equal('value1', setting.value)
40
-
34
+
41
35
  @foo.write_setting('name', 'value2')
42
- assert_equal(count_before + 1, HasSetting::Setting.count)
36
+ assert_equal(count_before + 1, HasSetting::Setting.count)
43
37
  setting = @foo.read_setting('name')
44
38
  assert setting
45
39
  assert_equal('value2', setting.value)
46
40
  end
47
-
41
+
48
42
  def test_setting_accessors
49
43
  count_before = HasSetting::Setting.count
50
44
  assert(!@foo.setting_1)
@@ -55,7 +49,7 @@ class HasSettingTest < Test::Unit::TestCase
55
49
  @foo.setting_1 = 'bla'
56
50
  assert_equal('bla', @foo.setting_1)
57
51
  end
58
-
52
+
59
53
  def test_different_classes_do_not_share_setting
60
54
  count_before = HasSetting::Setting.count
61
55
  @foo.setting_1 = 'foo'
@@ -63,43 +57,43 @@ class HasSettingTest < Test::Unit::TestCase
63
57
  @bar.setting_1 = 'bar'
64
58
  @bar.save!
65
59
  assert_equal(count_before + 2, HasSetting::Setting.count)
66
-
60
+
67
61
  assert_equal('foo', @foo.setting_1)
68
62
  assert_equal('bar', @bar.setting_1)
69
63
  end
70
64
 
71
-
65
+
72
66
  def test_has_nil_setting
73
67
  @foo.setting_1 = nil
74
68
  assert(@foo.read_setting('setting_1'))
75
69
  assert(!@foo.setting_1)
76
70
  end
77
-
71
+
78
72
  def test_options_on_getter
79
73
  @foo.setting_1 = '12.3'
80
74
  assert_equal('12.3', @foo.setting_1)
81
75
  assert_equal(12, @foo.setting_1(:type => :int))
82
76
  assert_equal(12.3, @foo.setting_1(:type => :float))
83
-
77
+
84
78
  # Foo.setting_2 is a float setting. Override and get as string
85
79
  @foo.setting_2 = 12.3
86
80
  assert_equal('12.3', @foo.setting_2(:type => :string))
87
81
  end
88
-
82
+
89
83
  def test_different_classes_do_not_share_options()
90
84
  @foo.setting_2 = 12.3
91
85
  assert_equal(12.3, @foo.setting_2)
92
86
  @bar.setting_2 = 12.3
93
87
  assert_equal(12, @bar.setting_2)
94
88
  end
95
-
89
+
96
90
  def test_default_values()
97
91
  assert_equal('def', @foo.with_default)
98
92
  assert_equal('override def', @foo.with_default(:default => 'override def'))
99
93
  @foo.with_default = 'not def'
100
94
  assert_equal('not def', @foo.with_default)
101
95
  end
102
-
96
+
103
97
  def test_write_settings_without_saved_parent
104
98
  my_foo = Foo.new
105
99
  count_before = HasSetting::Setting.count
@@ -110,19 +104,19 @@ class HasSettingTest < Test::Unit::TestCase
110
104
  assert_equal(count_before + 1, HasSetting::Setting.count)
111
105
  assert_equal('radabumm', my_foo.with_default)
112
106
  end
113
-
107
+
114
108
  def test_not_everyone_has_settings_association
115
109
  assert_equal(true, @foo.respond_to?(:settings))
116
110
  assert_equal(true, @bar.respond_to?(:settings))
117
111
  assert_equal(false, @baz.respond_to?(:settings))
118
112
  end
119
-
120
-
113
+
114
+
121
115
  def test_boolean_setting_without_default
122
116
  assert_equal nil, @foo.setting_3
123
117
  @foo.setting_3 = true
124
118
  @foo.save!
125
-
119
+
126
120
  @foo = Foo.find @foo.id
127
121
  assert_equal true, @foo.setting_3
128
122
  end
@@ -133,7 +127,7 @@ class HasSettingTest < Test::Unit::TestCase
133
127
  @foo = Foo.find @foo.id
134
128
  assert_equal true, @foo.setting_4
135
129
  end
136
-
130
+
137
131
  def test_boolean_setting_with_default_and_no_saving
138
132
  assert_equal false, @foo.setting_4
139
133
  @foo.setting_4 = true
@@ -153,6 +147,6 @@ class HasSettingTest < Test::Unit::TestCase
153
147
  I18n.locale = :de
154
148
  assert_equal 'setting de', @bar.setting_1
155
149
  end
156
-
157
-
150
+
151
+
158
152
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: has_setting
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simplificator GmbH
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-19 00:00:00.000000000 Z
12
+ date: 2013-06-20 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Stores settings as key/value pairs in a settings table and provides accessors
15
15
  for them on the owning object