marty 1.0.37 → 1.0.38
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/app/components/marty/config_view.rb +17 -17
- data/app/models/marty/config.rb +1 -1
- data/lib/marty/version.rb +1 -1
- data/spec/controllers/rpc_controller_spec.rb +2 -2
- data/spec/models/config_spec.rb +19 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5da04fa860827fce8185e800389eb73a792061a9
|
4
|
+
data.tar.gz: e722057ed242f9090f05d1c916ccb729d055c728
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '058dda8d8f51acba402b91a95204ad19eca47e4e142c502bd18f6a03556f8e91ef713b1ad1931c813d21824e3db4fd035a9b6cf05b07cad696f2d96df6f3db43'
|
7
|
+
data.tar.gz: 91c8ab2dddb5ab07e27547dd7eef1280b9828e1930a3bd6864bbcfb70aeac8fdb8faa592181459e0221c7caf85781340a3e679bf4f585cd1a2c7b6b123977aea
|
@@ -1,28 +1,28 @@
|
|
1
1
|
class Marty::ConfigView < Marty::Grid
|
2
|
-
has_marty_permissions
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
delete: :admin
|
2
|
+
has_marty_permissions create: :admin,
|
3
|
+
read: :admin,
|
4
|
+
update: :admin,
|
5
|
+
delete: :admin
|
7
6
|
|
8
7
|
include Marty::Extras::Layout
|
9
8
|
|
10
9
|
def configure(c)
|
11
10
|
super
|
12
11
|
|
13
|
-
c.title
|
14
|
-
c.model
|
12
|
+
c.title = I18n.t('config', default: "Config")
|
13
|
+
c.model = "Marty::Config"
|
15
14
|
c.attributes = [:key, :value, :description]
|
16
|
-
c.
|
17
|
-
c.
|
15
|
+
c.editing = :both
|
16
|
+
c.store_config.merge!(sorters: [{property: :key, direction: 'ASC'}])
|
18
17
|
end
|
19
18
|
|
20
19
|
def my_jsonb_getter
|
21
|
-
lambda { |r| v = Marty::Config[r.key]; v && v.to_json || '' }
|
20
|
+
lambda { |r| v = Marty::Config[r.key]; !v.nil? && v.to_json || '' }
|
22
21
|
end
|
22
|
+
|
23
23
|
def my_jsonb_pretty_getter
|
24
24
|
lambda { |r| v = Marty::Config[r.key]
|
25
|
-
v && (JSON.pretty_generate(v) rescue v.to_json) || '' }
|
25
|
+
!v.nil? && (JSON.pretty_generate(v) rescue v.to_json) || '' }
|
26
26
|
end
|
27
27
|
|
28
28
|
def my_jsonb_setter
|
@@ -37,8 +37,8 @@ class Marty::ConfigView < Marty::Grid
|
|
37
37
|
[
|
38
38
|
:key,
|
39
39
|
jsonb_field(:value, {
|
40
|
-
getter:
|
41
|
-
setter:
|
40
|
+
getter: my_jsonb_pretty_getter,
|
41
|
+
setter: my_jsonb_setter,
|
42
42
|
}),
|
43
43
|
textarea_field(:description),
|
44
44
|
]
|
@@ -49,14 +49,14 @@ class Marty::ConfigView < Marty::Grid
|
|
49
49
|
end
|
50
50
|
|
51
51
|
column :value do |c|
|
52
|
-
c.flex
|
53
|
-
c.getter
|
54
|
-
c.setter
|
52
|
+
c.flex = 3
|
53
|
+
c.getter = my_jsonb_getter
|
54
|
+
c.setter = my_jsonb_setter
|
55
55
|
end
|
56
|
+
|
56
57
|
attribute :description do |c|
|
57
58
|
c.flex = 1
|
58
59
|
end
|
59
|
-
|
60
60
|
end
|
61
61
|
|
62
62
|
ConfigView = Marty::ConfigView
|
data/app/models/marty/config.rb
CHANGED
data/lib/marty/version.rb
CHANGED
@@ -826,7 +826,7 @@ describe Marty::RpcController do
|
|
826
826
|
attrs: attrs,
|
827
827
|
params: params
|
828
828
|
}
|
829
|
-
expect =
|
829
|
+
expect = "property '#/f' value 'Beans' not contained in FruitsEnum"
|
830
830
|
expect(response.body).to include(expect)
|
831
831
|
end
|
832
832
|
|
@@ -845,7 +845,7 @@ describe Marty::RpcController do
|
|
845
845
|
attrs: attrs,
|
846
846
|
params: params
|
847
847
|
}
|
848
|
-
expect = "
|
848
|
+
expect = "property '#/b': 'NonExistantEnum' is not a pg_enum"
|
849
849
|
res_hsh = JSON.parse(response.body)
|
850
850
|
expect(res_hsh.keys.size).to eq(1)
|
851
851
|
expect(res_hsh.keys[0]).to eq("error")
|
data/spec/models/config_spec.rb
CHANGED
@@ -15,6 +15,11 @@ module Marty
|
|
15
15
|
expect(Marty::Config["testval"]).to eq(val)
|
16
16
|
end
|
17
17
|
|
18
|
+
def testval_fail(val)
|
19
|
+
expect{testval(val)}.to raise_error(ActiveRecord::RecordInvalid,
|
20
|
+
'Validation failed: bad JSON value')
|
21
|
+
end
|
22
|
+
|
18
23
|
it "should handle various structures correctly" do
|
19
24
|
testval("[1,2,3]")
|
20
25
|
testval("[1,\"2,3\"]")
|
@@ -46,6 +51,20 @@ module Marty
|
|
46
51
|
expect(Marty::Config["k#{i}"]).to eq(nil)
|
47
52
|
}
|
48
53
|
end
|
54
|
+
|
55
|
+
it "should allow the assignment of individual boolean values" do
|
56
|
+
testval(true)
|
57
|
+
testval(false)
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should not allow the assignment of individual nil (null) values" do
|
61
|
+
testval_fail(nil)
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should allow nil (null) to exist in other structures" do
|
65
|
+
testval([nil, 1, 2, nil])
|
66
|
+
testval({"key1" => nil, "key2" => false, "key3" => 'val'})
|
67
|
+
end
|
49
68
|
end
|
50
69
|
end
|
51
70
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.38
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arman Bostani
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2017-09-
|
17
|
+
date: 2017-09-15 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: pg
|