tbmx 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/tbmx.rb +48 -18
  2. metadata +1 -1
data/lib/tbmx.rb CHANGED
@@ -290,14 +290,52 @@ module TBMX
290
290
  when "bookmarks-folder-id", "bookmarks_folder_id", "bookmarks_folder-id", "bookmarks-folder_id",
291
291
  "bookmark-folder-id", "bookmark_folder_id", "bookmark_folder-id", "bookmark-folder_id"
292
292
  bookmarks_folder_id_command_handler
293
+ when "pi"
294
+ "#{Math::PI}"
295
+ when "e"
296
+ "#{Math::E}"
293
297
  when "+"
294
- addition
298
+ reducable_math_function_handler :+
295
299
  when "-"
296
- subtraction
300
+ reducable_math_function_handler :-
297
301
  when "*"
298
- multiplication
302
+ reducable_math_function_handler :*
299
303
  when "/"
300
- division
304
+ reducable_math_function_handler :/
305
+ when "sin"
306
+ math_function_handler :sin
307
+ when "cos"
308
+ math_function_handler :cos
309
+ when "tan"
310
+ math_function_handler :tan
311
+ when "asin"
312
+ math_function_handler :asin
313
+ when "acos"
314
+ math_function_handler :acos
315
+ when "atan"
316
+ math_function_handler :atan
317
+ when "sinh"
318
+ math_function_handler :sinh
319
+ when "cosh"
320
+ math_function_handler :cosh
321
+ when "tanh"
322
+ math_function_handler :tanh
323
+ when "asinh"
324
+ math_function_handler :asinh
325
+ when "acosh"
326
+ math_function_handler :acosh
327
+ when "atanh"
328
+ math_function_handler :atanh
329
+ when "erfc"
330
+ math_function_handler :erfc
331
+ when "gamma"
332
+ math_function_handler :gamma
333
+ when "lgamma"
334
+ math_function_handler :lgamma
335
+ when "log10"
336
+ math_function_handler :log10
337
+ when "log2"
338
+ math_function_handler :log2
301
339
  else
302
340
  command_error "unknown command #{command.to_html}"
303
341
  end
@@ -311,7 +349,7 @@ module TBMX
311
349
  %{<a href="#{TB_COM}/#{target}">#{string}</a>}
312
350
  end
313
351
 
314
- def reducable_math_function_handler(function)
352
+ def numbers_from_expressions
315
353
  expressions
316
354
  .map do |number|
317
355
  begin
@@ -319,23 +357,15 @@ module TBMX
319
357
  rescue ArgumentError
320
358
  nil
321
359
  end
322
- end.reject(&:nil?).reduce(function)
323
- end
324
-
325
- def addition
326
- reducable_math_function_handler :+
360
+ end.reject &:nil?
327
361
  end
328
362
 
329
- def subtraction
330
- reducable_math_function_handler :-
331
- end
332
-
333
- def multiplication
334
- reducable_math_function_handler :*
363
+ def reducable_math_function_handler(function)
364
+ numbers_from_expressions.reduce function
335
365
  end
336
366
 
337
- def division
338
- reducable_math_function_handler :/
367
+ def math_function_handler(function)
368
+ Math.send function, numbers_from_expressions.first
339
369
  end
340
370
 
341
371
  def user_command_handler
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tbmx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: