cornerstone-source 0.1.12 → 0.1.13

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,8 +2,15 @@ require 'sprockets'
2
2
 
3
3
  module Cornerstone
4
4
  module Source
5
- root_dir = File.expand_path(File.dirname(File.dirname(__FILE__)))
5
+ if defined? ::Rails
6
+ class Engine < ::Rails::Engine
7
+ config.paths['app/assets'] = "source"
8
+ end
9
+ else
10
+ root_dir = File.expand_path(File.dirname(File.dirname(__FILE__)))
11
+ asset_dir = File.join(root_dir, "source")
6
12
 
7
- ::Sprockets.append_path File.join(root_dir, "source")
13
+ ::Sprockets.append_path asset_dir
14
+ end
8
15
  end
9
16
  end
@@ -1,5 +1,5 @@
1
1
  module Cornerstone
2
2
  module Source
3
- VERSION = "0.1.12"
3
+ VERSION = "0.1.13"
4
4
  end
5
5
  end
@@ -0,0 +1,13 @@
1
+ {
2
+ "author": "STRd6",
3
+ "main": null,
4
+ "name": "Cornerstone",
5
+ "library": true,
6
+ "libs": { },
7
+ "directories": {
8
+ "lib": "lib",
9
+ "source": "source",
10
+ "test": "test"
11
+ },
12
+ "autosave": false
13
+ }
@@ -23,7 +23,7 @@ Returns a copy of the array without null and undefined values.
23
23
  @returns {Array} A new array that contains only the non-null values.
24
24
  ###
25
25
  Array::compact = ->
26
- this.select (element) ->
26
+ @select (element) ->
27
27
  element?
28
28
 
29
29
  ###*
@@ -46,7 +46,7 @@ the same objects.
46
46
  @returns {Array} A new array that is a copy of the array
47
47
  ###
48
48
  Array::copy = ->
49
- this.concat()
49
+ @concat()
50
50
 
51
51
  ###*
52
52
  Empties the array of its contents. It is modified in place.
@@ -61,7 +61,7 @@ Empties the array of its contents. It is modified in place.
61
61
  @returns {Array} this, now emptied.
62
62
  ###
63
63
  Array::clear = ->
64
- this.length = 0
64
+ @length = 0
65
65
 
66
66
  return this
67
67
 
@@ -81,7 +81,7 @@ Flatten out an array of arrays into a single array of elements.
81
81
  @returns {Array} A new array with all the sub-arrays flattened to the top.
82
82
  ###
83
83
  Array::flatten = ->
84
- this.inject [], (a, b) ->
84
+ @inject [], (a, b) ->
85
85
  a.concat b
86
86
 
87
87
  ###*
@@ -101,7 +101,7 @@ and return a new array containing the results of the invocation.
101
101
  @returns {Array} A new array containing the results of invoking the named method on each element.
102
102
  ###
103
103
  Array::invoke = (method, args...) ->
104
- this.map (element) ->
104
+ @map (element) ->
105
105
  element[method].apply(element, args)
106
106
 
107
107
  ###*
@@ -115,7 +115,7 @@ Randomly select an element from the array.
115
115
  @returns {Object} A random element from an array
116
116
  ###
117
117
  Array::rand = ->
118
- this[rand(this.length)]
118
+ this[rand(@length)]
119
119
 
120
120
  ###*
121
121
  Remove the first occurrence of the given object from the array if it is
@@ -134,10 +134,10 @@ present. The array is modified in place.
134
134
  @returns {Object} The removed object if present otherwise undefined.
135
135
  ###
136
136
  Array::remove = (object) ->
137
- index = this.indexOf(object)
137
+ index = @indexOf(object)
138
138
 
139
139
  if index >= 0
140
- this.splice(index, 1)[0]
140
+ @splice(index, 1)[0]
141
141
  else
142
142
  undefined
143
143
 
@@ -156,7 +156,7 @@ Returns true if the element is present in the array.
156
156
  @returns {Boolean} true if the element is in the array, false otherwise.
157
157
  ###
158
158
  Array::include = (element) ->
159
- this.indexOf(element) != -1
159
+ @indexOf(element) != -1
160
160
 
161
161
  ###*
162
162
  Call the given iterator once for each element in the array,
@@ -185,8 +185,8 @@ third argument.
185
185
  @returns {Array} this to enable method chaining.
186
186
  ###
187
187
  Array::each = (iterator, context) ->
