Last change
on this file since 269 was 104, checked in by KOBAYASHI, Shinji, 16 years ago |
fixed #46
refs #62, #65, #50
arranged structure of test_reference_model.rb
divided test classes
|
File size:
1.6 KB
|
Rev | Line | |
---|
[104] | 1 | # This module is implemented from this UML:
|
---|
| 2 | #http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109701308832_384250_6986Report.html
|
---|
| 3 | # Ticket refs #46
|
---|
| 4 |
|
---|
[4] | 5 | require 'uri'
|
---|
| 6 | #require 'uri/generic'
|
---|
| 7 | module URI
|
---|
| 8 | class EHR < ::URI::Generic
|
---|
| 9 | COMPONENT = [
|
---|
| 10 | :scheme, :path, :fragment, :query
|
---|
| 11 | ].freeze
|
---|
| 12 | def self.build(args)
|
---|
| 13 | tmp = Util::make_components_hash(self, args)
|
---|
| 14 | super(tmp)
|
---|
| 15 | end
|
---|
| 16 | def initialize(*arg)
|
---|
| 17 | super(*arg)
|
---|
| 18 | end
|
---|
| 19 | def self.use_registry
|
---|
| 20 | true
|
---|
| 21 | end
|
---|
| 22 | end
|
---|
| 23 | @@schemes['EHR'] = EHR
|
---|
| 24 | end
|
---|
[104] | 25 |
|
---|
[4] | 26 | module OpenEHR
|
---|
| 27 | module RM
|
---|
| 28 | module Data_Types
|
---|
| 29 | module URI
|
---|
| 30 | class DV_URI < OpenEHR::RM::Data_Types::Basic::Data_Value
|
---|
| 31 | def initialize(value)
|
---|
[103] | 32 | self.value = value
|
---|
[4] | 33 | end
|
---|
| 34 | def fragment_id
|
---|
| 35 | @value.fragment
|
---|
| 36 | end
|
---|
| 37 | def path
|
---|
| 38 | @value.path
|
---|
| 39 | end
|
---|
| 40 | def query
|
---|
| 41 | @value.query
|
---|
| 42 | end
|
---|
| 43 | def scheme
|
---|
| 44 | @value.scheme
|
---|
| 45 | end
|
---|
| 46 | def value=(value)
|
---|
[103] | 47 | raise ArgumentError, "value is empty" if value.nil?
|
---|
[4] | 48 | parse(value)
|
---|
| 49 | end
|
---|
| 50 | def value
|
---|
| 51 | @value.to_s
|
---|
| 52 | end
|
---|
| 53 | private
|
---|
| 54 | def parse(value)
|
---|
| 55 | @value = ::URI.parse(value)
|
---|
| 56 | end
|
---|
| 57 | end
|
---|
[104] | 58 |
|
---|
[4] | 59 | class DV_EHR_URI < DV_URI
|
---|
| 60 | def initialize(value)
|
---|
| 61 | super(value)
|
---|
| 62 | end
|
---|
| 63 | def value=(value)
|
---|
[103] | 64 | raise ArgumentError, "scheme must be ehr" if !(value =~ /^ehr/i)
|
---|
[4] | 65 | parse(value)
|
---|
| 66 | end
|
---|
| 67 | end # of DV_EHR_URI
|
---|
| 68 | end # of URI
|
---|
| 69 | end # of Data_Type
|
---|
| 70 | end # of RM
|
---|
| 71 | end # of OpenEHR
|
---|
Note:
See
TracBrowser
for help on using the repository browser.