class Frodo::Properties::String
Public Instance Methods
default_value()
click to toggle source
The default value for the property
# File lib/frodo/properties/string.rb, line 44 def default_value options[:default_value] end
has_default_value?()
click to toggle source
Does the property have a default value
# File lib/frodo/properties/string.rb, line 39 def has_default_value? not(options[:default_value].nil?) end
is_unicode?()
click to toggle source
Is the property value Unicode encoded
# File lib/frodo/properties/string.rb, line 34 def is_unicode? options[:unicode] end
type()
click to toggle source
The Frodo
type name
# File lib/frodo/properties/string.rb, line 29 def type 'Edm.String' end
url_value()
click to toggle source
Value to be used in URLs. @return [String]
# File lib/frodo/properties/string.rb, line 24 def url_value "'#{value}'" end
value()
click to toggle source
Returns the property value, properly typecast @return [String,nil]
# File lib/frodo/properties/string.rb, line 7 def value if (@value.nil? || @value.empty?) && allows_nil? nil else encode_value(@value) end end
value=(new_value)
click to toggle source
Sets the property value @params new_value [to_s,nil]
# File lib/frodo/properties/string.rb, line 17 def value=(new_value) validate(new_value) @value = new_value.nil? ? nil : encode_value(new_value.to_s) end
Private Instance Methods
default_options()
click to toggle source
Calls superclass method
Frodo::Property#default_options
# File lib/frodo/properties/string.rb, line 50 def default_options super.merge({ unicode: true, default_value: nil }) end
encode_value(new_value)
click to toggle source
# File lib/frodo/properties/string.rb, line 63 def encode_value(new_value) if options[:unicode] new_value.encode(Encoding::UTF_8) else new_value.encode(Encoding::ASCII) end end
validate(new_value)
click to toggle source
# File lib/frodo/properties/string.rb, line 57 def validate(new_value) if new_value.nil? && !allows_nil? validation_error 'This property does not allow for nil values to be set' end end