glib-web 0.5.40 → 0.5.41

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: 8b928a561f073b490adf1ea7cd8f5bfbf0da713c3cb580bc70384ea6c21579af
4
- data.tar.gz: fe3fc8437847278266fd2d50cb0fb0501305a582e76f8d4696979d3375559d48
3
+ metadata.gz: 667c7e9bef646b1a11ed8237b4fca8490dfd5cc6308dc6bbe01284402fbf605d
4
+ data.tar.gz: 159bda20f1a5d19c1834d51669f7f8c990ad3ae34d766bec28e7b2ac6110b9cb
5
5
  SHA512:
6
- metadata.gz: 39a4149930f9ce32a68a91fae80a6589d9829f6efffc3d62578750258cd54163e5cc05115ad476276cd0a4992f190c25626d578813d827aac2936b4054ee127e
7
- data.tar.gz: d890dec1c65fb22290234d16d88597fe39d54700009ce6d55f96cb69823167f01dc4fabc709828712a52e5e2a9165c01dbc7df29761f1dbfb095566a03679c66
6
+ metadata.gz: 2443bf21f9099aae0fddeed21226f02c466b4b123c5a7f69d9677a0a96c268f45b96ff7c91abebbd203ed88d71dc92ce817252083d8997cf0b8e09a1fd46ddae
7
+ data.tar.gz: 05e3fca19eb376087e2444af5b8635110a0d14fc86a4c88210a4234018e90b228129ff6cd19ecb4792db6e060c5d3cf6dc3aa9777dcf3c996b4cf064ef21c96e
@@ -4,10 +4,11 @@ class Glib::JsonUi::ViewBuilder
4
4
  class AbstractField < View
5
5
  bool :readOnly
6
6
  hash :validation
7
+ string :label
7
8
 
8
- def label(label)
9
- @label = label
10
- end
9
+ # def label(label)
10
+ # @label = label
11
+ # end
11
12
 
12
13
  def label_args(label_args)
13
14
  @label_args = label_args
@@ -39,16 +40,13 @@ class Glib::JsonUi::ViewBuilder
39
40
 
40
41
  def prop(prop)
41
42
  @prop = prop
42
- # if (form = page.current_form)
43
- # @name ||= form.field_name(prop)
44
- # @value ||= form.field_value(prop)
45
- # end
46
-
47
43
  end
48
44
 
49
45
  # Override
50
46
  def created
51
47
  if @prop && (form = page.current_form)
48
+ form.field_assert_respond_to(@prop)
49
+
52
50
  @name ||= form.field_name(@prop, @multiple || false)
53
51
  @value ||= form.field_value(@prop)
54
52
  @label ||= form.field_label(@prop, @label_args || {})
@@ -56,7 +54,6 @@ class Glib::JsonUi::ViewBuilder
56
54
  @placeholder ||= form.placeholder_label(@prop, @placeholder_args || {})
57
55
 
58
56
  @validation ||= form.field_validation(@prop)
59
-
60
57
  end
61
58
  json.name @name
62
59
  json.value @value if @value
@@ -68,7 +65,8 @@ class Glib::JsonUi::ViewBuilder
68
65
  # - Placeholder competes with label for space
69
66
  json.placeholder @placeholder if @placeholder
70
67
 
71
- json.validation @validation if @validation
68
+ # TODO: Add a flag so the framework's user can turn it on and off.
69
+ # json.validation @validation if @validation
72
70
  end
73
71
 
74
72
  end
@@ -16,6 +16,11 @@ class Glib::JsonUi::ViewBuilder
16
16
  @model.class.try(:reflect_on_association, prop)&.macro == :has_many
17
17
  end
18
18
 
19
+ def field_assert_respond_to(prop)
20
+ # Identify a prop being used on a nil model or incorrect model.
21
+ raise "Invalid property `#{prop}` on '#{@model.class}'" unless @model.respond_to?(prop)
22
+ end
23
+
19
24
  def field_name(prop, multiple)
20
25
  suffix = is_array_association?(prop) || multiple ? '[]' : ''
21
26
  "#{@model_name}[#{prop}]#{suffix}"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glib-web
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.40
4
+ version: 0.5.41
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''