string_proc 1.0.3 → 1.0.5

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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/string_proc.rb +6 -4
  3. metadata +8 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c438fb3ed85ad080f84f08b8170866088df4ed7d612d2a878efcd2ef271bcaaf
4
- data.tar.gz: d0e502e2013ad7ff9473f3e7d79b8300616abcacd0ae524325c16b4693ec10a2
3
+ metadata.gz: 638a7e2fa185cfaf59657f9258e8a32bfa812715505187119dbfe1477c368df6
4
+ data.tar.gz: 66bce57ffc1b37bc54ab7164d4c14134f2f18b7a23d7dc66799aca516923afde
5
5
  SHA512:
6
- metadata.gz: f22f68e25a56a4d24d96e8b0ddb93ea8d307fb163920da6cf206a4084ae5c9ac676bfa4a62a4a98c073a341a1c2fa98f8746523ac4964d9d7504e51f24ca1e5a
7
- data.tar.gz: c3f1447490224a8ed91f368ad637ffb28f42281e4d70152ba8ad39ecc583a937c3d170f7b55aa6e9811838a89d3c32dbbac47a69a7ead5175323942c983739df
6
+ metadata.gz: 25998cf73ff0467dfd1cafd4a10a17940aa32294e2615854b8cbeed3e2f40147e33ffdde02bae27264c9ea1866915ec89a943fdd5caad1ab2ba0c0fa98a7b14e
7
+ data.tar.gz: 0ea47b2681d0e75a42d3303738b9817e2622def1f007223c835372262e32734b372920ee848cb4f807b8d28021a22c05f50c56b55f342673206a92b8b6df0d2b
data/lib/string_proc.rb CHANGED
@@ -1,15 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # Adds `String#to_proc` to allow multiple method chain calls on each element of an enumerable using the `&` shorthand
4
+ # The default separator is `.` but can be changed with the `String.proc_separator=` setter
3
5
  class String
4
- @@proc_separator ||= '.'
6
+ @proc_separator = '.'
5
7
 
6
- def self.proc_separator=(separator_string)
7
- @@proc_separator = separator_string
8
+ class << self
9
+ attr_accessor :proc_separator
8
10
  end
9
11
 
10
12
  def to_proc
11
13
  proc do |object|
12
- split(@@proc_separator).inject(object) { |obj, method| obj.send(method) }
14
+ split(self.class.proc_separator).reduce(object) { |obj, method| obj.public_send(method) }
13
15
  end
14
16
  end
15
17
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: string_proc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Rosenberg
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2020-09-08 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies: []
13
12
  description: Adds `String#to_proc`.
14
13
  email: aarongrosenberg@gmail.com
@@ -20,8 +19,10 @@ files:
20
19
  homepage: https://github.com/agrberg/string_proc
21
20
  licenses:
22
21
  - MIT
23
- metadata: {}
24
- post_install_message:
22
+ metadata:
23
+ rubygems_mfa_required: 'true'
24
+ source_code_uri: https://github.com/agrberg/string_proc
25
+ bug_tracker_uri: https://github.com/agrberg/string_proc/issues
25
26
  rdoc_options: []
26
27
  require_paths:
27
28
  - lib
@@ -29,15 +30,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - ">="
31
32
  - !ruby/object:Gem::Version
32
- version: '0'
33
+ version: '3.3'
33
34
  required_rubygems_version: !ruby/object:Gem::Requirement
34
35
  requirements:
35
36
  - - ">="
36
37
  - !ruby/object:Gem::Version
37
38
  version: '0'
38
39
  requirements: []
39
- rubygems_version: 3.1.2
40
- signing_key:
40
+ rubygems_version: 3.6.9
41
41
  specification_version: 4
42
42
  summary: Turn a string into proc of a series of methods to be called on an object.
43
43
  test_files: []