shenanigans 1.0.14 → 1.0.17

Sign up to get free protection for your applications and to get access to all the features.
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