Sha256: 443da44fa2d5c690de37979de253fe13289e4aeebcae017f70cd522df849a74b
Contents?: true
Size: 1004 Bytes
Versions: 3
Compression:
Stored size: 1004 Bytes
Contents
define 'value_objects/phone', -> # TODO locales support class @Phone constructor: (@area_code, @number) -> {@area_code, @number} = @area_code if typeof @area_code == 'object' # TODO parse argument types to validate value object domain # constraints unless @number @number = @area_code @area_code = null # TODO add as requirement observable shim! Object.defineProperty @, 'valid', get: @validate # TODO move type validation to indemma files validate: -> @area_code && @number toString: -> striped_number = @number.replace /\-/g, '' if striped_number if striped_number.length > 4 formatted_number = striped_number.substr(0, 4) + '-' + striped_number.substr(4) else formatted_number = striped_number if @area_code? "(#{@area_code}) #{formatted_number}" else formatted_number or '' toJSON: -> area_code: @area_code number: @number
Version data entries
3 entries across 3 versions & 1 rubygems