active_object 5.8.2 → 5.8.3

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: 840f98086dbb394f13934efae4330a6409a68e68a55819cd39eaad35c9993cde
4
- data.tar.gz: a7270ef3ef54acdddf8bd389e7d233f28feeb9f605f2e5d5d6c5d48e41574289
3
+ metadata.gz: 96dbd03288d0c0a8b3df8666835d079516a95f44d9f24ae9da7edb58b6b6c4f9
4
+ data.tar.gz: 8fe191933667e882f2563a69da969b1e20b4eb68bcf36287d957b967ea2075d6
5
5
  SHA512:
6
- metadata.gz: 3d1417667be46581665f7e6405b2fb3943382c67f6ef2c5b51e971c429527926c759d8e94fc032ef6929dc686dba482d56770436c0f5094a78748676dd19fb3c
7
- data.tar.gz: 82171c8c45b7d58165202e5897daadac988e898c9e51cda748d500add27144b2870e189b44df9c00f6ac4b32860150fc9d6ab1eaab554ba6f7791134b13765de
6
+ metadata.gz: 2e5a7daff8fd0860ba6ff862b722fd804162de866c1934f68a4271c50d25274a98ef4e45d2c7ff9c14eff9a558e11ee23bc294f1b703f084f51692f332a68ccc
7
+ data.tar.gz: 3220ee17a1e417f09de8f0acedc9ed19a8c6d893c6b38d1b373eb726c5f8e6ed1a20fc146ebab00e883801a24b9ade660bcc14810ef41808bf8438b671547d01
data/README.md CHANGED
@@ -1572,6 +1572,25 @@ nil.salvage('bar') #=> 'bar'
1572
1572
  3.send_chain(:factorial, [:add, 4]) #=> 10
1573
1573
  ```
1574
1574
 
1575
+ **Send Chain If:**
1576
+ `send_chain_if` chains multiple callers to an object if it responds to it.
1577
+
1578
+ ```ruby
1579
+ 3.send_chain_if(:test) #=> 3
1580
+ 3.send_chain_if(:factorial) #=> 6
1581
+ 3.send_chain_if([:add, 4]) #=> 7
1582
+ 3.send_chain_if(:factorial, [:add, 4], :test) #=> 10
1583
+ ```
1584
+
1585
+ **Send If:**
1586
+ `send_if` sends a caller to an object if it responds to it.
1587
+
1588
+ ```ruby
1589
+ 3.send_if(:test) #=> 3
1590
+ 3.send_if(:factorial) #=> 6
1591
+ 3.send_if(:add, 4) #=> 7
1592
+ ```
1593
+
1575
1594
  **String:**
1576
1595
  `string?` determines if an object is a string.
1577
1596
 
@@ -73,6 +73,16 @@ module ActiveObject
73
73
  Array(keys).inject(self) { |obj, key| obj.send(*key) }
74
74
  end
75
75
 
76
+ def send_chain_if(*keys)
77
+ Array(keys).inject(self) { |obj, key| obj.send_if(*key) }
78
+ end
79
+
80
+ def send_if(key, *args)
81
+ return self unless respond_to?(key)
82
+
83
+ send(key, *args)
84
+ end
85
+
76
86
  def string?
77
87
  is_a?(String)
78
88
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActiveObject
4
- VERSION ||= '5.8.2'
4
+ VERSION ||= '5.8.3'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_object
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.8.2
4
+ version: 5.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Gomez
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-12-27 00:00:00.000000000 Z
11
+ date: 2019-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -169,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
169
  - !ruby/object:Gem::Version
170
170
  version: '0'
171
171
  requirements: []
172
- rubygems_version: 3.0.0
172
+ rubygems_version: 3.0.2
173
173
  signing_key:
174
174
  specification_version: 4
175
175
  summary: Gem for commonly used ruby object helpers.