shenanigans 1.0.13 → 1.0.14

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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -1
  3. data/doc/Array.html +104 -74
  4. data/doc/Hash.html +77 -56
  5. data/doc/{Fixnum.html → Integer.html} +31 -27
  6. data/doc/Kernel.html +114 -74
  7. data/doc/Module.html +11 -15
  8. data/doc/Object.html +24 -95
  9. data/doc/String.html +31 -30
  10. data/doc/_index.html +13 -13
  11. data/doc/class_list.html +3 -3
  12. data/doc/css/style.css +6 -9
  13. data/doc/file.README.html +19 -48
  14. data/doc/file_list.html +2 -2
  15. data/doc/frames.html +2 -2
  16. data/doc/index.html +19 -48
  17. data/doc/js/app.js +69 -3
  18. data/doc/method_list.html +12 -20
  19. data/doc/top-level-namespace.html +7 -7
  20. data/lib/shenanigans.rb +7 -7
  21. data/lib/shenanigans/array.rb +3 -3
  22. data/lib/shenanigans/array/caret.rb +3 -2
  23. data/lib/shenanigans/array/random_subarray.rb +7 -5
  24. data/lib/shenanigans/array/reductions.rb +13 -10
  25. data/lib/shenanigans/array/zip_with.rb +9 -12
  26. data/lib/shenanigans/hash.rb +3 -3
  27. data/lib/shenanigans/hash/extract.rb +5 -4
  28. data/lib/shenanigans/hash/has_shape_pred.rb +6 -7
  29. data/lib/shenanigans/hash/to_ostruct.rb +8 -9
  30. data/lib/shenanigans/integer.rb +1 -0
  31. data/lib/shenanigans/integer/string_length.rb +13 -0
  32. data/lib/shenanigans/kernel.rb +4 -4
  33. data/lib/shenanigans/kernel/fn.rb +7 -6
  34. data/lib/shenanigans/kernel/prompt.rb +6 -7
  35. data/lib/shenanigans/kernel/require_optional.rb +8 -8
  36. data/lib/shenanigans/kernel/with.rb +4 -3
  37. data/lib/shenanigans/module.rb +1 -1
  38. data/lib/shenanigans/module/private_accessor.rb +6 -6
  39. data/lib/shenanigans/object.rb +1 -2
  40. data/lib/shenanigans/object/display.rb +5 -4
  41. data/lib/shenanigans/string.rb +2 -2
  42. data/lib/shenanigans/string/cmpi.rb +4 -3
  43. data/lib/shenanigans/string/in_groups_of.rb +4 -6
  44. data/test/array/caret_test.rb +9 -0
  45. data/test/array/{test_random_subarray.rb → random_subarray_test.rb} +3 -3
  46. data/test/array/reductions_test.rb +27 -0
  47. data/test/array/zip_with_test.rb +14 -0
  48. data/test/hash/extract_test.rb +11 -0
  49. data/test/hash/{test_has_shape_pred.rb → has_shape_pred_test.rb} +3 -3
  50. data/test/hash/{test_to_ostruct.rb → to_ostruct_test.rb} +3 -3
  51. data/test/integer/string_length_test.rb +16 -0
  52. data/test/kernel/fn_test.rb +14 -0
  53. data/test/kernel/{test_prompt.rb → prompt_test.rb} +4 -4
  54. data/test/kernel/require_optional_test.rb +15 -0
  55. data/test/kernel/with_test.rb +12 -0
  56. data/test/module/{test_private_accessor.rb → private_accessor_test.rb} +3 -3
  57. data/test/object/{test_display.rb → display_test.rb} +4 -5
  58. data/test/string/{test_cmpi.rb → cmpi_test.rb} +3 -3
  59. data/test/string/in_groups_of_test.rb +11 -0
  60. metadata +22 -25
  61. data/lib/shenanigans/fixnum.rb +0 -1
  62. data/lib/shenanigans/fixnum/string_length.rb +0 -14
  63. data/lib/shenanigans/object/it.rb +0 -9
  64. data/test/array/test_caret.rb +0 -9
  65. data/test/array/test_reductions.rb +0 -27
  66. data/test/array/test_zip_with.rb +0 -14
  67. data/test/fixnum/test_string_length.rb +0 -16
  68. data/test/hash/test_extract.rb +0 -11
  69. data/test/kernel/test_fn.rb +0 -14
  70. data/test/kernel/test_require_optional.rb +0 -17
  71. data/test/kernel/test_with.rb +0 -12
  72. data/test/object/test_it.rb +0 -10
  73. data/test/string/test_in_groups_of.rb +0 -11
@@ -1,11 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'shenanigans/hash/extract'
3
-
4
- class Extract < MiniTest::Unit::TestCase
5
- def test_extract
6
- hash = { a: 1, b: 2, c: 3 }
7
- assert_equal hash.extract(:b, :a), { a: 1, b: 2 }
8
- assert_equal hash.extract(:a, :d), { a: 1}
9
- assert_equal Hash.new.extract(:a, :c), Hash.new
10
- end
11
- end
@@ -1,14 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'shenanigans/kernel/fn'
3
-
4
- class Fn < MiniTest::Unit::TestCase
5
- def test_with_symbols
6
- result = ["foo bar", "baz qux"].map &fn(:split, :last)
7
- assert result == ["bar", "qux"]
8
- end
9
-
10
- def test_with_symbols_and_lambdas
11
- result = (1..3).map &fn(:next, -> x { x * x }, -> x { x.to_f / 2 } )
12
- assert result == [2.0, 4.5, 8.0]
13
- end
14
- end
@@ -1,17 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'shenanigans/kernel/require_optional'
3
- require 'stringio'
4
-
5
- class RequireOptional < MiniTest::Unit::TestCase
6
- def test_require_optional
7
- assert_equal require_optional('non_existent'), nil
8
- end
9
-
10
- def test_require_optional_with_block
11
- res = require_optional 'non_existent' do
12
- 42
13
- end
14
-
15
- assert_equal res, 42
16
- end
17
- end
@@ -1,12 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'shenanigans/kernel/with'
3
-
4
- class With < MiniTest::Unit::TestCase
5
- def test_with
6
- result = with([]) do |a|
7
- a << "a"
8
- a << "b"
9
- end
10
- assert result == %w(a b)
11
- end
12
- end
@@ -1,10 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'shenanigans/object/it'
3
-
4
- class Identity < MiniTest::Unit::TestCase
5
- def test_identity
6
- arr = [1, "2", :tree]
7
- assert arr.map(&:it) == arr
8
- assert [1,1,2,3].group_by(&:it) == {1 => [1, 1], 2 => [2], 3 => [3]}
9
- end
10
- end
@@ -1,11 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'shenanigans/string/in_groups_of'
3
-
4
- class InGroupsOf < MiniTest::Unit::TestCase
5
- def test_in_groups_of
6
- str = "aabbcc"
7
- assert str.in_groups_of(2) == ['aa', 'bb', 'cc']
8
- assert "".in_groups_of(2) == []
9
- assert_raises(ArgumentError) { "".in_groups_of(0) }
10
- end
11
- end