188
- if this.forEach
189
- this.forEach iterator, context
188
+ if @forEach
189
+ @forEach iterator, context
190
190
  else
191
191
  for element, i in this
192
192
  iterator.call context, element, i, this
@@ -234,7 +234,7 @@ Call the given iterator once for each pair of objects in the array.
234
234
  @param {Object} [context] Optional context parameter to be used as `this` when calling the iterator function.
235
235
  ###
236
236
  Array::eachPair = (iterator, context) ->
237
- length = this.length
237
+ length = @length
238
238
  i = 0
239
239
  while i < length
240
240
  a = this[i]
@@ -262,7 +262,7 @@ as the second argument. Additional arguments are passed similar to
262
262
  @returns {Array} this
263
263
  ###
264
264
  Array::eachWithObject = (object, iterator, context) ->
265
- this.each (element, i, self) ->
265
+ @each (element, i, self) ->
266
266
  iterator.call context, element, object, i, self
267
267
 
268
268
  return object
@@ -290,11 +290,11 @@ passed as in each.
290
290
  ###
291
291
  Array::eachSlice = (n, iterator, context) ->
292
292
  if n > 0
293
- len = (this.length / n).floor()
293
+ len = (@length / n).floor()
294
294
  i = -1
295
295
 
296
296
  while ++i < len
297
- iterator.call(context, this.slice(i*n, (i+1)*n), i*n, this)
297
+ iterator.call(context, @slice(i*n, (i+1)*n), i*n, this)
298
298
 
299
299
  return this
300
300
 
@@ -312,10 +312,8 @@ is fed to the input of the second and so on until the final processed output is
312
312
  @returns {Object} The result of processing the input by each function in the array.
313
313
  ###
314
314
  Array::pipeline = (input) ->
315
- for fn in this
316
- input = fn(input)
317
-
318
- return input
315
+ @inject input, (input, fn) ->
316
+ fn(input)
319
317
 
320
318
  ###*
321
319
  Returns a new array with the elements all shuffled up.
@@ -334,7 +332,7 @@ Returns a new array with the elements all shuffled up.
334
332
  Array::shuffle = ->
335
333
  shuffledArray = []
336
334
 
337
- this.each (element) ->
335
+ @each (element) ->
338
336
  shuffledArray.splice(rand(shuffledArray.length + 1), 0, element)
339
337
 
340
338
  return shuffledArray
@@ -363,7 +361,7 @@ Returns the last element of the array, undefined if the array is empty.
363
361
  @returns {Object} The last element, or undefined if the array is empty.
364
362
  ###
365
363
  Array::last = ->
366
- this[this.length - 1]
364
+ this[@length - 1]
367
365
 
368
366
  ###*
369
367
  Returns an object containing the extremes of this array.
@@ -376,13 +374,11 @@ Returns an object containing the extremes of this array.
376
374
  @param {Function} [fn] An optional funtion used to evaluate each element to calculate its value for determining extremes.
377
375
  @returns {Object} {min: minElement, max: maxElement}
378
376
  ###
379
- Array::extremes = (fn) ->
380
- fn ||= (n) -> n
381
-
377
+ Array::extremes = (fn=Function.identity) ->
382
378
  min = max = undefined
383
379
  minResult = maxResult = undefined
384
380
 
385
- this.each (object) ->
381
+ @each (object) ->
386
382
  result = fn(object)
387
383
 
388
384
  if min?
@@ -404,6 +400,31 @@ Array::extremes = (fn) ->
404
400
  min: min
405
401
  max: max
406
402
 
403
+ Array::maxima = (valueFunction=Function.identity) ->
404
+ @inject([-Infinity, []], (memo, item) ->
405
+ value = valueFunction(item)
406
+ [maxValue, maxItems] = memo
407
+
408
+ if value > maxValue
409
+ [value, [item]]
410
+ else if value is maxValue
411
+ [value, maxItems.concat(item)]
412
+ else
413
+ memo
414
+ ).last()
415
+
416
+ Array::maximum = (valueFunction) ->
417
+ @maxima(valueFunction).first()
418
+
419
+ Array::minima = (valueFunction=Function.identity) ->
420
+ inverseFn = (x) ->
421
+ -valueFunction(x)
422
+
423
+ @maxima(inverseFn)
424
+
425
+ Array::minimum = (valueFunction) ->
426
+ @minima(valueFunction).first()
427
+
407
428
  ###*
408
429
  Pretend the array is a circle and grab a new array containing length elements.
409
430
  If length is not given return the element at start, again assuming the array
@@ -461,7 +482,7 @@ Array::partition = (iterator, context) ->
461
482
  trueCollection = []
462
483
  falseCollection = []
463
484
 
464
- this.each (element) ->
485
+ @each (element) ->
465
486
  if iterator.call(context, element)
466
487
  trueCollection.push element
467
488
  else
@@ -479,7 +500,7 @@ Return the group of elements for which the return value of the iterator is true.
479
500
  @returns {Array} An array containing the elements for which the iterator returned true.
480
501
  ###
481
502
  Array::select = (iterator, context) ->
482
- return this.partition(iterator, context)[0]
503
+ return @partition(iterator, context)[0]
483
504
 
484
505
  ###*
485
506
  Return the group of elements that are not in the passed in set.
@@ -493,7 +514,7 @@ Return the group of elements that are not in the passed in set.
493
514
  @returns {Array} An array containing the elements that are not passed in.
494
515
  ###
495
516
  Array::without = (values) ->
496
- this.reject (element) ->
517
+ @reject (element) ->
497
518
  values.include(element)
498
519
 
499
520
  ###*
@@ -506,7 +527,7 @@ Return the group of elements for which the return value of the iterator is false
506
527
  @returns {Array} An array containing the elements for which the iterator returned false.
507
528
  ###
508
529
  Array::reject = (iterator, context) ->
509
- this.partition(iterator, context)[1]
530
+ @partition(iterator, context)[1]
510
531
 
511
532
  ###*
512
533
  Combines all elements of the array by applying a binary operation.
@@ -518,7 +539,7 @@ value (memo) and the element.
518
539
  @returns {Object} The result of a
519
540
  ###
520
541
  Array::inject = (initial, iterator) ->
521
- this.each (element) ->
542
+ @each (element) ->
522
543
  initial = iterator(initial, element)
523
544
 
524
545
  return initial
@@ -534,7 +555,7 @@ Add all the elements in the array.
534
555
  @returns {Number} The sum of the elements in the array.
535
556
  ###
536
557
  Array::sum = ->
537
- this.inject 0, (sum, n) ->
558
+ @inject 0, (sum, n) ->
538
559
  sum + n
539
560
 
540
561
  ###*
@@ -548,7 +569,7 @@ Multiply all the elements in the array.
548
569
  @returns {Number} The product of the elements in the array.
549
570
  ###
550
571
  Array::product = ->
551
- this.inject 1, (product, n) ->
572
+ @inject 1, (product, n) ->
552
573
  product * n
553
574
 
554
575
  ###*
@@ -562,7 +583,7 @@ Merges together the values of each of the arrays with the values at the correspo
562
583
  @returns {Array} Array groupings whose values are arranged by their positions in the original input arrays.
563
584
  ###
564
585
  Array::zip = (args...) ->
565
- this.map (element, index) ->
586
+ @map (element, index) ->
566
587
  output = args.map (arr) ->
567
588
  arr[index]
568
589
 
@@ -11,11 +11,11 @@ Function::once = ->
11
11
  return memo = func.apply(this, arguments)
12
12
 
13
13
  ###*
14
- Calling a debounced function will postpone its execution until after
15
- wait milliseconds have elapsed since the last time the function was
16
- invoked. Useful for implementing behavior that should only happen after
17
- the input has stopped arriving. For example: rendering a preview of a
18
- Markdown comment, recalculating a layout after the window has stopped
14
+ Calling a debounced function will postpone its execution until after
15
+ wait milliseconds have elapsed since the last time the function was
16
+ invoked. Useful for implementing behavior that should only happen after
17
+ the input has stopped arriving. For example: rendering a preview of a
18
+ Markdown comment, recalculating a layout after the window has stopped
19
19
  being resized...
20
20
 
21
21
  lazyLayout = calculateLayout.debounce(300)
@@ -58,3 +58,10 @@ Function::delay = (wait, args...) ->
58
58
  Function::defer = (args...) ->
59
59
  this.delay.apply this, [1].concat(args)
60
60
 
61
+ Object.extend Function,
62
+
63
+ identity: (x) ->
64
+ x
65
+
66
+ noop: ->
67
+
@@ -1,4 +1,4 @@
1
- ###*
1
+ ###*
2
2
  Returns the absolute value of this number.
