Class: TaliaCore::PropertyString
- Defined in:
- lib/talia_core/property_string.rb
Overview
Handling of RDF string values. These values can contain both locale (language) and type information. (E.g. “Some value^^string@en”)
This class will parse the value string an make all elements available as separate accessors.
Instance Attribute Summary collapse
-
#lang ⇒ Object
Returns the value of attribute lang.
-
#type ⇒ Object
Returns the value of attribute type.
Class Method Summary collapse
-
.parse(property_string) ⇒ Object
Create a new object by parsing the given property string.
Instance Method Summary collapse
-
#initialize(property_string = '', language = nil, type = nil) ⇒ PropertyString
constructor
Create a new object from the given values.
-
#inspect ⇒ Object
Inspect shows the real content.
-
#parse(property_string) ⇒ Object
Parses the given string into a PropertyString.
-
#to_rdf ⇒ Object
Gives the “internal representation” - this should be equivalent to the string from which the object was created.
Methods inherited from String
#no?, #to_permalink, #to_uri, #yes?
Constructor Details
#initialize(property_string = '', language = nil, type = nil) ⇒ PropertyString
Create a new object from the given values. No parsing is done here.
18 19 20 21 22 |
# File 'lib/talia_core/property_string.rb', line 18 def initialize(property_string = '', language = nil, type = nil) @lang = language @type = type self.replace(property_string) end |
Instance Attribute Details
#lang ⇒ Object
Returns the value of attribute lang.
10 11 12 |
# File 'lib/talia_core/property_string.rb', line 10 def lang @lang end |
#type ⇒ Object
Returns the value of attribute type.
10 11 12 |
# File 'lib/talia_core/property_string.rb', line 10 def type @type end |
Class Method Details
.parse(property_string) ⇒ Object
Create a new object by parsing the given property string
13 14 15 |
# File 'lib/talia_core/property_string.rb', line 13 def self.parse(property_string) self.new.parse(property_string) end |
Instance Method Details
#inspect ⇒ Object
Inspect shows the real content
44 45 46 |
# File 'lib/talia_core/property_string.rb', line 44 def inspect "\"#{self}\" <lang: #{lang.inspect} - type: #{type.inspect}>" end |
#parse(property_string) ⇒ Object
Parses the given string into a PropertyString
25 26 27 28 29 30 31 32 |
# File 'lib/talia_core/property_string.rb', line 25 def parse(property_string) # First split for the type type_split = property_string.split('^^') # Check if any of the elements contains a language string type_split = type_split.collect { |el| extract_lang(el) } @type = (type_split.size > 1) ? type_split.last : nil self.replace(type_split.first || '') end |
#to_rdf ⇒ Object
Gives the “internal representation” - this should be equivalent to the string from which the object was created
36 37 38 39 40 41 |
# File 'lib/talia_core/property_string.rb', line 36 def to_rdf value = self.clone value << '^^' << type if(type) value << '@' << lang if(lang) value end |