class Fable::ListValue
Public Class Methods
new(single_item=nil, single_value=nil)
click to toggle source
Calls superclass method
Fable::Value::new
# File lib/fable/value.rb, line 305 def initialize(single_item=nil, single_value=nil) if single_item.nil? && single_value.nil? super(InkList.new) elsif single_item.is_a?(InkList) super(InkList.copy_list(single_item)) else super(InkList.new_with_single_item(single_item, single_value)) end end
retain_list_origins_for_assignment(old_value, new_value)
click to toggle source
# File lib/fable/value.rb, line 315 def self.retain_list_origins_for_assignment(old_value, new_value) # When assigning the empty list, try to retain any initial origin names if (old_value.is_a?(ListValue) && new_value.is_a?(ListValue) && new_value.value.list.size == 0) new_value.value.set_initial_origin_names(old_value.value.origin_names) end end
Public Instance Methods
cast(new_type)
click to toggle source
# File lib/fable/value.rb, line 270 def cast(new_type) if new_type == IntValue max = value.max_item if max.nil? return IntValue.new(0) else return IntValue.new(max) end end if new_type == FloatValue max = value.max_item if max.nil? return FloatValue.new(0.0) else return FloatValue.new(max) end end if new_type == StringValue max = value.max_item if max.nil? return StringValue.new("") else return StringValue.new(max) end end if new_type == self.class return self end raise bad_cast_exception(new_type) end
truthy?()
click to toggle source
# File lib/fable/value.rb, line 266 def truthy? return value.count > 0 end
value_type()
click to toggle source
# File lib/fable/value.rb, line 262 def value_type return OrderedValueTypes[ListValue] end