3
3
 
4
4
  (-4).abs()
@@ -8,18 +8,16 @@ Returns the absolute value of this number.
8
8
  @methodOf Number#
9
9
  @returns {Number} The absolute value of the number.
10
10
  ###
11
- Number::abs = () ->
12
- Math.abs(this)
13
11
 
14
12
  ###*
15
13
  Returns the mathematical ceiling of this number.
16
14
 
17
- 4.9.ceil()
15
+ 4.9.ceil()
18
16
  # => 5
19
-
17
+
20
18
  4.2.ceil()
21
19
  # => 5
22
-
20
+
23
21
  (-1.2).ceil()
24
22
  # => -1
25
23
 
@@ -27,18 +25,16 @@ Returns the mathematical ceiling of this number.
27
25
  @methodOf Number#
28
26
  @returns {Number} The number truncated to the nearest integer of greater than or equal value.
29
27
  ###
30
- Number::ceil = ->
31
- Math.ceil(this)
32
28
 
33
29
  ###*
34
30
  Returns the mathematical floor of this number.
35
31
 
36
32
  4.9.floor()
37
33
  # => 4
38
-
34
+
39
35
  4.2.floor()
40
36
  # => 4
41
-
37
+
42
38
  (-1.2).floor()
43
39
  # => -2
44
40
 
@@ -46,15 +42,13 @@ Returns the mathematical floor of this number.
46
42
  @methodOf Number#
47
43
  @returns {Number} The number truncated to the nearest integer of less than or equal value.
48
44
  ###
49
- Number::floor = ->
50
- Math.floor(this)
51
45
 
52
46
  ###*
53
47
  Returns this number rounded to the nearest integer.
54
48
 
55
49
  4.5.round()
56
50
  # => 5
57
-
51
+
58
52
  4.4.round()
59
53
  # => 4
60
54
 
@@ -62,14 +56,16 @@ Returns this number rounded to the nearest integer.
62
56
  @methodOf Number#
63
57
  @returns {Number} The number rounded to the nearest integer.
64
58
  ###
65
- Number::round = ->
66
- Math.round(this)
59
+
60
+ ["abs", "ceil", "floor", "round"].each (method) ->
61
+ Number::[method] = ->
62
+ Math[method](this)
67
63
 
68
64
  ###*
69
65
  Get a bunch of points equally spaced around the unit circle.
70
66
 
71
67
  4.circularPoints (p) ->
72
-
68
+
73
69
  # p gets Point(1, 0), Point(0, 1), Point(-1, 0), Point(0, -1)
74
70
 
75
71
  @name circularPoint
@@ -130,10 +126,10 @@ Get the sign of this number as an integer (1, -1, or 0).
130
126
 
131
127
  (-5).sign()
132
128
  # => -1
133
-
129
+
134
130
  0.sign()
135
131
  # => 0
136
-
132
+
137
133
  5.sign()
138
134
  # => 1
139
135
 
@@ -146,7 +142,7 @@ Number::sign = ->
146
142
  1
147
143
  else if this < 0
148
144
  -1
149
- else
145
+ else
150
146
  0
151
147
 
152
148
  ###*
@@ -154,51 +150,48 @@ Returns true if this number is even (evenly divisible by 2).
154
150
 
155
151
  2.even()
156
152
  # => true
157
-
153
+
158
154
  3.even()
159
155
  # => false
160
-
156
+
161
157
  0.even()
162
- # => true
158
+ # => true
163
159
 
164
160
  @name even
165
161
  @methodOf Number#
166
162
  @returns {Boolean} true if this number is an even integer, false otherwise.
167
163
  ###
168
164
  Number::even = ->
169
- this % 2 == 0
165
+ @mod(2) is 0
170
166
 
171
167
  ###*
172
168
  Returns true if this number is odd (has remainder of 1 when divided by 2).
173
169
 
174
170
  2.odd()
175
171
  # => false
176
-
172
+
177
173
  3.odd()
178
174
  # => true
179
-
175
+
180
176
  0.odd()
181
- # => false
177
+ # => false
182
178
 
183
179
  @name odd
184
180
  @methodOf Number#
185
181
  @returns {Boolean} true if this number is an odd integer, false otherwise.
186
182
  ###
187
183
  Number::odd = ->
188
- if this > 0
189
- this % 2 == 1
190
- else
191
- this % 2 == -1
184
+ @mod(2) is 1
192
185
 
