trenni-formatters 2.2.0 → 2.3.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/lib/trenni/formatters/formatter.rb +18 -6
- data/lib/trenni/formatters/html/form_formatter.rb +2 -6
- data/lib/trenni/formatters/html/option_select.rb +9 -1
- data/lib/trenni/formatters/html/radio_select.rb +9 -1
- data/lib/trenni/formatters/version.rb +1 -1
- data/spec/trenni/formatters/form_formatter_spec.rb +2 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac162860960979c57091379978f2bacfb93ef759
|
4
|
+
data.tar.gz: 9c31ab0d5f6c847a97512dfd1513bd83c87b1124
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ca42bc7c0c37c207f9ed0db93696cde7c3c899788d3c0f8c7a0537bc43ebdc7045144fdee8b5336dfc12d364fb9b44069423c90a7fe9402f023656a3a10b895
|
7
|
+
data.tar.gz: d17162fb3e392f9001d2e6c95f46d9140211b8b28d6ebfcd7854e76237e36ca4234a35cd41a66a8dd92c5cd19306d4655c3e576af3d54667731d67da5616cd4b
|
@@ -27,13 +27,11 @@ module Trenni
|
|
27
27
|
def initialize(options = {})
|
28
28
|
@options = options
|
29
29
|
end
|
30
|
+
|
31
|
+
attr :options
|
30
32
|
|
31
33
|
def format_unspecified(object, options)
|
32
|
-
|
33
|
-
object
|
34
|
-
else
|
35
|
-
options[:blank] || ""
|
36
|
-
end
|
34
|
+
object.to_s
|
37
35
|
end
|
38
36
|
|
39
37
|
def format(object, options = {})
|
@@ -43,7 +41,7 @@ module Trenni
|
|
43
41
|
self.send(method_name, object, options)
|
44
42
|
else
|
45
43
|
format_unspecified(object, options)
|
46
|
-
end
|
44
|
+
end
|
47
45
|
end
|
48
46
|
|
49
47
|
alias text format
|
@@ -51,6 +49,20 @@ module Trenni
|
|
51
49
|
def [] key
|
52
50
|
@options[key]
|
53
51
|
end
|
52
|
+
|
53
|
+
map(String) do |object, options|
|
54
|
+
object
|
55
|
+
end
|
56
|
+
|
57
|
+
map(NilClass) do |object, options|
|
58
|
+
options[:blank] || @options[:blank] || ""
|
59
|
+
end
|
60
|
+
|
61
|
+
[TrueClass, FalseClass, Fixnum, Bignum, Float, Rational].each do |klass|
|
62
|
+
map(klass) do |object, options|
|
63
|
+
object.to_s
|
64
|
+
end
|
65
|
+
end
|
54
66
|
end
|
55
67
|
end
|
56
68
|
end
|
@@ -26,16 +26,12 @@ module Trenni
|
|
26
26
|
module FormFormatter
|
27
27
|
# The target object of the form.
|
28
28
|
def object
|
29
|
-
@options[:object]
|
29
|
+
@object ||= @options[:object]
|
30
30
|
end
|
31
31
|
|
32
32
|
# Return true if the object is begin created or false if it is being updated.
|
33
33
|
def new_record?
|
34
|
-
|
35
|
-
return object.new_record?
|
36
|
-
elsif self.object.respond_to? :saved?
|
37
|
-
return !object.saved?
|
38
|
-
end
|
34
|
+
object.new_record?
|
39
35
|
end
|
40
36
|
|
41
37
|
# Any additional details relating to a field (e.g. explanation text)
|
@@ -51,6 +51,14 @@ module Trenni
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
+
def raw_value_for(options)
|
55
|
+
@formatter.raw_value_for(options)
|
56
|
+
end
|
57
|
+
|
58
|
+
def raw_value
|
59
|
+
@raw_value ||= raw_value_for(@options)
|
60
|
+
end
|
61
|
+
|
54
62
|
def value_for(options)
|
55
63
|
@formatter.value_for(options)
|
56
64
|
end
|
@@ -62,7 +70,7 @@ module Trenni
|
|
62
70
|
def option_attributes_for(options)
|
63
71
|
return {
|
64
72
|
:value => value_for(options),
|
65
|
-
:selected => options.fetch(:selected){
|
73
|
+
:selected => options.fetch(:selected){ raw_value == raw_value_for(options) },
|
66
74
|
:id => options[:id],
|
67
75
|
:class => options[:class],
|
68
76
|
:data => options[:data],
|
@@ -44,6 +44,14 @@ module Trenni
|
|
44
44
|
def name_for(options)
|
45
45
|
@formatter.name_for(options)
|
46
46
|
end
|
47
|
+
|
48
|
+
def raw_value_for(options)
|
49
|
+
@formatter.raw_value_for(options)
|
50
|
+
end
|
51
|
+
|
52
|
+
def raw_value
|
53
|
+
@raw_value ||= raw_value_for(@options)
|
54
|
+
end
|
47
55
|
|
48
56
|
def value_for(options)
|
49
57
|
@formatter.value_for(options)
|
@@ -59,7 +67,7 @@ module Trenni
|
|
59
67
|
:name => @field,
|
60
68
|
# We set a default value to empty string, otherwise it becomes "on".
|
61
69
|
:value => value_for(options) || "",
|
62
|
-
:checked => options.fetch(:selected){
|
70
|
+
:checked => options.fetch(:selected){ raw_value == raw_value_for(options) },
|
63
71
|
:data => options[:data],
|
64
72
|
}
|
65
73
|
end
|
@@ -99,6 +99,8 @@ module Trenni::Formatters::FormFormatterSpec
|
|
99
99
|
end
|
100
100
|
|
101
101
|
it "should escape characters correctly" do
|
102
|
+
expect(formatter.object).to receive(:new_record?).and_return(false)
|
103
|
+
|
102
104
|
result = formatter.submit
|
103
105
|
expect(result).to be == %Q{<input type="submit" value="Update"/>}
|
104
106
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trenni-formatters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: trenni
|
@@ -134,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
134
134
|
version: '0'
|
135
135
|
requirements: []
|
136
136
|
rubyforge_project:
|
137
|
-
rubygems_version: 2.
|
137
|
+
rubygems_version: 2.6.10
|
138
138
|
signing_key:
|
139
139
|
specification_version: 4
|
140
140
|
summary: Formatters for Trenni, to assist with typical views and form based interfaces.
|