open_ehr 1.0.1 → 1.0.2
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/.travis.yml +3 -0
- data/Gemfile +1 -2
- data/History.txt +3 -0
- data/README.rdoc +2 -2
- data/VERSION +1 -1
- data/lib/open_ehr/assumed_library_types.rb +93 -39
- data/lib/open_ehr/rm/data_structures/item_structure.rb +3 -1
- data/lib/open_ehr/rm/data_types/quantity.rb +1 -1
- data/lib/open_ehr/rm/data_types/quantity/date_time.rb +14 -2
- data/lib/open_ehr/rm/data_types/uri.rb +10 -9
- data/open_ehr.gemspec +8 -9
- data/spec/lib/open_ehr/assumed_library_types/timezone_spec.rb +42 -0
- data/spec/lib/open_ehr/parser/constraint_binding_spec.rb +2 -2
- data/spec/lib/open_ehr/rm/data_structures/history/interval_event_spec.rb +3 -3
- data/spec/lib/open_ehr/rm/data_types/quantity/date_time/dv_date_time_spec.rb +4 -4
- metadata +40 -49
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/History.txt
CHANGED
data/README.rdoc
CHANGED
@@ -5,7 +5,7 @@ Ruby openEHR implementation project.
|
|
5
5
|
|
6
6
|
= Version
|
7
7
|
|
8
|
-
Release-1.0.
|
8
|
+
Release-1.0.2
|
9
9
|
|
10
10
|
= Requirements
|
11
11
|
|
@@ -65,7 +65,7 @@ All Rights Reserved.
|
|
65
65
|
|
66
66
|
This product is under Apache 2.0 license
|
67
67
|
|
68
|
-
Copyright [
|
68
|
+
Copyright [2012] Shinji Kobayashi, Akimichi Tatsukawa, openEHR.jp
|
69
69
|
|
70
70
|
Licensed under the Apache License, Version 2.0 (the "License");
|
71
71
|
you may not use this file except in compliance with the License.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.2
|
@@ -84,7 +84,52 @@ module OpenEHR
|
|
84
84
|
@upper = upper
|
85
85
|
end
|
86
86
|
end # end of Interval
|
87
|
-
|
87
|
+
|
88
|
+
class Timezone
|
89
|
+
attr_reader :hour, :minute, :value
|
90
|
+
|
91
|
+
def initialize(value)
|
92
|
+
self.value = value
|
93
|
+
end
|
94
|
+
|
95
|
+
def value=(value)
|
96
|
+
unless value.nil?
|
97
|
+
if /((([+-](\d{2})):?(\d{2}))|Z)/ =~ value
|
98
|
+
@value = value
|
99
|
+
if $1 == 'Z'
|
100
|
+
@hour, @minute = 0,0
|
101
|
+
else
|
102
|
+
@hour = $3.to_i
|
103
|
+
@minute = $5.to_i
|
104
|
+
end
|
105
|
+
else
|
106
|
+
raise ArgumentError, "timezone invalid"
|
107
|
+
end
|
108
|
+
else
|
109
|
+
@value = nil
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
def sign
|
114
|
+
unless @hour
|
115
|
+
return nil
|
116
|
+
end
|
117
|
+
if @hour < 0
|
118
|
+
return -1
|
119
|
+
else
|
120
|
+
return +1
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
def to_s
|
125
|
+
return value
|
126
|
+
end
|
127
|
+
|
128
|
+
alias_method :as_string, :to_s
|
129
|
+
alias_method :hours, :hour
|
130
|
+
alias_method :minutes, :minute
|
131
|
+
end
|
132
|
+
|
88
133
|
module TimeDefinitions #< Any
|
89
134
|
DAYS_IN_LEAP_YEAR = 366
|
90
135
|
DAYS_IN_WEEK = 7
|
@@ -246,7 +291,7 @@ module OpenEHR
|
|
246
291
|
|
247
292
|
module ISO8601TimeModule
|
248
293
|
include TimeDefinitions
|
249
|
-
attr_reader :hour, :minute, :second, :fractional_second
|
294
|
+
attr_reader :hour, :minute, :second, :fractional_second
|
250
295
|
|
251
296
|
def hour=(hour)
|
252
297
|
unless TimeDefinitions.valid_hour?(hour, @minute, @second)
|
@@ -289,17 +334,17 @@ module OpenEHR
|
|
289
334
|
end
|
290
335
|
|
291
336
|
def timezone=(timezone)
|
292
|
-
unless timezone.nil?
|
293
|
-
|
294
|
-
@timezone = timezone
|
295
|
-
else
|
296
|
-
raise ArgumentError, "timezone invalid"
|
297
|
-
end
|
337
|
+
unless timezone.nil? or timezone.empty?
|
338
|
+
@timezone = Timezone.new(timezone)
|
298
339
|
else
|
299
340
|
@timezone = nil
|
300
341
|
end
|
301
342
|
end
|
302
343
|
|
344
|
+
def timezone
|
345
|
+
@timezone.to_s
|
346
|
+
end
|
347
|
+
|
303
348
|
def is_decimal_sign_comma?
|
304
349
|
false
|
305
350
|
end
|
@@ -321,7 +366,7 @@ module OpenEHR
|
|
321
366
|
if !@fractional_second.nil?
|
322
367
|
s += "." + @fractional_second.to_s[2..-1]
|
323
368
|
if !@timezone.nil?
|
324
|
-
s += @timezone
|
369
|
+
s += @timezone.to_s
|
325
370
|
end
|
326
371
|
end
|
327
372
|
end
|
@@ -394,26 +439,25 @@ module OpenEHR
|
|
394
439
|
return false
|
395
440
|
end
|
396
441
|
end
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
return false
|
405
|
-
end
|
442
|
+
unless tz.nil?
|
443
|
+
timezone = Timezone.new(tz)
|
444
|
+
if timezone.hour < 0 or timezone.hour >= HOURS_IN_DAY
|
445
|
+
return false
|
446
|
+
end
|
447
|
+
if timezone.minute < 0 or timezone.minute >= MINUTES_IN_HOUR
|
448
|
+
return false
|
406
449
|
end
|
450
|
+
return true
|
451
|
+
else
|
452
|
+
return false
|
407
453
|
end
|
408
|
-
return true
|
409
|
-
else
|
410
|
-
return false
|
411
454
|
end
|
412
455
|
end
|
413
456
|
end # end of ISO8601_TIME
|
414
457
|
|
415
458
|
module ISO8601DateTimeModule
|
416
459
|
include ISO8601DateModule, ISO8601TimeModule
|
460
|
+
|
417
461
|
def as_string
|
418
462
|
if (!@year.nil? and !@month.nil? and !@day.nil?)
|
419
463
|
s = Date.new(@year, @month, @day).to_s
|
@@ -430,18 +474,18 @@ module OpenEHR
|
|
430
474
|
s += ":" + sprintf("%02d", @second)
|
431
475
|
unless @fractional_second.nil?
|
432
476
|
s += "." + @fractional_second.to_s[2..-1]
|
433
|
-
unless @timezone.nil?
|
434
|
-
s += @timezone
|
435
|
-
end
|
436
477
|
end
|
437
478
|
end
|
438
479
|
end
|
480
|
+
unless @timezone.nil?
|
481
|
+
s += @timezone.to_s
|
482
|
+
end
|
439
483
|
end
|
440
484
|
return s
|
441
485
|
end
|
442
486
|
end
|
443
487
|
|
444
|
-
class ISO8601DateTime
|
488
|
+
class ISO8601DateTime
|
445
489
|
include ISO8601DateTimeModule
|
446
490
|
def initialize(string)
|
447
491
|
unless /(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?T(\d{2})(?::(\d{2})(?::(\d{2})(?:(\.|,)(\d+))?)?(Z|([+-]\d{2}):?(\d{2}))?)?/ =~ string
|
@@ -498,31 +542,41 @@ module OpenEHR
|
|
498
542
|
end
|
499
543
|
|
500
544
|
class ISO8601Timezone
|
501
|
-
attr_accessor :sign, :hour, :minute
|
502
|
-
|
503
545
|
def initialize(string)
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
546
|
+
@timezone = Timezone.new(string)
|
547
|
+
end
|
548
|
+
|
549
|
+
def hour
|
550
|
+
return @timezone.hour
|
551
|
+
end
|
552
|
+
|
553
|
+
def minute
|
554
|
+
return @timezone.minute
|
555
|
+
end
|
556
|
+
|
557
|
+
def sign
|
558
|
+
if @timezone.hour < 0
|
559
|
+
return -1
|
509
560
|
else
|
510
|
-
|
561
|
+
return +1
|
511
562
|
end
|
512
563
|
end
|
513
564
|
|
514
565
|
def is_gmt?
|
515
|
-
|
566
|
+
return (@timezone.hour == 0 and @timezone.minute == 0)
|
516
567
|
end
|
517
568
|
|
518
569
|
def as_string
|
519
|
-
if @
|
520
|
-
s =
|
521
|
-
|
522
|
-
s =
|
570
|
+
if @timezone.hour < 0
|
571
|
+
s = ''
|
572
|
+
else
|
573
|
+
s = '+'
|
523
574
|
end
|
524
|
-
sprintf("%s%02d%02d", s, @hour, @minute)
|
575
|
+
sprintf("%s%02d%02d", s, @timezone.hour, @timezone.minute)
|
525
576
|
end
|
577
|
+
|
578
|
+
alias to_s as_string
|
579
|
+
alias gmt? is_gmt?
|
526
580
|
end # end of ISO8601Timezone
|
527
581
|
|
528
582
|
module ISO8601DurationModule
|
@@ -2,8 +2,10 @@
|
|
2
2
|
# ItemStructure module
|
3
3
|
# http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109346709572_859750_3810Report.html
|
4
4
|
# refs #54
|
5
|
+
$:.unshift(File.dirname(__FILE__))
|
6
|
+
|
5
7
|
require 'set'
|
6
|
-
include OpenEHR::RM::DataStructures
|
8
|
+
#include OpenEHR::RM::DataStructures
|
7
9
|
module OpenEHR
|
8
10
|
module RM
|
9
11
|
module DataStructures
|
@@ -3,7 +3,7 @@ $:.unshift(File.dirname(__FILE__))
|
|
3
3
|
# http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109599337877_94556_1510Report.html
|
4
4
|
# Ticket refs #50
|
5
5
|
|
6
|
-
require 'assumed_library_types'
|
6
|
+
require 'open_ehr/assumed_library_types'
|
7
7
|
|
8
8
|
module OpenEHR
|
9
9
|
module RM
|
@@ -148,10 +148,21 @@ module OpenEHR
|
|
148
148
|
end
|
149
149
|
|
150
150
|
def magnitude
|
151
|
+
hour, minute = @hour, @minute
|
152
|
+
if @timezone
|
153
|
+
if @timezone.sign == -1
|
154
|
+
hour -= @timezone.hour
|
155
|
+
minute -= @timezone.minute
|
156
|
+
elsif @timezone.sign == +1
|
157
|
+
hour += @timezone.hour
|
158
|
+
minute += @timezone.minute
|
159
|
+
end
|
160
|
+
end
|
151
161
|
seconds = (((@year * 365.24 +
|
152
162
|
@month * 30.42 +
|
153
|
-
@day) * 24 +
|
154
|
-
|
163
|
+
@day) * 24 +
|
164
|
+
hour) * 60 +
|
165
|
+
minute) * 60 + @second
|
155
166
|
if @fractional_second.nil?
|
156
167
|
return seconds
|
157
168
|
else
|
@@ -190,6 +201,7 @@ module OpenEHR
|
|
190
201
|
|
191
202
|
private
|
192
203
|
def split_date_time(date_time)
|
204
|
+
p date_time.as_string
|
193
205
|
/^(.*)T(.*)$/ =~ date_time.as_string
|
194
206
|
return DvDate.new(:value => $1), DvTime.new(:value => $2)
|
195
207
|
end
|
@@ -35,23 +35,23 @@ module OpenEHR
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def value
|
38
|
-
@value
|
38
|
+
@value
|
39
39
|
end
|
40
40
|
|
41
41
|
def fragment_id
|
42
|
-
@
|
42
|
+
@uri.fragment
|
43
43
|
end
|
44
44
|
|
45
45
|
def path
|
46
|
-
@
|
46
|
+
@uri.path
|
47
47
|
end
|
48
48
|
|
49
49
|
def query
|
50
|
-
@
|
50
|
+
@uri.query
|
51
51
|
end
|
52
52
|
|
53
53
|
def scheme
|
54
|
-
@
|
54
|
+
@uri.scheme
|
55
55
|
end
|
56
56
|
|
57
57
|
def value=(value)
|
@@ -59,21 +59,22 @@ module OpenEHR
|
|
59
59
|
parse(value)
|
60
60
|
end
|
61
61
|
|
62
|
-
|
62
|
+
protected
|
63
63
|
|
64
64
|
def parse(value)
|
65
|
-
@
|
65
|
+
@uri = ::URI.parse(value)
|
66
|
+
@value = value
|
66
67
|
end
|
67
68
|
end
|
68
69
|
|
69
70
|
class DvEhrUri < DvUri
|
70
71
|
def initialize(value)
|
71
|
-
super
|
72
|
+
super
|
72
73
|
end
|
73
74
|
|
74
75
|
def value=(value)
|
75
76
|
raise ArgumentError, "scheme must be ehr" if !(value =~ /^ehr/i)
|
76
|
-
|
77
|
+
parse(value)
|
77
78
|
end
|
78
79
|
end # of DV_EHR_URI
|
79
80
|
end # of URI
|
data/open_ehr.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "open_ehr"
|
8
|
-
s.version = "1.0.
|
8
|
+
s.version = "1.0.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Shinji KOBAYASHI", "Akimichi Tatsukawa"]
|
12
|
-
s.date = "2012-
|
12
|
+
s.date = "2012-02-27"
|
13
13
|
s.description = "This project is an implementation of the openEHR specification on Ruby."
|
14
14
|
s.email = "skoba@moss.gr.jp"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.files = [
|
19
19
|
".document",
|
20
20
|
".rspec",
|
21
|
+
".travis.yml",
|
21
22
|
"Gemfile",
|
22
23
|
"Guardfile",
|
23
24
|
"History.txt",
|
@@ -143,6 +144,7 @@ Gem::Specification.new do |s|
|
|
143
144
|
"spec/lib/open_ehr/assumed_library_types/iso8601_time_spec.rb",
|
144
145
|
"spec/lib/open_ehr/assumed_library_types/iso8601_timezone_spec.rb",
|
145
146
|
"spec/lib/open_ehr/assumed_library_types/time_definitions_spec.rb",
|
147
|
+
"spec/lib/open_ehr/assumed_library_types/timezone_spec.rb",
|
146
148
|
"spec/lib/open_ehr/parser/adl14/adl-test-ENTRY.assumed_types.v1.adl",
|
147
149
|
"spec/lib/open_ehr/parser/adl14/adl-test-ENTRY.basic_types.v1.adl",
|
148
150
|
"spec/lib/open_ehr/parser/adl14/adl-test-ENTRY.basic_types_fail.v1.adl",
|
@@ -402,7 +404,7 @@ Gem::Specification.new do |s|
|
|
402
404
|
s.homepage = "http://github.com/skoba/ruby-impl-openehr"
|
403
405
|
s.licenses = ["The openEHR Open Source Software license(mozilla tri-license)"]
|
404
406
|
s.require_paths = ["lib"]
|
405
|
-
s.rubygems_version = "1.8.
|
407
|
+
s.rubygems_version = "1.8.11"
|
406
408
|
s.summary = "Ruby implementation of the openEHR specification"
|
407
409
|
|
408
410
|
if s.respond_to? :specification_version then
|
@@ -421,10 +423,9 @@ Gem::Specification.new do |s|
|
|
421
423
|
s.add_development_dependency(%q<rspec>, [">= 0"])
|
422
424
|
s.add_development_dependency(%q<guard-rspec>, [">= 0"])
|
423
425
|
s.add_development_dependency(%q<ruby-debug19>, [">= 0"])
|
424
|
-
s.add_development_dependency(%q<spork>, ["
|
426
|
+
s.add_development_dependency(%q<spork>, ["~> 1.0rc"])
|
425
427
|
s.add_development_dependency(%q<guard-spork>, [">= 0"])
|
426
428
|
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
427
|
-
s.add_development_dependency(%q<rb-inotify>, [">= 0"])
|
428
429
|
s.add_development_dependency(%q<libnotify>, [">= 0"])
|
429
430
|
else
|
430
431
|
s.add_dependency(%q<xml-simple>, [">= 0"])
|
@@ -439,10 +440,9 @@ Gem::Specification.new do |s|
|
|
439
440
|
s.add_dependency(%q<rspec>, [">= 0"])
|
440
441
|
s.add_dependency(%q<guard-rspec>, [">= 0"])
|
441
442
|
s.add_dependency(%q<ruby-debug19>, [">= 0"])
|
442
|
-
s.add_dependency(%q<spork>, ["
|
443
|
+
s.add_dependency(%q<spork>, ["~> 1.0rc"])
|
443
444
|
s.add_dependency(%q<guard-spork>, [">= 0"])
|
444
445
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
445
|
-
s.add_dependency(%q<rb-inotify>, [">= 0"])
|
446
446
|
s.add_dependency(%q<libnotify>, [">= 0"])
|
447
447
|
end
|
448
448
|
else
|
@@ -458,10 +458,9 @@ Gem::Specification.new do |s|
|
|
458
458
|
s.add_dependency(%q<rspec>, [">= 0"])
|
459
459
|
s.add_dependency(%q<guard-rspec>, [">= 0"])
|
460
460
|
s.add_dependency(%q<ruby-debug19>, [">= 0"])
|
461
|
-
s.add_dependency(%q<spork>, ["
|
461
|
+
s.add_dependency(%q<spork>, ["~> 1.0rc"])
|
462
462
|
s.add_dependency(%q<guard-spork>, [">= 0"])
|
463
463
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
464
|
-
s.add_dependency(%q<rb-inotify>, [">= 0"])
|
465
464
|
s.add_dependency(%q<libnotify>, [">= 0"])
|
466
465
|
end
|
467
466
|
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../spec_helper'
|
2
|
+
include OpenEHR::AssumedLibraryTypes
|
3
|
+
|
4
|
+
describe Timezone do
|
5
|
+
before(:each) do
|
6
|
+
@timezone = Timezone.new('+0930')
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'hour is 9' do
|
10
|
+
@timezone.hour.should be 9
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'minute is 30' do
|
14
|
+
@timezone.minute.should be 30
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'minutes is alias of minute' do
|
18
|
+
@timezone.minutes.should be @timezone.minute
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'hours is alias of hour' do
|
22
|
+
@timezone.hours.should be @timezone.hour
|
23
|
+
end
|
24
|
+
|
25
|
+
it '+0930 as string' do
|
26
|
+
@timezone.to_s.should == '+0930'
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'Z timezone' do
|
30
|
+
before(:each) do
|
31
|
+
@timezone = Timezone.new('Z')
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'hour is 0' do
|
35
|
+
@timezone.hour.should be 0
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'minute is 0' do
|
39
|
+
@timezone.minute.should be 0
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -15,12 +15,12 @@ describe ADLParser do
|
|
15
15
|
|
16
16
|
it 'SNOMED_CT binds local ac0001 to http://terminology.org/?terminology_id=snomed_ct&&has_relation=102002;with_target=128004' do
|
17
17
|
@ao.constraint_binding(:terminology => 'SNOMED_CT', :code => 'ac0001').
|
18
|
-
value.should == 'http://terminology.org
|
18
|
+
value.should == 'http://terminology.org?terminology_id=snomed_ct&&has_relation=102002;with_target=128004'
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'ICD10 binds local ac0001 to http://terminology.org/?terminology_id=icd10&&has_relation=a2;with_target=b19' do
|
22
22
|
@ao.constraint_binding(:terminology => 'ICD10', :code => 'ac0001').
|
23
|
-
value.should == 'http://terminology.org
|
23
|
+
value.should == 'http://terminology.org?terminology_id=icd10&&has_relation=a2;with_target=b19'
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
@@ -6,9 +6,9 @@ include OpenEHR::RM::DataTypes::Quantity::DateTime
|
|
6
6
|
|
7
7
|
describe IntervalEvent do
|
8
8
|
before(:each) do
|
9
|
-
time = DvDateTime.new(:value => '2009-11-12T10:19:
|
9
|
+
time = DvDateTime.new(:value => '2009-11-12T10:19:33Z')
|
10
10
|
state = stub(ItemStructure, :archetype_node_id => 'at0002')
|
11
|
-
origin = DvDateTime.new(:value => '2009-11-11T10:20:
|
11
|
+
origin = DvDateTime.new(:value => '2009-11-11T10:20:40Z')
|
12
12
|
parent = stub(History, :origin => origin)
|
13
13
|
math_function = stub(DvCodedText, :value => 'mean')
|
14
14
|
width = DvDuration.new(:value => 'P0Y2M1W3DT5H7M3S')
|
@@ -38,6 +38,6 @@ describe IntervalEvent do
|
|
38
38
|
end
|
39
39
|
|
40
40
|
it 'should subtract time for interval start time' do
|
41
|
-
@interval_event.interval_start_time.value.should == '2009-09-09T05:12:
|
41
|
+
@interval_event.interval_start_time.value.should == '2009-09-09T05:12:30Z'
|
42
42
|
end
|
43
43
|
end
|
@@ -4,23 +4,23 @@ include OpenEHR::RM::DataTypes::Quantity::DateTime
|
|
4
4
|
|
5
5
|
describe DvDateTime do
|
6
6
|
before(:each) do
|
7
|
-
@dv_date_time = DvDateTime.new(:value => '2009-09-29T15:03:22.
|
7
|
+
@dv_date_time = DvDateTime.new(:value => '2009-09-29T15:03:22.3Z')
|
8
8
|
end
|
9
9
|
|
10
10
|
it 'should be an instance of DvDateTime' do
|
11
11
|
@dv_date_time.should be_an_instance_of DvDateTime
|
12
12
|
end
|
13
13
|
|
14
|
-
it 'magnitude should be
|
14
|
+
it 'magnitude should be 63423697018.3' do
|
15
15
|
@dv_date_time.magnitude.should be_within(0.01).of(63423697018.3)
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'should be equal when magnitude is same' do
|
19
|
-
@dv_date_time.should == DvDateTime.new(:value => '2009-09-29T15:03:22.
|
19
|
+
@dv_date_time.should == DvDateTime.new(:value => '2009-09-29T15:03:22.3Z')
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'diff should be caluculated from past to future' do
|
23
|
-
future = DvDateTime.new(:value => '2009-10-29T16:23:30.
|
23
|
+
future = DvDateTime.new(:value => '2009-10-29T16:23:30.3Z')
|
24
24
|
@dv_date_time.diff(future).value.should == 'P0Y1M0W0DT1H20M8.0S'
|
25
25
|
end
|
26
26
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: open_ehr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-02-27 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: xml-simple
|
17
|
-
requirement: &
|
17
|
+
requirement: &17203946280 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *17203946280
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: activesupport
|
28
|
-
requirement: &
|
28
|
+
requirement: &17203945460 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *17203945460
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: locale
|
39
|
-
requirement: &
|
39
|
+
requirement: &17203944700 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *17203944700
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: builder
|
50
|
-
requirement: &
|
50
|
+
requirement: &17203943860 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *17203943860
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: jeweler
|
61
|
-
requirement: &
|
61
|
+
requirement: &17203942900 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '0'
|
67
67
|
type: :runtime
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *17203942900
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: i18n
|
72
|
-
requirement: &
|
72
|
+
requirement: &17203942160 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: '0'
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *17203942160
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: treetop
|
83
|
-
requirement: &
|
83
|
+
requirement: &17203957580 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ! '>='
|
@@ -88,10 +88,10 @@ dependencies:
|
|
88
88
|
version: '0'
|
89
89
|
type: :runtime
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *17203957580
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: polyglot
|
94
|
-
requirement: &
|
94
|
+
requirement: &17203956680 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
97
|
- - ! '>='
|
@@ -99,10 +99,10 @@ dependencies:
|
|
99
99
|
version: '0'
|
100
100
|
type: :runtime
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *17203956680
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: rdoc
|
105
|
-
requirement: &
|
105
|
+
requirement: &17203955800 !ruby/object:Gem::Requirement
|
106
106
|
none: false
|
107
107
|
requirements:
|
108
108
|
- - ! '>='
|
@@ -110,10 +110,10 @@ dependencies:
|
|
110
110
|
version: '0'
|
111
111
|
type: :runtime
|
112
112
|
prerelease: false
|
113
|
-
version_requirements: *
|
113
|
+
version_requirements: *17203955800
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: rspec
|
116
|
-
requirement: &
|
116
|
+
requirement: &17203955040 !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
119
119
|
- - ! '>='
|
@@ -121,10 +121,10 @@ dependencies:
|
|
121
121
|
version: '0'
|
122
122
|
type: :development
|
123
123
|
prerelease: false
|
124
|
-
version_requirements: *
|
124
|
+
version_requirements: *17203955040
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: guard-rspec
|
127
|
-
requirement: &
|
127
|
+
requirement: &17203954260 !ruby/object:Gem::Requirement
|
128
128
|
none: false
|
129
129
|
requirements:
|
130
130
|
- - ! '>='
|
@@ -132,10 +132,10 @@ dependencies:
|
|
132
132
|
version: '0'
|
133
133
|
type: :development
|
134
134
|
prerelease: false
|
135
|
-
version_requirements: *
|
135
|
+
version_requirements: *17203954260
|
136
136
|
- !ruby/object:Gem::Dependency
|
137
137
|
name: ruby-debug19
|
138
|
-
requirement: &
|
138
|
+
requirement: &17203953480 !ruby/object:Gem::Requirement
|
139
139
|
none: false
|
140
140
|
requirements:
|
141
141
|
- - ! '>='
|
@@ -143,21 +143,21 @@ dependencies:
|
|
143
143
|
version: '0'
|
144
144
|
type: :development
|
145
145
|
prerelease: false
|
146
|
-
version_requirements: *
|
146
|
+
version_requirements: *17203953480
|
147
147
|
- !ruby/object:Gem::Dependency
|
148
148
|
name: spork
|
149
|
-
requirement: &
|
149
|
+
requirement: &17203952580 !ruby/object:Gem::Requirement
|
150
150
|
none: false
|
151
151
|
requirements:
|
152
|
-
- -
|
152
|
+
- - ~>
|
153
153
|
- !ruby/object:Gem::Version
|
154
|
-
version:
|
154
|
+
version: 1.0rc
|
155
155
|
type: :development
|
156
156
|
prerelease: false
|
157
|
-
version_requirements: *
|
157
|
+
version_requirements: *17203952580
|
158
158
|
- !ruby/object:Gem::Dependency
|
159
159
|
name: guard-spork
|
160
|
-
requirement: &
|
160
|
+
requirement: &17203951880 !ruby/object:Gem::Requirement
|
161
161
|
none: false
|
162
162
|
requirements:
|
163
163
|
- - ! '>='
|
@@ -165,21 +165,10 @@ dependencies:
|
|
165
165
|
version: '0'
|
166
166
|
type: :development
|
167
167
|
prerelease: false
|
168
|
-
version_requirements: *
|
168
|
+
version_requirements: *17203951880
|
169
169
|
- !ruby/object:Gem::Dependency
|
170
170
|
name: simplecov
|
171
|
-
requirement: &
|
172
|
-
none: false
|
173
|
-
requirements:
|
174
|
-
- - ! '>='
|
175
|
-
- !ruby/object:Gem::Version
|
176
|
-
version: '0'
|
177
|
-
type: :development
|
178
|
-
prerelease: false
|
179
|
-
version_requirements: *17217873300
|
180
|
-
- !ruby/object:Gem::Dependency
|
181
|
-
name: rb-inotify
|
182
|
-
requirement: &17217872080 !ruby/object:Gem::Requirement
|
171
|
+
requirement: &17203951060 !ruby/object:Gem::Requirement
|
183
172
|
none: false
|
184
173
|
requirements:
|
185
174
|
- - ! '>='
|
@@ -187,10 +176,10 @@ dependencies:
|
|
187
176
|
version: '0'
|
188
177
|
type: :development
|
189
178
|
prerelease: false
|
190
|
-
version_requirements: *
|
179
|
+
version_requirements: *17203951060
|
191
180
|
- !ruby/object:Gem::Dependency
|
192
181
|
name: libnotify
|
193
|
-
requirement: &
|
182
|
+
requirement: &17203950320 !ruby/object:Gem::Requirement
|
194
183
|
none: false
|
195
184
|
requirements:
|
196
185
|
- - ! '>='
|
@@ -198,7 +187,7 @@ dependencies:
|
|
198
187
|
version: '0'
|
199
188
|
type: :development
|
200
189
|
prerelease: false
|
201
|
-
version_requirements: *
|
190
|
+
version_requirements: *17203950320
|
202
191
|
description: This project is an implementation of the openEHR specification on Ruby.
|
203
192
|
email: skoba@moss.gr.jp
|
204
193
|
executables: []
|
@@ -208,6 +197,7 @@ extra_rdoc_files:
|
|
208
197
|
files:
|
209
198
|
- .document
|
210
199
|
- .rspec
|
200
|
+
- .travis.yml
|
211
201
|
- Gemfile
|
212
202
|
- Guardfile
|
213
203
|
- History.txt
|
@@ -333,6 +323,7 @@ files:
|
|
333
323
|
- spec/lib/open_ehr/assumed_library_types/iso8601_time_spec.rb
|
334
324
|
- spec/lib/open_ehr/assumed_library_types/iso8601_timezone_spec.rb
|
335
325
|
- spec/lib/open_ehr/assumed_library_types/time_definitions_spec.rb
|
326
|
+
- spec/lib/open_ehr/assumed_library_types/timezone_spec.rb
|
336
327
|
- spec/lib/open_ehr/parser/adl14/adl-test-ENTRY.assumed_types.v1.adl
|
337
328
|
- spec/lib/open_ehr/parser/adl14/adl-test-ENTRY.basic_types.v1.adl
|
338
329
|
- spec/lib/open_ehr/parser/adl14/adl-test-ENTRY.basic_types_fail.v1.adl
|
@@ -603,7 +594,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
603
594
|
version: '0'
|
604
595
|
segments:
|
605
596
|
- 0
|
606
|
-
hash:
|
597
|
+
hash: 1414376645887693272
|
607
598
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
608
599
|
none: false
|
609
600
|
requirements:
|
@@ -612,7 +603,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
612
603
|
version: '0'
|
613
604
|
requirements: []
|
614
605
|
rubyforge_project:
|
615
|
-
rubygems_version: 1.8.
|
606
|
+
rubygems_version: 1.8.11
|
616
607
|
signing_key:
|
617
608
|
specification_version: 3
|
618
609
|
summary: Ruby implementation of the openEHR specification
|