gyoku 0.3.0 → 0.3.1
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.
- data/README.md +17 -4
- data/lib/gyoku/version.rb +1 -1
- data/lib/gyoku/xml_value.rb +2 -0
- data/spec/gyoku/xml_value_spec.rb +8 -3
- metadata +4 -4
data/README.md
CHANGED
@@ -23,13 +23,18 @@ As you might notice, Gyoku follows a couple of conventions for translating Hashe
|
|
23
23
|
Conventions
|
24
24
|
-----------
|
25
25
|
|
26
|
-
|
27
|
-
|
28
|
-
*
|
29
|
-
*
|
26
|
+
### Hash keys
|
27
|
+
|
28
|
+
* Symbols are converted to lowerCamelCase Strings
|
29
|
+
* Strings are not converted and may contain namespaces
|
30
|
+
|
31
|
+
### Hash values
|
32
|
+
|
33
|
+
* DateTime objects are converted to xs:dateTime Strings
|
30
34
|
* Objects responding to :to_datetime (except Strings) are converted to xs:dateTime Strings
|
31
35
|
* TrueClass and FalseClass objects are converted to "true" and "false" Strings
|
32
36
|
* NilClass objects are converted to xsi:nil tags
|
37
|
+
* These conventions are also applied to the return value of objects responding to :call
|
33
38
|
* All other objects are converted to Strings using :to_s
|
34
39
|
|
35
40
|
Special characters
|
@@ -40,6 +45,14 @@ Gyoku escapes special characters unless the Hash key ends with an exclamation ma
|
|
40
45
|
Gyoku.xml :escaped => "<tag />", :not_escaped! => "<tag />"
|
41
46
|
# => "<escaped><tag /></escaped><notEscaped><tag /></notEscaped>"
|
42
47
|
|
48
|
+
Self-closing tags
|
49
|
+
-----------------
|
50
|
+
|
51
|
+
Hash Keys ending with a forward slash create self-closing tags:
|
52
|
+
|
53
|
+
Gyoku.xml :"self_closing/" => "", "selfClosing/" => nil
|
54
|
+
# => "<selfClosing/><selfClosing/>"
|
55
|
+
|
43
56
|
Sort XML tags
|
44
57
|
-------------
|
45
58
|
|
data/lib/gyoku/version.rb
CHANGED
data/lib/gyoku/xml_value.rb
CHANGED
@@ -24,16 +24,21 @@ describe Gyoku::XMLValue do
|
|
24
24
|
to_xml_value("<tag>", false).should == "<tag>"
|
25
25
|
end
|
26
26
|
|
27
|
-
it "
|
27
|
+
it "should return an xs:dateTime compliant String for Objects responding to #to_datetime" do
|
28
28
|
singleton = Object.new
|
29
29
|
def singleton.to_datetime
|
30
|
-
DateTime.new
|
30
|
+
DateTime.new 2012, 03, 22, 16, 22, 33
|
31
31
|
end
|
32
32
|
|
33
33
|
to_xml_value(singleton).should == "2012-03-22T16:22:33+00:00"
|
34
34
|
end
|
35
35
|
|
36
|
-
it "
|
36
|
+
it "should #call Proc objects and convert their return value" do
|
37
|
+
object = lambda { DateTime.new 2012, 03, 22, 16, 22, 33 }
|
38
|
+
to_xml_value(object).should == "2012-03-22T16:22:33+00:00"
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should call #to_s unless the Object responds to #to_datetime" do
|
37
42
|
to_xml_value("value").should == "value"
|
38
43
|
end
|
39
44
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gyoku
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 1
|
10
|
+
version: 0.3.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Daniel Harrington
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-01-
|
18
|
+
date: 2011-01-26 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|