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