marty 1.0.32 → 1.0.33

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: 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