marty 1.0.32 → 1.0.33

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: 671ef9c9aeda422910eead24aa88e4c086f27661
4
- data.tar.gz: 27c540837c2e1ca61c82f13491cbf42a737d3d91
3
+ metadata.gz: 7f81ea6f27f1cb8c9671b8e4dc1c6d32ab3e782e
4
+ data.tar.gz: 839a0aa364eb2a4991d3b49bbb729e63c620ea45
5
5
  SHA512:
6
- metadata.gz: 4231463e4c8d857aab0f957d6d2cce95070a52c6ab0454b7f96fee8d4a27c5f2ab6cc9cc9bd002768c5a8c189b741752cd25dc5c982657d0b1963ef0c173f760
7
- data.tar.gz: 3a9d6e936a78ce5dd43e8e5aa69f543b46327110dfb29e71fd97f38acd75780f4b49f85c484e3e8f8269f3cf01349212c21b31f40792923d6b9aa67aa61100d8
6
+ metadata.gz: a2bde0eae1e81e2189f3d5d53c88a25d6c317f40fe46309a0b330f0fdb71c77414230bd62a211f98f348c20807985b167c8a8bf38e9e8ce8a0b7105630c1060f
7
+ data.tar.gz: 3b49c4026098a1ff32e15c8684096fd8fe786361dafca179ce60eeb793fc1166fbd91fd7193d4c7b39fc479269bf16ca0d99d93751fac61feb1755323b702e4e
@@ -17,14 +17,17 @@ class Marty::ConfigView < Marty::Grid
17
17
  c.editing = :both
18
18
  end
19
19
 
20
- # need a getter / setter to call the []= and [] methods now
21
- # since value is no longer stored as is
22
20
  def my_jsonb_getter
23
- lambda { |r| Marty::Config[r.key].to_json }
21
+ lambda { |r| v = Marty::Config[r.key]; v && v.to_json || '' }
22
+ end
23
+ def my_jsonb_pretty_getter
24
+ lambda { |r| v = Marty::Config[r.key]
25
+ v && JSON.pretty_generate(v) || '' }
24
26
  end
25
27
 
26
28
  def my_jsonb_setter
27
29
  lambda { |r, v|
30
+ return r.set_value(nil) if v.blank?
28
31
  decoded = ActiveSupport::JSON.decode(v) rescue nil
29
32
  r.set_value(decoded)
30
33
  }
@@ -33,21 +36,10 @@ class Marty::ConfigView < Marty::Grid
33
36
  def default_form_items
34
37
  [
35
38
  :key,
36
- {
37
- name: :value,
38
- width: "100%",
39
- height: 150,
40
- xtype: :textareafield,
41
- auto_scroll: true,
42
- spellcheck: false,
43
- allow_blank: false,
44
- field_style: {
45
- font_family: 'courier new',
46
- font_size: '12px'
47
- },
48
- getter: my_jsonb_getter,
49
- setter: my_jsonb_setter,
50
- },
39
+ jsonb_field(:value, {
40
+ getter: my_jsonb_pretty_getter,
41
+ setter: my_jsonb_setter,
42
+ }),
51
43
  textarea_field(:description),
52
44
  ]
53
45
  end
@@ -56,7 +48,7 @@ class Marty::ConfigView < Marty::Grid
56
48
  c.flex = 1
57
49
  end
58
50
 
59
- attribute :value do |c|
51
+ column :value do |c|
60
52
  c.flex = 3
61
53
  c.getter = my_jsonb_getter
62
54
  c.setter = my_jsonb_setter
@@ -54,6 +54,22 @@ module Layout
54
54
  } + options
55
55
  end
56
56
 
57
+ def jsonb_field(name, options={})
58
+ {
59
+ name: name,
60
+ width: "100%",
61
+ height: 150,
62
+ xtype: :textareafield,
63
+ auto_scroll: true,
64
+ spellcheck: false,
65
+ allow_blank: false,
66
+ field_style: {
67
+ font_family: 'courier new',
68
+ font_size: '12px'
69
+ },
70
+ }.merge(options)
71
+ end
72
+
57
73
  ######################################################################
58
74
  # PG ENUM field handling
59
75
 
@@ -72,7 +72,8 @@ class Marty::DataConversion
72
72
  when :numrange, :int4range, :int8range
73
73
  v.to_s
74
74
  when :float_array, :json, :jsonb
75
- JSON.parse Marty::DataExporter.decode_json(v)
75
+ # v might be base64 or might be a readable string
76
+ JSON.parse Marty::DataExporter.decode_json(v) rescue JSON.parse(v)
76
77
  else
77
78
  raise "unknown type #{type} for #{v.inspect}}"
78
79
  end
@@ -189,7 +190,6 @@ class Marty::DataConversion
189
190
  |(k,v), h|
190
191
  h[k.to_s] = v == '' ? nil : v
191
192
  }
192
-
193
193
  key_groups.each_with_object({}) do
194
194
  |(ga, g), h|
195
195
 
data/lib/marty/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Marty
2
- VERSION = "1.0.32"
2
+ VERSION = "1.0.33"
3
3
  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.32
4
+ version: 1.0.33
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-07-10 00:00:00.000000000 Z
17
+ date: 2017-07-13 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: pg