mirror of
https://github.com/JuanCanham/HackMyResume.git
synced 2025-09-10 16:31:58 +01:00
refactor: remove AbstractResume base class
(1) AbstractResume adds complexity without contributing utility. There's not really a clean "class" abstraction in JavaScript to begin with; CoffeeScript classes, as nice as they are syntactically, occlude the issue even further. (2) AbstractResume currently functions as a container for exactly two functions which arguably should live outside the resume class anyway.
This commit is contained in:
@@ -14,7 +14,6 @@ PATH = require('path')
|
||||
MD = require('marked')
|
||||
CONVERTER = require('fresh-jrs-converter')
|
||||
moment = require('moment')
|
||||
AbstractResume = require('./abstract-resume')
|
||||
|
||||
|
||||
###*
|
||||
@@ -22,7 +21,7 @@ A JRS resume or CV. JRS resumes are backed by JSON, and each JRSResume object
|
||||
is an instantiation of that JSON decorated with utility methods.
|
||||
@class JRSResume
|
||||
###
|
||||
class JRSResume extends AbstractResume
|
||||
class JRSResume# extends AbstractResume
|
||||
|
||||
|
||||
|
||||
@@ -49,8 +48,9 @@ class JRSResume extends AbstractResume
|
||||
parseJSON: ( rep, opts ) ->
|
||||
opts = opts || { };
|
||||
if opts.privatize
|
||||
scrubber = require '../utils/resume-scrubber'
|
||||
# Ignore any element with the 'ignore: true' or 'private: true' designator.
|
||||
{ scrubbed, ignoreList, privateList } = @scrubResume rep, opts
|
||||
{ scrubbed, ignoreList, privateList } = scrubber.scrubResume rep, opts
|
||||
|
||||
# Extend resume properties onto ourself.
|
||||
extend true, this, if opts.privatize then scrubbed else rep
|
||||
@@ -188,7 +188,8 @@ class JRSResume extends AbstractResume
|
||||
|
||||
|
||||
duration: (unit) ->
|
||||
super('work', 'startDate', 'endDate', unit)
|
||||
inspector = require '../inspectors/duration-inspector';
|
||||
inspector.run @, 'work', 'startDate', 'endDate', unit
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user