librails 1.0.0 → 1.1.4

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
  SHA256:
3
- metadata.gz: c823fc1b474eef6df534b9defe3946ad5b6a4c919dcae7797ab69e7873c4a505
4
- data.tar.gz: 7fc179fa1616ea9e6fa4921e2fe0f70e057534dbff42e2d2fbc21563fc6ee786
3
+ metadata.gz: e3fedeb1a64918d6d9087c0ead82625292037df190077f762516c55057db2dbf
4
+ data.tar.gz: 347848a3cb5a74f3c621144abdd54294bfbaabc09e60e19d46d7a2f5123511a1
5
5
  SHA512:
6
- metadata.gz: a8e6653767aab0b0906b7cd0c84dc9867d016fa316cd24c6a4870c1971128e0abcb2e9a95ed4a166080242ee701fbb28e8e5135a06d708f379a66b1e643089cb
7
- data.tar.gz: 787b53c553a2c89a5df3d2aff96c9a57f7ca0d02d63e3855c712f3c4c24dda03cb81f211ffdd7fec2438ad78dd53671fe723a87a4a9c800034cd04cd45cf4de7
6
+ metadata.gz: 23caa55515ec0ecd3144b4fbf1ce387e297a071f6e3d34ee6525c75a1a880d99e21df904581f6fa4775fc770b757550a05ea8e78ba3869da3c9c72360b8597d2
7
+ data.tar.gz: 3e3f60e7b83ba806c55be02793430f1404857ecb30e89dca6929917ae1fb67b382e8a2dfe37fc0f143c7acce2d76b747411dd2c916f1b32a0a9aeba851345535
@@ -0,0 +1,69 @@
1
+ module Librails
2
+
3
+ ## Settingテーブルを読み書きするクラス
4
+ #
5
+ # rails-settings-cachedとの互換性のため値を正規化するメソッドを用意している
6
+ #
7
+ # 以下のテーブルを想定
8
+ #
9
+ # テーブル名: settings
10
+ # id(int): 主キー
11
+ # var(varchar(255)): 値のキー
12
+ # value(text): 値
13
+
14
+
15
+ class Settings < ActiveRecord::Base
16
+ self.table_name = "settings"
17
+
18
+ def self.get_str(key)
19
+ get_value(key)
20
+ end
21
+
22
+ def self.get_int(key)
23
+ value = get_value(key)
24
+ return nil unless value
25
+ value.to_i
26
+ end
27
+
28
+ def self.get_time(key)
29
+ value = get_value(key)
30
+ return nil unless value
31
+ result = nil
32
+ begin
33
+ result = Time.zone.parse(value)
34
+ rescue => e
35
+ puts e.message
36
+ end
37
+ result
38
+ end
39
+
40
+ def self.normalize_value(value)
41
+ value.sub(/^--- /, '').strip
42
+ end
43
+
44
+ def self.get_value(key)
45
+ settings = get_record(key)
46
+ value = nil
47
+ if settings
48
+ # Rails::Settings::Cachedが先頭に"-- "を付けているのでそれを除去する。互換性のための処理
49
+ value = normalize_value(settings.value)
50
+ end
51
+ value
52
+ end
53
+
54
+ def self.get_record(key)
55
+ Settings.find_by(var: key)
56
+ end
57
+
58
+ def self.set_value(key, value)
59
+ settings = get(key)
60
+ unless settings
61
+ settings = Settings.new
62
+ settings.key = key
63
+ end
64
+ settings.value = value.to_s
65
+ settings.save!
66
+ end
67
+
68
+ end
69
+ end
@@ -1,3 +1,3 @@
1
1
  module Librails
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.4"
3
3
  end
data/lib/librails.rb CHANGED
@@ -3,6 +3,7 @@ require "librails/version"
3
3
  require "librails/misc_utils"
4
4
  require "librails/model_utils"
5
5
  require "librails/view_helper"
6
+ require "librails/settings"
6
7
 
7
8
  module Librails
8
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: librails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - src256
@@ -47,6 +47,7 @@ files:
47
47
  - lib/librails/engine.rb
48
48
  - lib/librails/misc_utils.rb
49
49
  - lib/librails/model_utils.rb
50
+ - lib/librails/settings.rb
50
51
  - lib/librails/version.rb
51
52
  - lib/librails/view_helper.rb
52
53
  - lib/tasks/librails_tasks.rake