Sha256: 77e76ce7addb37ab15209c5c885d5f826ef4d2776123de8337cc565e143b7be3

Contents?: true

Size: 1.12 KB

Versions: 1

Compression:

Stored size: 1.12 KB

Contents

# Rate types
#
class RateType
  @POSITIVE: 1
  @NEUTRAL:  2
  @NEGATIVE: 3

  # 1 – very poor, 2 – poor, 3 –fair, 4 – good, 5 – excellent
  @FIELDS: [
    { rate: 1, name: "very_poor", type: @NEGATIVE, title: "Very poor"},
    { rate: 2, name: "poor", type: @NEGATIVE, title: "Poor"},
    { rate: 3, name: "fair", type: @NEUTRAL, title: "Fair"},
    { rate: 4, name: "good", type: @POSITIVE, title: "Good"},
    { rate: 5, name: "excellent", type: @POSITIVE, title:"Excellent" }
  ]

  @getField: (rate = null)->
    rate = Math.round(rate)
    if rate
      _records = @FIELDS.filter (x) ->
        x.rate == rate

      if _records.length > 0
        return _records[0]
    null

  @getType: (rate = null)->
    rate = @getField(rate) if typeof(rate) == "number"
    if rate && rate['type']
      rate['type']
    else
      null

  @is_negative: (rate = null)->
    @getType(rate) == @NEGATIVE if rate

  @is_neutral: (rate = null)->
    @getType(rate) == @NEUTRAL if rate

  @is_positive: (rate = null)->
    @getType(rate) == @POSITIVE if rate

angular.module('EssayApp.services').factory('RateType', [() ->
  return RateType
])

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
translation_cms-0.1.5 app/assets/javascripts/app/services/rate_type.js.coffee