fino-solid 1.8.3 → 1.9.0
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 +4 -4
- data/README.md +29 -2
- data/lib/fino/version.rb +2 -2
- metadata +18 -18
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cd4440e5b282bcef8d8aeb2a56b98b75e31b2b34ff05dc57eb2d8b85a076f055
|
|
4
|
+
data.tar.gz: fff6817b7f553c1a9482f31343f61b84b6e3fd60b6280cd558484f1281d11877
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0f330e1353876cc19afafdea23beab7fedb48146a4a82e1b1feb86472164e27fd87408e3a325b6e192e6d14b318fb13bdf39d2f7205f5acd3464a765b5e138fa
|
|
7
|
+
data.tar.gz: 42bdf1a8d7b5c102a8d8c846c372073318b2c90a25d4938913b87209c7d149f990cdce5588908a5a384ac9e401207adc76c9888e1fa8905238a32ba403dc664e
|
data/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# Fino
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Fino is plug & play distributed settings engine for Ruby and Rails
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
- Blazing fast reads with multiple adapers (Redis, Active Record)
|
|
6
|
+
- Out of the box UI
|
|
7
|
+
- A/B test and override settings on the go
|
|
6
8
|
|
|
7
9
|
## Usage
|
|
8
10
|
|
|
@@ -139,6 +141,31 @@ Fino.value(:http_read_timeout, at: :my_micro_service, unit: :sec) #=> 0.2
|
|
|
139
141
|
Fino.setting(:http_read_timeout, at: :my_micro_service).value(unit: :sec) #=> 0.2
|
|
140
142
|
```
|
|
141
143
|
|
|
144
|
+
### Callbacks
|
|
145
|
+
|
|
146
|
+
Fino provides callbacks configuration that will be called once some particular action is triggered:
|
|
147
|
+
|
|
148
|
+
- `after_write` - yields `setting_definition`, `value`, `overrides` and `variants`, is triggered when setting is updated
|
|
149
|
+
|
|
150
|
+
```ruby
|
|
151
|
+
Fino.configure do
|
|
152
|
+
# ...
|
|
153
|
+
|
|
154
|
+
after_write do |setting_definition, value, overrides, variants|
|
|
155
|
+
next unless setting_definition.tags.include?(:monitor)
|
|
156
|
+
|
|
157
|
+
Monitor.track_changes("Set #{setting_definition.key} to #{value}")
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
settings do
|
|
161
|
+
setting :maintenance_mode, :boolean, default: false
|
|
162
|
+
|
|
163
|
+
setting :http_read_timeout, :integer, unit: :ms, default: 200, tags: %i[monitor]
|
|
164
|
+
setting :http_open_timeout, :integer, unit: :ms, default: 500, tags: %i[monitor]
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
```
|
|
168
|
+
|
|
142
169
|
## Rails integration
|
|
143
170
|
|
|
144
171
|
Fino easily integrates with Rails. Just add the gem to your Gemfile:
|
data/lib/fino/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fino-solid
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Egor Iskrenkov
|
|
@@ -10,47 +10,47 @@ cert_chain: []
|
|
|
10
10
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
|
-
name:
|
|
13
|
+
name: activerecord
|
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
|
15
15
|
requirements:
|
|
16
|
-
- - "
|
|
16
|
+
- - ">="
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 1
|
|
18
|
+
version: '6.1'
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
|
-
- - "
|
|
23
|
+
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 1
|
|
25
|
+
version: '6.1'
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
|
-
name:
|
|
27
|
+
name: fino
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
|
-
- - "
|
|
30
|
+
- - "~>"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version:
|
|
32
|
+
version: 1.9.0
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
|
-
- - "
|
|
37
|
+
- - "~>"
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version:
|
|
39
|
+
version: 1.9.0
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
|
-
name:
|
|
41
|
+
name: mysql2
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
43
43
|
requirements:
|
|
44
44
|
- - ">="
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: '
|
|
46
|
+
version: '0.5'
|
|
47
47
|
type: :development
|
|
48
48
|
prerelease: false
|
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
51
|
- - ">="
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '
|
|
53
|
+
version: '0.5'
|
|
54
54
|
- !ruby/object:Gem::Dependency
|
|
55
55
|
name: pg
|
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -66,19 +66,19 @@ dependencies:
|
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
67
|
version: '1.0'
|
|
68
68
|
- !ruby/object:Gem::Dependency
|
|
69
|
-
name:
|
|
69
|
+
name: sqlite3
|
|
70
70
|
requirement: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
|
72
72
|
- - ">="
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: '
|
|
74
|
+
version: '1.4'
|
|
75
75
|
type: :development
|
|
76
76
|
prerelease: false
|
|
77
77
|
version_requirements: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements:
|
|
79
79
|
- - ">="
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: '
|
|
81
|
+
version: '1.4'
|
|
82
82
|
email:
|
|
83
83
|
- egor@iskrenkov.me
|
|
84
84
|
executables: []
|
|
@@ -112,7 +112,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
112
112
|
requirements:
|
|
113
113
|
- - ">="
|
|
114
114
|
- !ruby/object:Gem::Version
|
|
115
|
-
version: 3.
|
|
115
|
+
version: 3.2.0
|
|
116
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
117
|
requirements:
|
|
118
118
|
- - ">="
|