vendor/assets/javascripts/handlebars.js

Summary

Maintainability
F
2 mos
Test Coverage

Function Handlebars has a Cognitive Complexity of 941 (exceeds 5 allowed). Consider refactoring.
Open

var Handlebars = (function() {
// handlebars/safe-string.js
var __module4__ = (function() {
  "use strict";
  var __exports__;
Severity: Minor
Found in vendor/assets/javascripts/handlebars.js - About 2 wks to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function Handlebars has 2057 lines of code (exceeds 25 allowed). Consider refactoring.
Open

var Handlebars = (function() {
// handlebars/safe-string.js
var __module4__ = (function() {
  "use strict";
  var __exports__;
Severity: Major
Found in vendor/assets/javascripts/handlebars.js - About 1 wk to fix

    File handlebars.js has 2059 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    /*!
    
     handlebars v1.3.0
    
    Copyright (C) 2011 by Yehuda Katz
    Severity: Major
    Found in vendor/assets/javascripts/handlebars.js - About 5 days to fix

      Function __module11__ has 609 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      var __module11__ = (function(__dependency1__, __dependency2__) {
        "use strict";
        var __exports__;
        var COMPILER_REVISION = __dependency1__.COMPILER_REVISION;
        var REVISION_CHANGES = __dependency1__.REVISION_CHANGES;
      Severity: Major
      Found in vendor/assets/javascripts/handlebars.js - About 3 days to fix

        Function __module9__ has 468 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        var __module9__ = (function() {
          "use strict";
          var __exports__;
          /* jshint ignore:start */
          /* Jison generated parser */
        Severity: Major
        Found in vendor/assets/javascripts/handlebars.js - About 2 days to fix

          Function handlebars has 464 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

            var handlebars = (function(){
            var parser = {trace: function trace() { },
            yy: {},
            symbols_: {"error":2,"root":3,"statements":4,"EOF":5,"program":6,"simpleInverse":7,"statement":8,"openInverse":9,"closeBlock":10,"openBlock":11,"mustache":12,"partial":13,"CONTENT":14,"COMMENT":15,"OPEN_BLOCK":16,"sexpr":17,"CLOSE":18,"OPEN_INVERSE":19,"OPEN_ENDBLOCK":20,"path":21,"OPEN":22,"OPEN_UNESCAPED":23,"CLOSE_UNESCAPED":24,"OPEN_PARTIAL":25,"partialName":26,"partial_option0":27,"sexpr_repetition0":28,"sexpr_option0":29,"dataName":30,"param":31,"STRING":32,"INTEGER":33,"BOOLEAN":34,"OPEN_SEXPR":35,"CLOSE_SEXPR":36,"hash":37,"hash_repetition_plus0":38,"hashSegment":39,"ID":40,"EQUALS":41,"DATA":42,"pathSegments":43,"SEP":44,"$accept":0,"$end":1},
            terminals_: {2:"error",5:"EOF",14:"CONTENT",15:"COMMENT",16:"OPEN_BLOCK",18:"CLOSE",19:"OPEN_INVERSE",20:"OPEN_ENDBLOCK",22:"OPEN",23:"OPEN_UNESCAPED",24:"CLOSE_UNESCAPED",25:"OPEN_PARTIAL",32:"STRING",33:"INTEGER",34:"BOOLEAN",35:"OPEN_SEXPR",36:"CLOSE_SEXPR",40:"ID",41:"EQUALS",42:"DATA",44:"SEP"},
          Severity: Major
          Found in vendor/assets/javascripts/handlebars.js - About 2 days to fix

            Function __module10__ has 358 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

            var __module10__ = (function(__dependency1__) {
              "use strict";
              var __exports__ = {};
              var Exception = __dependency1__;
            
            
            Severity: Major
            Found in vendor/assets/javascripts/handlebars.js - About 1 day to fix

              Function lexer has 247 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                var lexer = (function(){
                var lexer = ({EOF:1,
                parseError:function parseError(str, hash) {
                        if (this.yy.parser) {
                            this.yy.parser.parseError(str, hash);
              Severity: Major
              Found in vendor/assets/javascripts/handlebars.js - About 1 day to fix

                Function __module7__ has 174 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                var __module7__ = (function(__dependency1__) {
                  "use strict";
                  var __exports__;
                  var Exception = __dependency1__;
                
                
                Severity: Major
                Found in vendor/assets/javascripts/handlebars.js - About 6 hrs to fix

                  Function __module2__ has 149 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                  var __module2__ = (function(__dependency1__, __dependency2__) {
                    "use strict";
                    var __exports__ = {};
                    var Utils = __dependency1__;
                    var Exception = __dependency2__;
                  Severity: Major
                  Found in vendor/assets/javascripts/handlebars.js - About 5 hrs to fix

                    Function __module6__ has 112 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                    var __module6__ = (function(__dependency1__, __dependency2__, __dependency3__) {
                      "use strict";
                      var __exports__ = {};
                      var Utils = __dependency1__;
                      var Exception = __dependency2__;
                    Severity: Major
                    Found in vendor/assets/javascripts/handlebars.js - About 4 hrs to fix

                      Function parse has 101 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                        parse: function parse(input) {
                            var self = this, stack = [0], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
                            this.lexer.setInput(input);
                            this.lexer.yy = this.yy;
                            this.yy.lexer = this.lexer;
                      Severity: Major
                      Found in vendor/assets/javascripts/handlebars.js - About 4 hrs to fix

                        Function anonymous has 91 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                          performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) {
                        
                          var $0 = $$.length - 1;
                          switch (yystate) {
                          case 1: return new yy.ProgramNode($$[$0-1], this._$); 
                        Severity: Major
                        Found in vendor/assets/javascripts/handlebars.js - About 3 hrs to fix

                          Function anonymous has 84 lines of code (exceeds 25 allowed). Consider refactoring.
                          Open

                            lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) {
                          
                          
                            function strip(start, end) {
                              return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng-end);
                          Severity: Major
                          Found in vendor/assets/javascripts/handlebars.js - About 3 hrs to fix

                            Function registerDefaultHelpers has 79 lines of code (exceeds 25 allowed). Consider refactoring.
                            Open

                              function registerDefaultHelpers(instance) {
                                instance.registerHelper('helperMissing', function(arg) {
                                  if(arguments.length === 2) {
                                    return undefined;
                                  } else {
                            Severity: Major
                            Found in vendor/assets/javascripts/handlebars.js - About 3 hrs to fix

                              Function template has 60 lines of code (exceeds 25 allowed). Consider refactoring.
                              Open

                                function template(templateSpec, env) {
                                  if (!env) {
                                    throw new Exception("No environment passed to template");
                                  }
                              
                              
                              Severity: Major
                              Found in vendor/assets/javascripts/handlebars.js - About 2 hrs to fix

                                Function __module3__ has 59 lines of code (exceeds 25 allowed). Consider refactoring.
                                Open

                                var __module3__ = (function(__dependency1__) {
                                  "use strict";
                                  var __exports__ = {};
                                  /*jshint -W004 */
                                  var SafeString = __dependency1__;
                                Severity: Major
                                Found in vendor/assets/javascripts/handlebars.js - About 2 hrs to fix

                                  Function next has 50 lines of code (exceeds 25 allowed). Consider refactoring.
                                  Open

                                    next:function () {
                                            if (this.done) {
                                                return this.EOF;
                                            }
                                            if (!this._input) this.done = true;
                                  Severity: Minor
                                  Found in vendor/assets/javascripts/handlebars.js - About 2 hrs to fix

                                    Function compile has 36 lines of code (exceeds 25 allowed). Consider refactoring.
                                    Open

                                        compile: function(environment, options, context, asObject) {
                                          this.environment = environment;
                                          this.options = options || {};
                                    
                                          log('debug', this.environment.disassemble() + "\n\n");
                                    Severity: Minor
                                    Found in vendor/assets/javascripts/handlebars.js - About 1 hr to fix

                                      Function setupOptions has 36 lines of code (exceeds 25 allowed). Consider refactoring.
                                      Open

                                          setupOptions: function(paramSize, params) {
                                            var options = [], contexts = [], types = [], param, inverse, program;
                                      
                                            options.push("hash:" + this.popStack());
                                      
                                      
                                      Severity: Minor
                                      Found in vendor/assets/javascripts/handlebars.js - About 1 hr to fix

                                        Function createFunctionContext has 36 lines of code (exceeds 25 allowed). Consider refactoring.
                                        Open

                                            createFunctionContext: function(asObject) {
                                              var locals = this.stackVars.concat(this.registers.list);
                                        
                                              if(locals.length > 0) {
                                                this.source[1] = this.source[1] + ", " + locals.join(", ");
                                        Severity: Minor
                                        Found in vendor/assets/javascripts/handlebars.js - About 1 hr to fix

                                          Function replaceStack has 35 lines of code (exceeds 25 allowed). Consider refactoring.
                                          Open

                                              replaceStack: function(callback) {
                                                var prefix = '',
                                                    inline = this.isInline(),
                                                    stack,
                                                    createdStack,
                                          Severity: Minor
                                          Found in vendor/assets/javascripts/handlebars.js - About 1 hr to fix

                                            Function __module0__ has 29 lines of code (exceeds 25 allowed). Consider refactoring.
                                            Open

                                            var __module0__ = (function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__) {
                                              "use strict";
                                              var __exports__;
                                              /*globals Handlebars: true */
                                              var Handlebars = __dependency1__;
                                            Severity: Minor
                                            Found in vendor/assets/javascripts/handlebars.js - About 1 hr to fix

                                              Function ProgramNode has 29 lines of code (exceeds 25 allowed). Consider refactoring.
                                              Open

                                                  ProgramNode: function(statements, inverseStrip, inverse, locInfo) {
                                                    var inverseLocationInfo, firstInverseNode;
                                                    if (arguments.length === 3) {
                                                      locInfo = inverse;
                                                      inverse = null;
                                              Severity: Minor
                                              Found in vendor/assets/javascripts/handlebars.js - About 1 hr to fix

                                                Function block has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                                                Open

                                                    block: function(block) {
                                                      var mustache = block.mustache,
                                                          program = block.program,
                                                          inverse = block.inverse;
                                                
                                                
                                                Severity: Minor
                                                Found in vendor/assets/javascripts/handlebars.js - About 1 hr to fix

                                                  Function equals has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                                                  Open

                                                      equals: function(other) {
                                                        var len = this.opcodes.length;
                                                        if (other.opcodes.length !== len) {
                                                          return false;
                                                        }
                                                  Severity: Minor
                                                  Found in vendor/assets/javascripts/handlebars.js - About 1 hr to fix

                                                    Function IdNode has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                                                    Open

                                                        IdNode: function(parts, locInfo) {
                                                          LocationInfo.call(this, locInfo);
                                                          this.type = "ID";
                                                    
                                                          var original = "",
                                                    Severity: Minor
                                                    Found in vendor/assets/javascripts/handlebars.js - About 1 hr to fix

                                                      Function performAction has 7 arguments (exceeds 4 allowed). Consider refactoring.
                                                      Open

                                                        performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) {
                                                      Severity: Major
                                                      Found in vendor/assets/javascripts/handlebars.js - About 50 mins to fix

                                                        Avoid deeply nested control flow statements.
                                                        Open

                                                                      if(data) { 
                                                                        data.key = key; 
                                                                        data.index = i;
                                                                        data.first = (i === 0);
                                                                      }
                                                        Severity: Major
                                                        Found in vendor/assets/javascripts/handlebars.js - About 45 mins to fix

                                                          Function invokePartial has 6 arguments (exceeds 4 allowed). Consider refactoring.
                                                          Open

                                                            __exports__.program = program;function invokePartial(partial, name, context, helpers, partials, data) {
                                                          Severity: Minor
                                                          Found in vendor/assets/javascripts/handlebars.js - About 45 mins to fix

                                                            Function invokePartialWrapper has 6 arguments (exceeds 4 allowed). Consider refactoring.
                                                            Open

                                                                var invokePartialWrapper = function(partial, name, context, helpers, partials, data) {
                                                            Severity: Minor
                                                            Found in vendor/assets/javascripts/handlebars.js - About 45 mins to fix

                                                              Avoid deeply nested control flow statements.
                                                              Open

                                                                                    if (this.terminals_[p] && p > 2) {
                                                                                        expected.push("'" + this.terminals_[p] + "'");
                                                                                    }
                                                              Severity: Major
                                                              Found in vendor/assets/javascripts/handlebars.js - About 45 mins to fix

                                                                Function BlockNode has 5 arguments (exceeds 4 allowed). Consider refactoring.
                                                                Open

                                                                    BlockNode: function(mustache, program, inverse, close, locInfo) {
                                                                Severity: Minor
                                                                Found in vendor/assets/javascripts/handlebars.js - About 35 mins to fix

                                                                  Function __module0__ has 5 arguments (exceeds 4 allowed). Consider refactoring.
                                                                  Open

                                                                  var __module0__ = (function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__) {
                                                                  Severity: Minor
                                                                  Found in vendor/assets/javascripts/handlebars.js - About 35 mins to fix

                                                                    Function __module1__ has 5 arguments (exceeds 4 allowed). Consider refactoring.
                                                                    Open

                                                                    var __module1__ = (function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__) {
                                                                    Severity: Minor
                                                                    Found in vendor/assets/javascripts/handlebars.js - About 35 mins to fix

                                                                      Function MustacheNode has 5 arguments (exceeds 4 allowed). Consider refactoring.
                                                                      Open

                                                                          MustacheNode: function(rawParams, hash, open, strip, locInfo) {
                                                                      Severity: Minor
                                                                      Found in vendor/assets/javascripts/handlebars.js - About 35 mins to fix

                                                                        Avoid too many return statements within this function.
                                                                        Open

                                                                          case 23:yy_.yytext = strip(1,2).replace(/\\"/g,'"'); return 32;
                                                                        Severity: Major
                                                                        Found in vendor/assets/javascripts/handlebars.js - About 30 mins to fix

                                                                          Avoid too many return statements within this function.
                                                                          Open

                                                                                    return false;
                                                                          Severity: Major
                                                                          Found in vendor/assets/javascripts/handlebars.js - About 30 mins to fix

                                                                            Avoid too many return statements within this function.
                                                                            Open

                                                                              case 22:this.popState(); return 18;
                                                                            Severity: Major
                                                                            Found in vendor/assets/javascripts/handlebars.js - About 30 mins to fix

                                                                              Avoid too many return statements within this function.
                                                                              Open

                                                                                case 24:yy_.yytext = strip(1,2).replace(/\\'/g,"'"); return 32;
                                                                              Severity: Major
                                                                              Found in vendor/assets/javascripts/handlebars.js - About 30 mins to fix

                                                                                Avoid too many return statements within this function.
                                                                                Open

                                                                                        return fn(context);
                                                                                Severity: Major
                                                                                Found in vendor/assets/javascripts/handlebars.js - About 30 mins to fix

                                                                                  Avoid too many return statements within this function.
                                                                                  Open

                                                                                        return true;
                                                                                  Severity: Major
                                                                                  Found in vendor/assets/javascripts/handlebars.js - About 30 mins to fix

                                                                                    Avoid too many return statements within this function.
                                                                                    Open

                                                                                                  return this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(),
                                                                                                          {text: "", token: null, line: this.yylineno});
                                                                                    Severity: Major
                                                                                    Found in vendor/assets/javascripts/handlebars.js - About 30 mins to fix

                                                                                      Avoid too many return statements within this function.
                                                                                      Open

                                                                                        case 21:this.popState(); return 24;
                                                                                      Severity: Major
                                                                                      Found in vendor/assets/javascripts/handlebars.js - About 30 mins to fix

                                                                                        Avoid too many return statements within this function.
                                                                                        Open

                                                                                          case 30:yy_.yytext = strip(1,2); return 40;
                                                                                        Severity: Major
                                                                                        Found in vendor/assets/javascripts/handlebars.js - About 30 mins to fix

                                                                                          Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                          Open

                                                                                                  if (this.options.stringParams) {
                                                                                                    if(val.depth) {
                                                                                                      this.addDepth(val.depth);
                                                                                                    }
                                                                                                    this.opcode('getContext', val.depth || 0);
                                                                                          Severity: Major
                                                                                          Found in vendor/assets/javascripts/handlebars.js and 1 other location - About 3 hrs to fix
                                                                                          vendor/assets/javascripts/handlebars.js on lines 1670..1685

                                                                                          Duplicated Code

                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                          Tuning

                                                                                          This issue has a mass of 100.

                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                          Refactorings

                                                                                          Further Reading

                                                                                          Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                          Open

                                                                                                  if(this.options.stringParams) {
                                                                                                    if(param.depth) {
                                                                                                      this.addDepth(param.depth);
                                                                                                    }
                                                                                          
                                                                                          
                                                                                          Severity: Major
                                                                                          Found in vendor/assets/javascripts/handlebars.js and 1 other location - About 3 hrs to fix
                                                                                          vendor/assets/javascripts/handlebars.js on lines 1478..1492

                                                                                          Duplicated Code

                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                          Tuning

                                                                                          This issue has a mass of 100.

                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                          Refactorings

                                                                                          Further Reading

                                                                                          Similar blocks of code found in 20 locations. Consider refactoring.
                                                                                          Open

                                                                                            table: [{3:1,4:2,5:[1,3],8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],25:[1,15]},{1:[3]},{5:[1,16],8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],25:[1,15]},{1:[2,2]},{5:[2,9],14:[2,9],15:[2,9],16:[2,9],19:[2,9],20:[2,9],22:[2,9],23:[2,9],25:[2,9]},{4:20,6:18,7:19,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,8],22:[1,13],23:[1,14],25:[1,15]},{4:20,6:22,7:19,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,8],22:[1,13],23:[1,14],25:[1,15]},{5:[2,13],14:[2,13],15:[2,13],16:[2,13],19:[2,13],20:[2,13],22:[2,13],23:[2,13],25:[2,13]},{5:[2,14],14:[2,14],15:[2,14],16:[2,14],19:[2,14],20:[2,14],22:[2,14],23:[2,14],25:[2,14]},{5:[2,15],14:[2,15],15:[2,15],16:[2,15],19:[2,15],20:[2,15],22:[2,15],23:[2,15],25:[2,15]},{5:[2,16],14:[2,16],15:[2,16],16:[2,16],19:[2,16],20:[2,16],22:[2,16],23:[2,16],25:[2,16]},{17:23,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:29,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:30,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:31,21:24,30:25,40:[1,28],42:[1,27],43:26},{21:33,26:32,32:[1,34],33:[1,35],40:[1,28],43:26},{1:[2,1]},{5:[2,10],14:[2,10],15:[2,10],16:[2,10],19:[2,10],20:[2,10],22:[2,10],23:[2,10],25:[2,10]},{10:36,20:[1,37]},{4:38,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,7],22:[1,13],23:[1,14],25:[1,15]},{7:39,8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,6],22:[1,13],23:[1,14],25:[1,15]},{17:23,18:[1,40],21:24,30:25,40:[1,28],42:[1,27],43:26},{10:41,20:[1,37]},{18:[1,42]},{18:[2,43],24:[2,43],28:43,32:[2,43],33:[2,43],34:[2,43],35:[2,43],36:[2,43],40:[2,43],42:[2,43]},{18:[2,25],24:[2,25],36:[2,25]},{18:[2,38],24:[2,38],32:[2,38],33:[2,38],34:[2,38],35:[2,38],36:[2,38],40:[2,38],42:[2,38],44:[1,44]},{21:45,40:[1,28],43:26},{18:[2,40],24:[2,40],32:[2,40],33:[2,40],34:[2,40],35:[2,40],36:[2,40],40:[2,40],42:[2,40],44:[2,40]},{18:[1,46]},{18:[1,47]},{24:[1,48]},{18:[2,41],21:50,27:49,40:[1,28],43:26},{18:[2,34],40:[2,34]},{18:[2,35],40:[2,35]},{18:[2,36],40:[2,36]},{5:[2,11],14:[2,11],15:[2,11],16:[2,11],19:[2,11],20:[2,11],22:[2,11],23:[2,11],25:[2,11]},{21:51,40:[1,28],43:26},{8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,3],22:[1,13],23:[1,14],25:[1,15]},{4:52,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,5],22:[1,13],23:[1,14],25:[1,15]},{14:[2,23],15:[2,23],16:[2,23],19:[2,23],20:[2,23],22:[2,23],23:[2,23],25:[2,23]},{5:[2,12],14:[2,12],15:[2,12],16:[2,12],19:[2,12],20:[2,12],22:[2,12],23:[2,12],25:[2,12]},{14:[2,18],15:[2,18],16:[2,18],19:[2,18],20:[2,18],22:[2,18],23:[2,18],25:[2,18]},{18:[2,45],21:56,24:[2,45],29:53,30:60,31:54,32:[1,57],33:[1,58],34:[1,59],35:[1,61],36:[2,45],37:55,38:62,39:63,40:[1,64],42:[1,27],43:26},{40:[1,65]},{18:[2,37],24:[2,37],32:[2,37],33:[2,37],34:[2,37],35:[2,37],36:[2,37],40:[2,37],42:[2,37]},{14:[2,17],15:[2,17],16:[2,17],19:[2,17],20:[2,17],22:[2,17],23:[2,17],25:[2,17]},{5:[2,20],14:[2,20],15:[2,20],16:[2,20],19:[2,20],20:[2,20],22:[2,20],23:[2,20],25:[2,20]},{5:[2,21],14:[2,21],15:[2,21],16:[2,21],19:[2,21],20:[2,21],22:[2,21],23:[2,21],25:[2,21]},{18:[1,66]},{18:[2,42]},{18:[1,67]},{8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,4],22:[1,13],23:[1,14],25:[1,15]},{18:[2,24],24:[2,24],36:[2,24]},{18:[2,44],24:[2,44],32:[2,44],33:[2,44],34:[2,44],35:[2,44],36:[2,44],40:[2,44],42:[2,44]},{18:[2,46],24:[2,46],36:[2,46]},{18:[2,26],24:[2,26],32:[2,26],33:[2,26],34:[2,26],35:[2,26],36:[2,26],40:[2,26],42:[2,26]},{18:[2,27],24:[2,27],32:[2,27],33:[2,27],34:[2,27],35:[2,27],36:[2,27],40:[2,27],42:[2,27]},{18:[2,28],24:[2,28],32:[2,28],33:[2,28],34:[2,28],35:[2,28],36:[2,28],40:[2,28],42:[2,28]},{18:[2,29],24:[2,29],32:[2,29],33:[2,29],34:[2,29],35:[2,29],36:[2,29],40:[2,29],42:[2,29]},{18:[2,30],24:[2,30],32:[2,30],33:[2,30],34:[2,30],35:[2,30],36:[2,30],40:[2,30],42:[2,30]},{17:68,21:24,30:25,40:[1,28],42:[1,27],43:26},{18:[2,32],24:[2,32],36:[2,32],39:69,40:[1,70]},{18:[2,47],24:[2,47],36:[2,47],40:[2,47]},{18:[2,40],24:[2,40],32:[2,40],33:[2,40],34:[2,40],35:[2,40],36:[2,40],40:[2,40],41:[1,71],42:[2,40],44:[2,40]},{18:[2,39],24:[2,39],32:[2,39],33:[2,39],34:[2,39],35:[2,39],36:[2,39],40:[2,39],42:[2,39],44:[2,39]},{5:[2,22],14:[2,22],15:[2,22],16:[2,22],19:[2,22],20:[2,22],22:[2,22],23:[2,22],25:[2,22]},{5:[2,19],14:[2,19],15:[2,19],16:[2,19],19:[2,19],20:[2,19],22:[2,19],23:[2,19],25:[2,19]},{36:[1,72]},{18:[2,48],24:[2,48],36:[2,48],40:[2,48]},{41:[1,71]},{21:56,30:60,31:73,32:[1,57],33:[1,58],34:[1,59],35:[1,61],40:[1,28],42:[1,27],43:26},{18:[2,31],24:[2,31],32:[2,31],33:[2,31],34:[2,31],35:[2,31],36:[2,31],40:[2,31],42:[2,31]},{18:[2,33],24:[2,33],36:[2,33],40:[2,33]}],
                                                                                          Severity: Major
                                                                                          Found in vendor/assets/javascripts/handlebars.js and 19 other locations - About 1 hr to fix
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868
                                                                                          vendor/assets/javascripts/handlebars.js on lines 868..868

                                                                                          Duplicated Code

                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                          Tuning

                                                                                          This issue has a mass of 74.

                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                          Refactorings

                                                                                          Further Reading

                                                                                          Similar blocks of code found in 4 locations. Consider refactoring.
                                                                                          Open

                                                                                            case 17:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], stripFlags($$[$0-2], $$[$0]), this._$);
                                                                                            break;
                                                                                          Severity: Major
                                                                                          Found in vendor/assets/javascripts/handlebars.js and 3 other locations - About 1 hr to fix
                                                                                          vendor/assets/javascripts/handlebars.js on lines 812..813
                                                                                          vendor/assets/javascripts/handlebars.js on lines 816..817
                                                                                          vendor/assets/javascripts/handlebars.js on lines 818..819

                                                                                          Duplicated Code

                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                          Tuning

                                                                                          This issue has a mass of 65.

                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                          Refactorings

                                                                                          Further Reading

                                                                                          Similar blocks of code found in 4 locations. Consider refactoring.
                                                                                          Open

                                                                                            case 21:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], stripFlags($$[$0-2], $$[$0]), this._$);
                                                                                            break;
                                                                                          Severity: Major
                                                                                          Found in vendor/assets/javascripts/handlebars.js and 3 other locations - About 1 hr to fix
                                                                                          vendor/assets/javascripts/handlebars.js on lines 810..811
                                                                                          vendor/assets/javascripts/handlebars.js on lines 812..813
                                                                                          vendor/assets/javascripts/handlebars.js on lines 816..817

                                                                                          Duplicated Code

                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                          Tuning

                                                                                          This issue has a mass of 65.

                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                          Refactorings

                                                                                          Further Reading

                                                                                          Similar blocks of code found in 4 locations. Consider refactoring.
                                                                                          Open

                                                                                            case 18:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], stripFlags($$[$0-2], $$[$0]), this._$);
                                                                                            break;
                                                                                          Severity: Major
                                                                                          Found in vendor/assets/javascripts/handlebars.js and 3 other locations - About 1 hr to fix
                                                                                          vendor/assets/javascripts/handlebars.js on lines 810..811
                                                                                          vendor/assets/javascripts/handlebars.js on lines 816..817
                                                                                          vendor/assets/javascripts/handlebars.js on lines 818..819

                                                                                          Duplicated Code

                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                          Tuning

                                                                                          This issue has a mass of 65.

                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                          Refactorings

                                                                                          Further Reading

                                                                                          Similar blocks of code found in 4 locations. Consider refactoring.
                                                                                          Open

                                                                                            case 20:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], stripFlags($$[$0-2], $$[$0]), this._$);
                                                                                            break;
                                                                                          Severity: Major
                                                                                          Found in vendor/assets/javascripts/handlebars.js and 3 other locations - About 1 hr to fix
                                                                                          vendor/assets/javascripts/handlebars.js on lines 810..811
                                                                                          vendor/assets/javascripts/handlebars.js on lines 812..813
                                                                                          vendor/assets/javascripts/handlebars.js on lines 818..819

                                                                                          Duplicated Code

                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                          Tuning

                                                                                          This issue has a mass of 65.

                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                          Refactorings

                                                                                          Further Reading

                                                                                          Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                          Open

                                                                                              if (input == null || (typeof input !== 'string' && input.constructor !== env.AST.ProgramNode)) {
                                                                                                throw new Exception("You must pass a string or Handlebars AST to Handlebars.compile. You passed " + input);
                                                                                              }
                                                                                          Severity: Minor
                                                                                          Found in vendor/assets/javascripts/handlebars.js and 1 other location - About 50 mins to fix
                                                                                          vendor/assets/javascripts/handlebars.js on lines 1707..1709

                                                                                          Duplicated Code

                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                          Tuning

                                                                                          This issue has a mass of 52.

                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                          Refactorings

                                                                                          Further Reading

                                                                                          Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                          Open

                                                                                              if (input == null || (typeof input !== 'string' && input.constructor !== env.AST.ProgramNode)) {
                                                                                                throw new Exception("You must pass a string or Handlebars AST to Handlebars.precompile. You passed " + input);
                                                                                              }
                                                                                          Severity: Minor
                                                                                          Found in vendor/assets/javascripts/handlebars.js and 1 other location - About 50 mins to fix
                                                                                          vendor/assets/javascripts/handlebars.js on lines 1722..1724

                                                                                          Duplicated Code

                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                          Tuning

                                                                                          This issue has a mass of 52.

                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                          Refactorings

                                                                                          Further Reading

                                                                                          Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                          Open

                                                                                                if(!this.registers[name]) {
                                                                                                  this.registers[name] = true;
                                                                                                  this.registers.list.push(name);
                                                                                                }
                                                                                          Severity: Minor
                                                                                          Found in vendor/assets/javascripts/handlebars.js and 1 other location - About 50 mins to fix
                                                                                          vendor/assets/javascripts/handlebars.js on lines 1637..1640

                                                                                          Duplicated Code

                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                          Tuning

                                                                                          This issue has a mass of 51.

                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                          Refactorings

                                                                                          Further Reading

                                                                                          Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                          Open

                                                                                                if(!this.depths[depth]) {
                                                                                                  this.depths[depth] = true;
                                                                                                  this.depths.list.push(depth);
                                                                                                }
                                                                                          Severity: Minor
                                                                                          Found in vendor/assets/javascripts/handlebars.js and 1 other location - About 50 mins to fix
                                                                                          vendor/assets/javascripts/handlebars.js on lines 2436..2439

                                                                                          Duplicated Code

                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                          Tuning

                                                                                          This issue has a mass of 51.

                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                          Refactorings

                                                                                          Further Reading

                                                                                          Similar blocks of code found in 4 locations. Consider refactoring.
                                                                                          Open

                                                                                              HashNode: function(pairs, locInfo) {
                                                                                                LocationInfo.call(this, locInfo);
                                                                                                this.type = "hash";
                                                                                                this.pairs = pairs;
                                                                                              },
                                                                                          Severity: Major
                                                                                          Found in vendor/assets/javascripts/handlebars.js and 3 other locations - About 35 mins to fix
                                                                                          vendor/assets/javascripts/handlebars.js on lines 665..669
                                                                                          vendor/assets/javascripts/handlebars.js on lines 720..724
                                                                                          vendor/assets/javascripts/handlebars.js on lines 749..753

                                                                                          Duplicated Code

                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                          Tuning

                                                                                          This issue has a mass of 46.

                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                          Refactorings

                                                                                          Further Reading

                                                                                          Similar blocks of code found in 4 locations. Consider refactoring.
                                                                                          Open

                                                                                              CommentNode: function(comment, locInfo) {
                                                                                                LocationInfo.call(this, locInfo);
                                                                                                this.type = "comment";
                                                                                                this.comment = comment;
                                                                                              }
                                                                                          Severity: Major
                                                                                          Found in vendor/assets/javascripts/handlebars.js and 3 other locations - About 35 mins to fix
                                                                                          vendor/assets/javascripts/handlebars.js on lines 665..669
                                                                                          vendor/assets/javascripts/handlebars.js on lines 671..675
                                                                                          vendor/assets/javascripts/handlebars.js on lines 720..724

                                                                                          Duplicated Code

                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                          Tuning

                                                                                          This issue has a mass of 46.

                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                          Refactorings

                                                                                          Further Reading

                                                                                          Similar blocks of code found in 4 locations. Consider refactoring.
                                                                                          Open

                                                                                              DataNode: function(id, locInfo) {
                                                                                                LocationInfo.call(this, locInfo);
                                                                                                this.type = "DATA";
                                                                                                this.id = id;
                                                                                              },
                                                                                          Severity: Major
                                                                                          Found in vendor/assets/javascripts/handlebars.js and 3 other locations - About 35 mins to fix
                                                                                          vendor/assets/javascripts/handlebars.js on lines 665..669
                                                                                          vendor/assets/javascripts/handlebars.js on lines 671..675
                                                                                          vendor/assets/javascripts/handlebars.js on lines 749..753

                                                                                          Duplicated Code

                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                          Tuning

                                                                                          This issue has a mass of 46.

                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                          Refactorings

                                                                                          Further Reading

                                                                                          Similar blocks of code found in 4 locations. Consider refactoring.
                                                                                          Open

                                                                                              ContentNode: function(string, locInfo) {
                                                                                                LocationInfo.call(this, locInfo);
                                                                                                this.type = "content";
                                                                                                this.string = string;
                                                                                              },
                                                                                          Severity: Major
                                                                                          Found in vendor/assets/javascripts/handlebars.js and 3 other locations - About 35 mins to fix
                                                                                          vendor/assets/javascripts/handlebars.js on lines 671..675
                                                                                          vendor/assets/javascripts/handlebars.js on lines 720..724
                                                                                          vendor/assets/javascripts/handlebars.js on lines 749..753

                                                                                          Duplicated Code

                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                          Tuning

                                                                                          This issue has a mass of 46.

                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                          Refactorings

                                                                                          Further Reading

                                                                                          There are no issues that match your filters.

                                                                                          Category
                                                                                          Status