refinements 9.0.1 → 9.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 70acf2b8c8ba95ab2cb0189c0367b2292442abf3d9d81cbe6e820ef95c5a66b5
4
- data.tar.gz: 48d5e2e7d1a7a3e8f076436faebc91f3bda04767a28eee1440d44e3d7b08f60b
3
+ metadata.gz: ad550aa0de5b7885133c4a146ff83f8df49184e10fdafc36c57a32511d4ca4e3
4
+ data.tar.gz: 52279fbf8e921a3500b5b341bd421b7827ad37f5f5cd0c0976042b33a2332885
5
5
  SHA512:
6
- metadata.gz: 7b492840eacf8c27793979d6d8618dfc01802c9d4135056a49710a1e15fa10795d2d946c6133db444145701c822941ffaeccd1cddb5d4edf688e634af9ba76ee
7
- data.tar.gz: 5ae2b2815f56b7b863b00ba18f8ec496bcd761d3919db52f5b805e5b3336cd30f4eaf4ef50b573507977ac09e54146aae577e1b44bded757472ece82de96f006
6
+ metadata.gz: '095faf7714a553a86654fbb302ebaebe964ba8c291f5e6bf4dc010a2f96ae74ddf2b4bc2fd3a537eb4f76ae38d8bfdc1f06d9a70ac62b039d8437cdbe6fddd0d'
7
+ data.tar.gz: d642f75675fa88cf809ea086e4965b43d091c90ff75f11b0d5878ba2f4e900ef427c849b18345b6f1804729a91e20d805ce67223c334fe4af44f1c104b34026e
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -11,12 +11,11 @@ image::https://img.shields.io/badge/code_style-alchemists-brightgreen.svg[Alchem
11
11
  [link=https://circleci.com/gh/bkuhlmann/refinements]
12
12
  image::https://circleci.com/gh/bkuhlmann/refinements.svg?style=svg[Circle CI Status]
13
13
 
14
- Refinements are a collection of enhancements to primitive Ruby objects without needing to resort to
15
- painful and hard to debug
16
- link:https://www.alchemists.io/articles/ruby_antipatterns/#_monkey_patches[monkey patches]. These
17
- refinements give you additional syntactic sugar to develop clean and concise implementations while
18
- using less code. By refining our code we can acquire the functionality we wish the core primitives
19
- had!
14
+ Refinements are a collection primitive Ruby objects enhancements without needing to resort to hard
15
+ to debug link:https://www.alchemists.io/articles/ruby_antipatterns/#_monkey_patches[monkey patches].
16
+ These refinements give you additional syntactic sugar to develop clean and concise implementations
17
+ while using less code. By refining our code we can acquire the functionality we wish the core
18
+ primitives had!
20
19
 
21
20
  toc::[]
22
21
 
@@ -148,7 +147,7 @@ Removes given array or elements without mutating itself.
148
147
 
149
148
  ===== #filter_find
150
149
 
151
- Answers the first truthy and filtered result from a collection.
150
+ Answers the first element which evaluates to true from a filtered collection.
152
151
 
153
152
  [source,ruby]
154
153
  ----
@@ -349,7 +348,7 @@ example # {a: "A", b: {one: 1, two: "Two"}}
349
348
 
350
349
  ===== #deep_stringify_keys
351
350
 
352
- Stringifies keys of nested hash without mutating itself. Does not handle nested arrays, though.
351
+ Answers string keys of a nested hash without mutating itself. Does not handle nested arrays, though.
353
352
 
354
353
  [source,ruby]
355
354
  ----
@@ -360,7 +359,7 @@ example # {a: {b: 2}}
360
359
 
361
360
  ===== #deep_stringify_keys!
362
361
 
363
- Stringifies keys of nested hash while mutating itself. Does not handle nested arrays, though.
362
+ Answers string keys of nested hash while mutating itself. Does not handle nested arrays, though.
364
363
 
365
364
  [source,ruby]
366
365
  ----
@@ -827,14 +826,14 @@ parent_path = Pathname "/one"
827
826
  child_path = parent_path.join "two"
828
827
 
829
828
  child_path.make_path
830
- child_path.remove_tree # Pathname "/one/two"
829
+ parent_path.remove_tree # Pathname "/one"
831
830
  child_path.exist? # false
832
- paremt_path.exist? # true
831
+ parent_path.exist? # false
833
832
 
834
833
  child_path.make_path
835
- parent_path.remove_tree # Pathname "/one"
834
+ child_path.remove_tree # Pathname "/one/two"
836
835
  child_path.exist? # false
837
- parent_path.exist? # false
836
+ parent_path.exist? # true
838
837
  ----
839
838
 
840
839
  ===== #rewrite
@@ -886,7 +885,7 @@ Answers `true`/`false` based on whether string is blank, `<space>`, `\n`, `\t`,
886
885
 
887
886
  ===== #camelcase
888
887
 
889
- Answers a camelcased string.
888
+ Answers a camel cased string.
890
889
 
891
890
  [source,ruby]
892
891
  ----
@@ -895,7 +894,7 @@ Answers a camelcased string.
895
894
 
896
895
  ===== #down
897
896
 
898
- Answers string with only first letter downcased.
897
+ Answers string with only first letter down cased.
899
898
 
900
899
  [source,ruby]
901
900
  ----
@@ -977,7 +976,7 @@ well in other languages.
977
976
 
978
977
  ===== #snakecase
979
978
 
980
- Answers a snakecased string.
979
+ Answers a snake cased string.
981
980
 
982
981
  [source,ruby]
983
982
  ----
@@ -986,7 +985,7 @@ Answers a snakecased string.
986
985
 
987
986
  ===== #titleize
988
987
 
989
- Answers titleized string.
988
+ Answers a title string with proper capitalization of each word.
990
989
 
991
990
  [source,ruby]
992
991
  ----
@@ -1008,7 +1007,7 @@ Answers string as a boolean.
1008
1007
 
1009
1008
  ===== #up
1010
1009
 
1011
- Answers string with only first letter upcased.
1010
+ Answers string with only first letter capitalized.
1012
1011
 
1013
1012
  [source,ruby]
1014
1013
  ----
@@ -1038,6 +1037,8 @@ buffer # "This is a test."
1038
1037
 
1039
1038
  ===== .keyworded?
1040
1039
 
1040
+ ⚠️ Will be removed in the next major version. Use `.keyword_init?` instead.
1041
+
1041
1042
  Answers whether a struct was constructed with keyword or positional arguments.
1042
1043
 
1043
1044
  [source,ruby]
@@ -5,7 +5,7 @@ module Refinements
5
5
  module Identity
6
6
  NAME = "refinements"
7
7
  LABEL = "Refinements"
8
- VERSION = "9.0.1"
8
+ VERSION = "9.0.2"
9
9
  VERSION_LABEL = "#{LABEL} #{VERSION}".freeze
10
10
  end
11
11
  end
@@ -17,7 +17,11 @@ module Refinements
17
17
  def home = new(ENV["HOME"])
18
18
 
19
19
  def make_temp_dir prefix: "temp-", suffix: nil, root: nil
20
- Dir.mktmpdir([prefix, suffix], root) { |path| block_given? ? yield(new path) : new(path) }
20
+ if block_given?
21
+ Dir.mktmpdir([prefix, suffix], root) { |path| yield new(path) }
22
+ else
23
+ new Dir.mktmpdir([prefix, suffix], root)
24
+ end
21
25
  end
22
26
 
23
27
  def require_tree root, pattern = "**/*.rb"
@@ -4,11 +4,14 @@ module Refinements
4
4
  # Provides additional enhancements to the Struct primitive.
5
5
  module Structs
6
6
  refine Struct.singleton_class do
7
- def keyworded? = inspect.include?("keyword_init: true")
7
+ def keyworded?
8
+ warn "[DEPRECATION]: .keyworded? is deprecated, use .keyword_init? instead."
9
+ inspect.include?("keyword_init: true")
10
+ end
8
11
 
9
- def with_keywords(**arguments) = keyworded? ? new(**arguments) : new.merge!(**arguments)
12
+ def with_keywords(**arguments) = keyword_init? ? new(**arguments) : new.merge!(**arguments)
10
13
 
11
- def with_positions(*values) = keyworded? ? new(**members.zip(values).to_h) : new(*values)
14
+ def with_positions(*values) = keyword_init? ? new(**members.zip(values).to_h) : new(*values)
12
15
  end
13
16
 
14
17
  refine Struct do
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refinements
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.0.1
4
+ version: 9.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -28,7 +28,7 @@ cert_chain:
28
28
  lkHilIrX69jq8wMPpBhlaw2mRmeSL50Wv5u6xVBvOHhXFSP1crXM95vfLhLyRYod
29
29
  W2A=
30
30
  -----END CERTIFICATE-----
31
- date: 2022-01-01 00:00:00.000000000 Z
31
+ date: 2022-01-11 00:00:00.000000000 Z
32
32
  dependencies: []
33
33
  description:
34
34
  email:
metadata.gz.sig CHANGED
Binary file