active_object 5.8.7 → 5.8.8

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: b6b40bd57ea51c55d63f9fc6dce69d00e584694b585b62d092b9d0c4e80272ae
4
- data.tar.gz: 46a27d84506b6380b858a460f08f2f5362eb18a39dd354e9d00bcecca1cb2124
3
+ metadata.gz: 467b3ff3ed965d1993beb11434c8ead0d178a0c13fdb2c084d9653c8879a5276
4
+ data.tar.gz: f58d3b7bb9526ccdb2ccd8be5010e90e15e4b7f6ebcd58adc1c096e07da9b950
5
5
  SHA512:
6
- metadata.gz: 25195c4fdef1de1b7a3903cc35f8005ddd6d7e1f006098988fade197a4850cfe09ea815f5a5ec9a44531f4ea3a7b0b57d0fdd088e247dc517ba5bf50046adb6d
7
- data.tar.gz: 4114431acdea241350d2d605a4a96ae731c3277ff3c9ebb5d1cb83799069b1bc81ee91cf4c8d43942934bbfedd94fec5daf4fb82ab6e1193ae0adaab4c3b42db
6
+ metadata.gz: 03abb73322c9a69e9a65012cceaa2117c4301e2cbbe982b28e4a70eadf83c482b4f2a120330738ebd8d64309e46ea28245cbef1754441d9cc08e2b8a900ea8f3
7
+ data.tar.gz: 85b759f31eee8fd41fbceddc930aa3cce754a521f8395068e1f7d104eb12421b6e589e1404ce60e064a9448f7370e9e2cdacbb10e30ce4066a9cfe590d7786dc
data/README.md CHANGED
@@ -1562,8 +1562,18 @@ true.falsey? #=> false
1562
1562
  1.range? #=> false
1563
1563
  ```
1564
1564
 
1565
+ **Safe Call:**
1566
+ `safe_call` execute caller to an object and rescues with self.
1567
+
1568
+ ```ruby
1569
+ callr = -> { 3 * 3 }
1570
+
1571
+ 3.safe_call #=> 3
1572
+ callr.safe_call #=> 9
1573
+ ```
1574
+
1565
1575
  **Safe Send:**
1566
- `safe_send` execute caller to an object and rescues with self.
1576
+ `safe_send` execute object method and rescues with self.
1567
1577
 
1568
1578
  ```ruby
1569
1579
  3.safe_send(:fake) #=> 3
@@ -1657,13 +1667,23 @@ false.truthy? #=> false
1657
1667
  'example'.try(:fake_method) #=> nil
1658
1668
  ```
1659
1669
 
1670
+ **Try Call:**
1671
+ `try_call` execute caller to an object and rescues with nil.
1672
+
1673
+ ```ruby
1674
+ callr = -> { 3 * 3 }
1675
+
1676
+ 3.try_call #=> nil
1677
+ callr.try_call #=> 9
1678
+ ```
1679
+
1660
1680
  **Try Send:**
1661
- `try_send` execute caller to an object and rescues with nil.
1681
+ `try_send` execute object method and rescues with nil.
1662
1682
 
1663
1683
  ```ruby
1664
- 3.safe_send(:fake) #=> nil
1665
- 3.safe_send(:to_s) #=> '3'
1666
- 3.safe_send(:+, 2) #=> 5
1684
+ 3.try_send(:fake) #=> 3
1685
+ 3.try_send(:to_s) #=> '3'
1686
+ 3.try_send(:+, 2) #=> 5
1667
1687
  ```
1668
1688
 
1669
1689
  ## Range
@@ -69,8 +69,12 @@ module ActiveObject
69
69
  is_a?(Range)
70
70
  end
71
71
 
72
+ def safe_call
73
+ try_call || self
74
+ end
75
+
72
76
  def safe_send(*keys)
73
- send(*keys) rescue self
77
+ try_send(*keys) || self
74
78
  end
75
79
 
76
80
  def salvage(placeholder = '---')
@@ -125,6 +129,12 @@ module ActiveObject
125
129
  end
126
130
  end
127
131
 
132
+ def try_call
133
+ return unless respond_to?(:call)
134
+
135
+ call
136
+ end
137
+
128
138
  def try_send(*keys)
129
139
  send(*keys) rescue nil
130
140
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActiveObject
4
- VERSION ||= '5.8.7'
4
+ VERSION ||= '5.8.8'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_object
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.8.7
4
+ version: 5.8.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Gomez