193
186
  ###*
194
- Calls iterator the specified number of times, passing in the number of the
195
- current iteration as a parameter: 0 on first call, 1 on the second call, etc.
187
+ Calls iterator the specified number of times, passing in the number of the
188
+ current iteration as a parameter: 0 on first call, 1 on the second call, etc.
196
189
 
197
190
  output = []
198
-
191
+
199
192
  5.times (n) ->
200
193
  output.push(n)
201
-
194
+
202
195
  output
203
196
  # => [0, 1, 2, 3, 4]
204
197
 
@@ -217,15 +210,15 @@ Number::times = (iterator, context) ->
217
210
  return i
218
211
 
219
212
  ###*
220
- Returns the the nearest grid resolution less than or equal to the number.
213
+ Returns the the nearest grid resolution less than or equal to the number.
221
214
 
222
- 7.snap(8)
215
+ 7.snap(8)
223
216
  # => 0
224
-
225
- 4.snap(8)
217
+
218
+ 4.snap(8)
226
219
  # => 0
227
-
228
- 12.snap(8)
220
+
221
+ 12.snap(8)
229
222
  # => 8
230
223
 
231
224
  @name snap
@@ -246,7 +239,7 @@ Floors the number for purposes of factorization.
246
239
 
247
240
  60.primeFactors()
248
241
  # => [2, 2, 3, 5]
249
-
242
+
250
243
  37.primeFactors()
251
244
  # => [37]
252
245
 
@@ -257,7 +250,7 @@ Floors the number for purposes of factorization.
257
250
  Number::primeFactors = ->
258
251
  factors = []
259
252
 
260
- n = Math.floor(this)
253
+ n = @floor()
261
254
 
262
255
  if n == 0
263
256
  return undefined
@@ -283,15 +276,15 @@ Number::primeFactors = ->
283
276
  return factors
284
277
 
285
278
  ###*
286
- Returns the two character hexidecimal
279
+ Returns the two character hexidecimal
287
280
  representation of numbers 0 through 255.
288
281
 
289
282
  255.toColorPart()
290
283
  # => "ff"
291
-
284
+
292
285
  0.toColorPart()
293
286
  # => "00"
294
-
287
+
295
288
  200.toColorPart()
296
289
  # => "c8"
297
290
 
@@ -300,7 +293,7 @@ representation of numbers 0 through 255.
300
293
  @returns {String} Hexidecimal representation of the number
301
294
  ###
302
295
  Number::toColorPart = ->
303
- s = parseInt(this.clamp(0, 255), 10).toString(16)
296
+ s = parseInt(@clamp(0, 255), 10).toString(16)
304
297
 
305
298
  if s.length == 1
306
299
  s = '0' + s
@@ -312,14 +305,14 @@ Returns a number that is maxDelta closer to target.
312
305
 
313
306
  255.approach(0, 5)
314
307
  # => 250
315
-
308
+
316
309
  5.approach(0, 10)
317
310
  # => 0
318
311
 
319
312
  @name approach
320
313
  @methodOf Number#
321
314
  @returns {Number} A number maxDelta toward target
322
- ###
315
+ ###
323
316
  Number::approach = (target, maxDelta) ->
324
317
  (target - this).clamp(-maxDelta, maxDelta) + this
325
318
 
@@ -332,9 +325,9 @@ Returns a number that is closer to the target by the ratio.
332
325
  @name approachByRatio
333
326
  @methodOf Number#
334
327
  @returns {Number} A number toward target by the ratio
335
- ###
328
+ ###
336
329
  Number::approachByRatio = (target, ratio) ->
337
- this.approach(target, this * ratio)
330
+ @approach(target, this * ratio)
338
331
 
339
332
  ###*
340
333
  Returns a number that is closer to the target angle by the delta.
@@ -345,7 +338,7 @@ Returns a number that is closer to the target angle by the delta.
345
338
  @name approachRotation
346
339
  @methodOf Number#
347
340
  @returns {Number} A number toward the target angle by maxDelta
348
- ###
341
+ ###
349
342
  Number::approachRotation = (target, maxDelta) ->
350
343
  while target > this + Math.PI
351
344
  target -= Math.TAU
@@ -358,7 +351,7 @@ Number::approachRotation = (target, maxDelta) ->
358
351
  ###*
359
352
  Constrains a rotation to between -PI and PI.
