shenanigans 1.0.14 → 1.0.17

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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/lib/shenanigans/hash/has_shape_pred.rb +1 -1
  3. data/lib/shenanigans/integer/divisible_by.rb +13 -0
  4. data/lib/shenanigans/integer.rb +1 -0
  5. data/lib/shenanigans/kernel/fn.rb +0 -2
  6. data/lib/shenanigans/kernel/prompt.rb +1 -3
  7. data/lib/shenanigans/kernel/require_optional.rb +0 -2
  8. data/lib/shenanigans/kernel/with.rb +0 -2
  9. data/lib/shenanigans.rb +1 -1
  10. metadata +79 -46
  11. data/Gemfile +0 -9
  12. data/doc/Array.html +0 -549
  13. data/doc/Hash.html +0 -438
  14. data/doc/Integer.html +0 -219
  15. data/doc/Kernel.html +0 -500
  16. data/doc/Module.html +0 -233
  17. data/doc/Object.html +0 -215
  18. data/doc/String.html +0 -300
  19. data/doc/_index.html +0 -185
  20. data/doc/class_list.html +0 -51
  21. data/doc/css/common.css +0 -1
  22. data/doc/css/full_list.css +0 -58
  23. data/doc/css/style.css +0 -496
  24. data/doc/file.README.html +0 -131
  25. data/doc/file_list.html +0 -56
  26. data/doc/frames.html +0 -17
  27. data/doc/index.html +0 -131
  28. data/doc/js/app.js +0 -314
  29. data/doc/js/full_list.js +0 -216
  30. data/doc/js/jquery.js +0 -4
  31. data/doc/method_list.html +0 -179
  32. data/doc/top-level-namespace.html +0 -112
  33. data/test/array/caret_test.rb +0 -9
  34. data/test/array/random_subarray_test.rb +0 -10
  35. data/test/array/reductions_test.rb +0 -27
  36. data/test/array/zip_with_test.rb +0 -14
  37. data/test/hash/extract_test.rb +0 -11
  38. data/test/hash/has_shape_pred_test.rb +0 -40
  39. data/test/hash/to_ostruct_test.rb +0 -23
  40. data/test/integer/string_length_test.rb +0 -16
  41. data/test/kernel/fn_test.rb +0 -14
  42. data/test/kernel/prompt_test.rb +0 -27
  43. data/test/kernel/require_optional_test.rb +0 -15
  44. data/test/kernel/with_test.rb +0 -12
  45. data/test/module/private_accessor_test.rb +0 -21
  46. data/test/object/display_test.rb +0 -35
  47. data/test/string/cmpi_test.rb +0 -10
  48. data/test/string/in_groups_of_test.rb +0 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0b2455418fc4671757f0ed454480bab16c0932e3ec8bf7f2c63f6f565319d64c
4
- data.tar.gz: 9b359a6bb6504d3664591bb396845caaba048323e7c7cb46b16ceacd34611929
3
+ metadata.gz: 4bf657b492952b90375dafac6f9da8ff48b9bfdfa505406bf710b18c1b3a1002
4
+ data.tar.gz: 94d563bc10fb0aaed7efe2bdec61432ff4d5e5999515de7e2a57bc79b3729f3e
5
5
  SHA512:
6
- metadata.gz: 6ada5cb0858a97e82f34bb5523822868e1c9c2133d8542bced908a467c0de00e902c3fff86004449bfcc9e52bc92bf25c500f583a15dd80da85436f0a6a923a8
7
- data.tar.gz: 4fabbfc917479bf8794233a80005c51a0b37057e329122109190de4ee18a18c4f869e1fd0c4aa9c07e9ee2223b9aa59bade9b16e24f01c357e8f5cefe2dbc827
6
+ metadata.gz: b7fdeb35c9ebbea5aab5fbb7ff7c9c9ab65bd2153360eb43f8d4b1b708d9a1d3b6657c25c1984e678aff27f136987f04b7a06c988f2e236cbcd5a2f610b80d9a
7
+ data.tar.gz: d7d84a4f230d9db2b41d471278c7ef28c2a7212be8116f918e3e34a32524665893c02ec76cb3b78752c58f40fb766737ebadbf588eb10241d1d8120d1d96c4da
@@ -3,7 +3,7 @@ class Hash
3
3
  #
4
4
  # @example Simple hash
5
5
  # h = { k1: 1, k2: "1" }
6
- # h.has_shape?(k1: Fixnum, k2: String) #=> true
6
+ # h.has_shape?(k1: Integer, k2: String) #=> true
7
7
  # h.has_shape?(k1: Class, k2: String) #=> false
8
8
  # @example Nested hashes
9
9
  # h = { k1: [], k2: { k3: Struct.new("Foo") } }
@@ -0,0 +1,13 @@
1
+ class Integer
2
+ # Checks whether the receiver is cleanly divisble by the argument.
3
+ # @example
4
+ # 3.divisble_by(0) #=> false
5
+ # 3.divisble_by(2) #=> false
6
+ # 9.divisble_bu(3) #=> true
7
+ def divisible_by(n)
8
+ return false if n.zero?
9
+
10
+ self % n == 0
11
+ end
12
+ end
13
+
@@ -1 +1,2 @@
1
+ require_relative "integer/divisible_by"
1
2
  require_relative "integer/string_length"
