Changeset 343
- Timestamp:
- Nov 12, 2009, 1:43:18 PM (14 years ago)
- Location:
- ruby/branches/0.5
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/branches/0.5/lib/open_ehr/assumed_library_types.rb
r289 r343 583 583 self.minutes = $13.to_i 584 584 self.seconds = $15.to_i 585 self.fractional_second = $16.to_f 585 unless $16.nil? 586 self.fractional_second = $16.to_f 587 end 586 588 end 587 589 end # end of ISO8601Duration -
ruby/branches/0.5/lib/open_ehr/rm/data_structures/history.rb
r342 r343 4 4 # refs #55 5 5 include OpenEHR::RM::DataStructures 6 include OpenEHR::RM::Common::Archetyped 6 7 7 8 module OpenEHR … … 39 40 end 40 41 41 class Event 42 class Event < Locatable 43 attr_reader :data, :time 44 attr_accessor :state 45 46 def initialize(args = { }) 47 super(args) 48 self.data = args[:data] 49 self.time = args[:time] 50 self.state = args[:state] 51 end 52 53 def data=(data) 54 raise ArgumentError, 'data is mandatory' if data.nil? 55 @data = data 56 end 57 58 def time=(time) 59 raise ArgumentError, 'time is mandatory' if time.nil? 60 @time = time 61 end 62 63 def offset 64 return @time.diff(@parent.origin) 65 end 42 66 end 43 67 end # end of History -
ruby/branches/0.5/lib/open_ehr/rm/data_types/quantity/date_time.rb
r342 r343 100 100 101 101 def magnitude 102 return @hour * 60 * 60 + @minute * 60 + @second + @fractional_second 102 if @fractional_second.nil? 103 return @hour * 60 * 60 + @minute * 60 + @second 104 else 105 return @hour * 60 * 60 + @minute * 60 + @second + @fractional_second 106 end 103 107 end 104 108 … … 109 113 second = (diff - hour * 60 *60 - minute * 60).to_i 110 114 fractional_second = ((diff - diff.to_i)*1000000.0).to_i/1000000.0 111 return DvDuration.new(:value => 112 'P0Y0M0W0DT' + hour.to_s + 'H' + 113 minute.to_s + 'M' + 114 second.to_s + fractional_second.to_s[1..-1] + 'S') 115 str = 'P0Y0M0W0DT' + hour.to_s + 'H' + 116 minute.to_s + 'M' + second.to_s 117 if @fractional_second.nil? 118 str += 'S' 119 else 120 str += fractional_second.to_s[1..-1] + 'S' 121 end 122 return DvDuration.new(:value => str) 115 123 end 116 124 end … … 161 169 minute = ((time_diff - hour*60*60)/60).to_i 162 170 second = (time_diff - hour * 60 *60 - minute * 60).to_i 163 fractional_second = 164 ((time_diff - time_diff.to_i)*1000000.0).to_i/1000000.0 165 return DvDuration.new(:value => 166 date_duration.value + 'T' + 167 hour.to_s + 'H' + 168 minute.to_s + 'M' + 169 second.to_s + fractional_second.to_s[1..-1] + 'S') 171 str = date_duration.value + 'T' + hour.to_s + 'H' + 172 minute.to_s + 'M' + second.to_s 173 if @fractional_second.nil? 174 return DvDuration.new(:value => str +'S') 175 else 176 fractional_second = 177 ((time_diff - time_diff.to_i)*1000000.0).to_i/1000000.0 178 return DvDuration.new(:value => str + 179 fractional_second.to_s[1..-1] + 'S') 180 end 170 181 end 171 182 … … 174 185 def split_date_time(date_time) 175 186 /^(.*)T(.*)$/ =~ date_time.as_string 176 return DvDate.new( $1), DvTime.new($2)187 return DvDate.new(:value => $1), DvTime.new(:value => $2) 177 188 end 178 189 end -
ruby/branches/0.5/spec/lib/open_ehr/rm/data_structures/history/history_spec.rb
r342 r343 4 4 include OpenEHR::RM::DataTypes::Text 5 5 include OpenEHR::RM::DataTypes::Quantity::DateTime 6 6 7 describe History do 7 8 before(:each) do -
ruby/branches/0.5/spec/lib/open_ehr/rm/data_types/quantity/date_time/dv_date_time_spec.rb
r335 r343 18 18 @dv_date_time.should == DvDateTime.new(:value => '2009-09-29T15:03:22.3') 19 19 end 20 21 it 'diff should be caluculated from past to future' do 22 future = DvDateTime.new(:value => '2009-10-29T16:23:30.3') 23 @dv_date_time.diff(future).value.should == 'P0Y1M0W0DT1H20M8.0S' 24 end 20 25 end
Note:
See TracChangeset
for help on using the changeset viewer.