smart_settings 0.1.0 → 0.1.1

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
  SHA1:
3
- metadata.gz: 6c8402e60d1de130708fb6ea8717e2e2eb6304fa
4
- data.tar.gz: 5a6f0e458d3e251844703d84faae453bf5bc3730
3
+ metadata.gz: 13b9e02e948f0cd9036e96d8a3746eb2bdb3328c
4
+ data.tar.gz: f877f01cca18f28ba110b6e3ce4a6a7ffe970ff1
5
5
  SHA512:
6
- metadata.gz: 74a9905cd957703efbef0e0732be4b95d3097ac9fa4ac861acedb4027d3cc2e7fdc71871280951bc2d7a8cff9fa0e516e894413e1dbff7090bec592355401733
7
- data.tar.gz: 8acebc30ba8e4b587b7c86c173b3e1125dfdedbc3119bb0162152c22fcaadcfd0bf14575175a536b78a8c0b24b56d757f08e77244f6c2b8d36fe00de983e0edc
6
+ metadata.gz: bd1215594e9814a60b5b139f1ccf47761935c866fed1aea7d8717bf91b074b3b56ba616e6fa1b970fc5632e73ceef62b3f445662a52a69517b39535f43bafed5
7
+ data.tar.gz: 6d64ba1b64cdfe11b73e7ec988a9beb2afc958e101cf4644d46c107ca4b8917e4d5c4db45b5c5495fc0bc3239c56bf22b0c3b14e7c55775397d7b7d7bf57a71a
data/README.md CHANGED
@@ -50,9 +50,12 @@ end
50
50
  Then you can use the `Setting` model or the `EmailSettings` class to get and set attributes:
51
51
 
52
52
  ```ruby
53
- # Get email settings using the Setting model
53
+ # Get email settings using the Setting model querying
54
54
  email = Setting.find(:email)
55
55
 
56
+ # Get email settings using the Setting model methods
57
+ email = Setting.email
58
+
56
59
  # Get email settings using EmailSettings class
57
60
  email = EmailSettings
58
61
 
@@ -6,7 +6,7 @@ module SmartSettings
6
6
  after_initialize do
7
7
  self.var = var
8
8
 
9
- settings.each do |setting|
9
+ settings.try(:each) do |setting|
10
10
  svar, value = [setting.var, setting.value]
11
11
  send(:"#{svar}=", cast_setting_value(svar, value))
12
12
  end
@@ -30,7 +30,10 @@ module SmartSettings
30
30
  end
31
31
 
32
32
  def settings
33
- Setting.where(settable_type: self.class.name, settable_id: id)
33
+ if settings_table_exists?
34
+ valid = self.attribute_names.reject { |i| i == 'var' }
35
+ Setting.where(settable_type: self.class.name, settable_id: id, var: valid)
36
+ end
34
37
  end
35
38
 
36
39
  private
@@ -55,5 +58,9 @@ module SmartSettings
55
58
  create_setting(var, value)
56
59
  end
57
60
  end
61
+
62
+ def settings_table_exists?
63
+ ActiveRecord::Base.connection.table_exists? Setting.table_name
64
+ end
58
65
  end
59
66
  end
@@ -1,3 +1,3 @@
1
1
  module SmartSettings
2
- VERSION = '0.1.0'
2
+ VERSION = '0.1.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smart_settings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonian Guveli
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-25 00:00:00.000000000 Z
11
+ date: 2017-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -90,7 +90,6 @@ extra_rdoc_files: []
90
90
  files:
91
91
  - CODE_OF_CONDUCT.md
92
92
  - Gemfile
93
- - Gemfile.lock
94
93
  - LICENSE.txt
95
94
  - README.md
96
95
  - Rakefile
@@ -127,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
126
  version: '0'
128
127
  requirements: []
129
128
  rubyforge_project:
130
- rubygems_version: 2.6.13
129
+ rubygems_version: 2.6.14
131
130
  signing_key:
132
131
  specification_version: 4
133
132
  summary: Persist application or record settings on ActiveRecord
data/Gemfile.lock DELETED
@@ -1,44 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- smart_settings (0.1.0)
5
- activerecord (~> 5.0)
6
- tableless (~> 0.1)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- activemodel (5.1.4)
12
- activesupport (= 5.1.4)
13
- activerecord (5.1.4)
14
- activemodel (= 5.1.4)
15
- activesupport (= 5.1.4)
16
- arel (~> 8.0)
17
- activesupport (5.1.4)
18
- concurrent-ruby (~> 1.0, >= 1.0.2)
19
- i18n (~> 0.7)
20
- minitest (~> 5.1)
21
- tzinfo (~> 1.1)
22
- arel (8.0.0)
23
- concurrent-ruby (1.0.5)
24
- i18n (0.9.0)
25
- concurrent-ruby (~> 1.0)
26
- minitest (5.10.3)
27
- rake (10.5.0)
28
- tableless (0.1.0)
29
- activerecord (~> 5.0)
30
- thread_safe (0.3.6)
31
- tzinfo (1.2.3)
32
- thread_safe (~> 0.1)
33
-
34
- PLATFORMS
35
- ruby
36
-
37
- DEPENDENCIES
38
- bundler (~> 1.14)
39
- minitest (~> 5.0)
40
- rake (~> 10.0)
41
- smart_settings!
42
-
43
- BUNDLED WITH
44
- 1.15.4