360
353
 
361
- (9/4 * Math.PI).constrainRotation()
354
+ (9/4 * Math.PI).constrainRotation()
362
355
  # => 0.7853981633974483 # this is (1/4) * Math.PI
363
356
 
364
357
  @name constrainRotation
@@ -376,6 +369,15 @@ Number::constrainRotation = ->
376
369
 
377
370
  return target
378
371
 
372
+ # TODO Test and document
373
+ Number::truncate = ->
374
+ if this > 0
375
+ @floor()
376
+ else if this < 0
377
+ @ceil()
378
+ else
379
+ this
380
+
379
381
  ###*
380
382
  The mathematical d operator. Useful for simulating dice rolls.
381
383
 
@@ -386,7 +388,7 @@ The mathematical d operator. Useful for simulating dice rolls.
386
388
  Number::d = (sides) ->
387
389
  sum = 0
388
390
 
389
- this.times ->
391
+ @times ->
390
392
  sum += rand(sides) + 1
391
393
 
392
394
  return sum
@@ -396,7 +398,7 @@ Utility method to convert a number to a duration of seconds.
396
398
 
397
399
  3.seconds
398
400
  # => 3000
399
-
401
+
400
402
  setTimout doSometing, 3.seconds
401
403
 
402
404
  @name seconds
@@ -405,12 +407,12 @@ Utility method to convert a number to a duration of seconds.
405
407
  ###
406
408
  unless 5.seconds
407
409
  Object.defineProperty Number::, 'seconds',
408
- get: ->
410
+ get: ->
409
411
  this * 1000
410
412
 
411
413
  unless 1.second
412
414
  Object.defineProperty Number::, 'second',
413
- get: ->
415
+ get: ->
414
416
  this * 1000
415
417
 
416
418
  ###*
@@ -418,7 +420,7 @@ Utility method to convert a number to an amount of rotations.
418
420
 
419
421
  0.5.rotations
420
422
  # => 3.141592653589793
421
-
423
+
422
424
  I.rotation = 0.25.rotations
423
425
 
424
426
  @name rotations
@@ -427,12 +429,12 @@ Utility method to convert a number to an amount of rotations.
427
429
  ###
428
430
  unless 5.rotations
429
431
  Object.defineProperty Number::, 'rotations',
430
- get: ->
432
+ get: ->
431
433
  this * Math.TAU
432
434
 
433
435
  unless 1.rotation
434
436
  Object.defineProperty Number::, 'rotation',
435
- get: ->
437
+ get: ->
436
438
  this * Math.TAU
437
439
 
438
440
  ###*
@@ -440,9 +442,9 @@ Utility method to convert a number to an amount of rotations.
440
442
 
441
443
  0.5.turns
442
444
  # => 3.141592653589793
443
-
445
+
444
446
  I.rotation = 0.25.turns
445
-
447
+
446
448
  1.turn # => Math.TAU (aka 2 * Math.PI)
447
449
 
448
450
  @name turns
@@ -452,12 +454,12 @@ Utility method to convert a number to an amount of rotations.
452
454
  ###
453
455
  unless 5.turns
454
456
  Object.defineProperty Number.prototype, 'turns',
455
- get: ->
457
+ get: ->
456
458
  this * Math.TAU
457
459
 
458
460
  unless 1.turn
459
461
  Object.defineProperty Number.prototype, 'turn',
460
- get: ->
462
+ get: ->
461
463
  this * Math.TAU
462
464
 
463
465
  ###*
@@ -465,7 +467,7 @@ Utility method to convert a number to an amount of degrees.
465
467
 
466
468
  180.degrees
467
469
  # => 3.141592653589793
468
-
470
+
469
471
  I.rotation = 90.degrees
470
472
 
471
473
  @name degrees
@@ -474,15 +476,15 @@ Utility method to convert a number to an amount of degrees.
474
476
  ###
475
477
  unless 2.degrees
476
478
  Object.defineProperty Number::, 'degrees',
477
- get: ->
479
+ get: ->
478
480
  this * Math.TAU / 360
479
481
 
480
482
  unless 1.degree
481
483
  Object.defineProperty Number::, 'degree',
482
- get: ->
484
+ get: ->
483
485
  this * Math.TAU / 360
484
486
 
485
- ###*
487
+ ###*
486
488
  The mathematical circle constant of 1 turn.
487
489
 
488
490
  @name TAU