module Is::Stateful::Copy

Adding core-copy as a dependency of core-state creates a recursive dependency, so just bundle it.

Constants

DEFAULT

Public Instance Methods

copy(freeze: DEFAULT) click to toggle source
# File lib/is/stateful.rb, line 19
def copy(freeze: DEFAULT)
  should_freeze = resolve_freeze_argument(freeze)

  value = clone(freeze: should_freeze)
  value.freeze if should_freeze
  value
end
resolve_freeze_argument(value) click to toggle source
# File lib/is/stateful.rb, line 32
        def resolve_freeze_argument(value)
  case value
  when DEFAULT
    frozen?
  else
    !!value
  end
end