@@ -14,6 +14,4 @@ module Kernel
14
14
  end
15
15
  end
16
16
  end
17
-
18
- private :fn
19
17
  end
@@ -6,7 +6,7 @@ module Kernel
6
6
  # Displays a prompt and returns chomped input.
7
7
  # Modelled after the Python method <tt>raw_input</tt>, but also can
8
8
  # be supplied with an optional conversion method.
9
- #
9
+ #
10
10
  # @example A simple prompt
11
11
  # prompt("Prompt> ")
12
12
  # Prompt> 12 #=> "12"
@@ -18,6 +18,4 @@ module Kernel
18
18
  input = gets.chomp
19
19
  CONVERSIONS.include?(conversion) ? input.send(conversion) : input
20
20
  end
21
-
22
- private :prompt
23
21
  end
@@ -14,6 +14,4 @@ module Kernel
14
14
  rescue LoadError
15
15
  block&.call
16
16
  end
17
-
18
- private :require_optional
19
17
  end
@@ -10,6 +10,4 @@ module Kernel
10
10
  def with(o, &blk)
11
11
  o.tap(&blk)
12
12
  end
13
-
14
- private :with
15
13
  end
data/lib/shenanigans.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require "shenanigans/array"
2
- require "shenanigans/fixnum"
3
2
  require "shenanigans/hash"
3
+ require "shenanigans/integer"
4
4
  require "shenanigans/kernel"
5
5
  require "shenanigans/module"
6
6
  require "shenanigans/object"
metadata CHANGED
@@ -1,45 +1,93 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shenanigans
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.14
4
+ version: 1.0.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Kohl
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-05 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2022-02-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '5.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '5.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '13.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '13.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: standard
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.7'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.7'
69
+ - !ruby/object:Gem::Dependency
70
+ name: yard
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 0.9.20
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 0.9.20
13
83
  description: A collection of extensions for various Ruby core classes.
14
- email: citizen428@gmail.com
84
+ email: me@citizen428.net
15
85
  executables: []
16
86
  extensions: []
17
87
  extra_rdoc_files: []
18
88
  files:
19
- - Gemfile
20
89
  - LICENSE
21
90
  - README.rdoc
22
- - doc/Array.html
23
- - doc/Hash.html
24
- - doc/Integer.html
25
- - doc/Kernel.html
26
- - doc/Module.html
27
- - doc/Object.html
28
- - doc/String.html
29
- - doc/_index.html
30
- - doc/class_list.html
31
- - doc/css/common.css
32
- - doc/css/full_list.css
33
- - doc/css/style.css
34
- - doc/file.README.html
35
- - doc/file_list.html
36
- - doc/frames.html
37
- - doc/index.html
38
- - doc/js/app.js
39
- - doc/js/full_list.js
40
- - doc/js/jquery.js
41
- - doc/method_list.html
42
- - doc/top-level-namespace.html
43
91
  - lib/shenanigans.rb
44
92
  - lib/shenanigans/array.rb
45
93
  - lib/shenanigans/array/caret.rb
@@ -51,6 +99,7 @@ files:
51
99
  - lib/shenanigans/hash/has_shape_pred.rb
52
100
  - lib/shenanigans/hash/to_ostruct.rb
53
101
  - lib/shenanigans/integer.rb
102
+ - lib/shenanigans/integer/divisible_by.rb
54
103
  - lib/shenanigans/integer/string_length.rb
55
104
  - lib/shenanigans/kernel.rb
56
105
  - lib/shenanigans/kernel/fn.rb
@@ -64,27 +113,11 @@ files:
64
113
  - lib/shenanigans/string.rb
65
114
  - lib/shenanigans/string/cmpi.rb
66
115
  - lib/shenanigans/string/in_groups_of.rb
67
- - test/array/caret_test.rb
68
- - test/array/random_subarray_test.rb
69
- - test/array/reductions_test.rb
70
- - test/array/zip_with_test.rb
71
- - test/hash/extract_test.rb
72
- - test/hash/has_shape_pred_test.rb
73
- - test/hash/to_ostruct_test.rb
74
- - test/integer/string_length_test.rb
75
- - test/kernel/fn_test.rb
76
- - test/kernel/prompt_test.rb
77
- - test/kernel/require_optional_test.rb
78
- - test/kernel/with_test.rb
79
- - test/module/private_accessor_test.rb
80
- - test/object/display_test.rb
81
- - test/string/cmpi_test.rb
82
- - test/string/in_groups_of_test.rb
83
116
  homepage: http://rubydoc.info/gems/shenanigans/frames
84
117
  licenses:
85
118
  - MIT
86
119
  metadata: {}
87
- post_install_message:
120
+ post_install_message:
88
121
  rdoc_options: []
89
122
  require_paths:
90
123
  - lib
@@ -99,8 +132,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
132
  - !ruby/object:Gem::Version
100
133
  version: '0'
101
134
  requirements: []
102
- rubygems_version: 3.1.2
103
- signing_key:
135
+ rubygems_version: 3.3.7
136
+ signing_key:
104
137
  specification_version: 4
105
138
  summary: Think Facets, just less useful
106
139
  test_files: []
data/Gemfile DELETED
@@ -1,9 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "rake"
4
-
5
- group :developement do
6
- gem "minitest", ">= 2.6.0"
7
- gem "standard"
8
- gem "yard"
9
- end