gyoku 0.4.5 → 0.4.6
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +10 -0
- data/lib/gyoku/version.rb +1 -1
- data/lib/gyoku/xml_value.rb +12 -2
- data/spec/gyoku/xml_value_spec.rb +13 -4
- metadata +4 -4
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
## 0.4.6 (2012-06-28)
|
2
|
+
|
3
|
+
* Fix: [#16](https://github.com/rubiii/gyoku/issues/16) Date objects were mapped like DateTime objects.
|
4
|
+
|
5
|
+
Gyoku.xml(date: Date.today) # => "<date>2012-06-28</date>"
|
6
|
+
|
7
|
+
* Fix: Time objects were also mapped like DateTime objects.
|
8
|
+
|
9
|
+
Gyoku.xml(time: sunday) # => "<time>16:22:33</time>"
|
10
|
+
|
1
11
|
## 0.4.5 (2012-05-28)
|
2
12
|
|
3
13
|
* Fix: [issue 8](https://github.com/rubiii/gyoku/issues/8) -
|
data/lib/gyoku/version.rb
CHANGED
data/lib/gyoku/xml_value.rb
CHANGED
@@ -5,13 +5,23 @@ module Gyoku
|
|
5
5
|
module XMLValue
|
6
6
|
class << self
|
7
7
|
|
8
|
-
# xs:
|
8
|
+
# xs:date format
|
9
|
+
XS_DATE_FORMAT = "%Y-%m-%d"
|
10
|
+
|
11
|
+
# xs:time format
|
12
|
+
XS_TIME_FORMAT = "%H:%M:%S"
|
13
|
+
|
14
|
+
# xs:dateTime format
|
9
15
|
XS_DATETIME_FORMAT = "%Y-%m-%dT%H:%M:%S%Z"
|
10
16
|
|
11
17
|
# Converts a given +object+ to an XML value.
|
12
18
|
def create(object, escape_xml = true)
|
13
|
-
if
|
19
|
+
if Time === object
|
20
|
+
object.strftime XS_TIME_FORMAT
|
21
|
+
elsif DateTime === object
|
14
22
|
object.strftime XS_DATETIME_FORMAT
|
23
|
+
elsif Date === object
|
24
|
+
object.strftime XS_DATE_FORMAT
|
15
25
|
elsif String === object
|
16
26
|
escape_xml ? CGI.escapeHTML(object) : object
|
17
27
|
elsif object.respond_to?(:to_datetime)
|
@@ -2,13 +2,22 @@ require "spec_helper"
|
|
2
2
|
|
3
3
|
describe Gyoku::XMLValue do
|
4
4
|
|
5
|
-
let(:datetime) { DateTime.new 2012, 03, 22, 16, 22, 33 }
|
6
|
-
let(:datetime_string) { "2012-03-22T16:22:33+00:00" }
|
7
|
-
|
8
5
|
describe ".create" do
|
9
6
|
context "for DateTime objects" do
|
10
7
|
it "returns an xs:dateTime compliant String" do
|
11
|
-
create(
|
8
|
+
create(DateTime.new(2012, 03, 22, 16, 22, 33)).should == "2012-03-22T16:22:33+00:00"
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
context "for Date objects" do
|
13
|
+
it "returns an xs:date compliant String" do
|
14
|
+
create(Date.new(2012, 03, 22)).should == "2012-03-22"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
context "for Time objects" do
|
19
|
+
it "returns an xs:time compliant String" do
|
20
|
+
create(Time.local(2012, 03, 22, 16, 22, 33)).should == "16:22:33"
|
12
21
|
end
|
13
22
|
end
|
14
23
|
|
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: 3
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 6
|
10
|
+
version: 0.4.6
|
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: 2012-
|
18
|
+
date: 2012-06-28 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|