lib/dolly/property.rb in dolly-0.9.0 vs lib/dolly/property.rb in dolly-1.0.0
- old
+ new
@@ -2,13 +2,16 @@
class Property
attr_writer :value
attr_accessor :name
attr_reader :class_name, :default
+ CANT_CLONE = [NilClass, TrueClass, FalseClass, Fixnum].freeze
+
def initialize opts = {}
@class_name = opts.delete(:class_name) if opts.present?
@name = opts.delete(:name).to_s
@default = opts.delete(:default)
+ @default = @default.clone if @default && CANT_CLONE.none? { |klass| @default.is_a? klass }
@value = @default if @default
warn 'There are some unprocessed options!' if opts.present?
end
def value