lite-ruby 1.3.1 → 1.3.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8bbae849a2073a389f4e38ff5e8841d572f305c4bdb6a973595eda419c3638b7
4
- data.tar.gz: e983d29b4799e2d9c608f680d0dfa93b8f813b9bdaf802860b6a867de4fa4159
3
+ metadata.gz: 8e3035bce45906f90af5be5db4a0caca9581e73225b46c1639ef98df7ac431ef
4
+ data.tar.gz: 566859827bee72df021c49499b5c4f8c48c880633057a64de94ae491bfdec94f
5
5
  SHA512:
6
- metadata.gz: 264c6227410b80819e384fc612c4b3bd7802b5b021563c62027feb3901f9d1e023170639516ca0fde18fbda591d49595426b5e46d495c4a72f3d0680053884c8
7
- data.tar.gz: b64b81b77447af8133eae36c57e3295f0073064e1138ec66380ac43410a9b794a59bffa22d4ef6bd00550adfcb9bd532dfaacea66fb2ad9218a07c7197a469f8
6
+ metadata.gz: 6039e7334d7eace9f2cc0537c8d3b2fe6da1f8e2ec296d445acf0bb2fcae62a9c69b16ea002cffdd75a09178e6b0671f3075045b952493135fae184a27d91054
7
+ data.tar.gz: a9aa682a454cbd7084e74533f7aebdfed02c27fc321e6c6650d872f695d74222d7d7246cd647d1f8b57abe18b14eea6da365e5225fd5396798774e195a5898cc
data/CHANGELOG.md CHANGED
@@ -6,7 +6,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
- ## [1.3.1] - 2021-07-19
9
+ ## [1.3.2] - 2021-07-20
10
+ ### Changed
11
+ - Argument passing for try and send methods
12
+
13
+ ## [1.3.1] - 2021-07-20
10
14
  ### Removed
11
15
  - Struct `[]` and `[]=` existing methods
12
16
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lite-ruby (1.3.1)
4
+ lite-ruby (1.3.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -10,7 +10,7 @@ if Lite::Ruby.configuration.monkey_patches.include?('object')
10
10
  1 t true y yes on
11
11
  ].freeze
12
12
 
13
- # NOTE: There is a class between the PG gem and the `array?` method.
13
+ # NOTE: There is a clash between the PG gem and the `array?` method.
14
14
  # We only need to skip this on migrations since that action
15
15
  # happens on a seperate runtime.
16
16
  unless defined?(PG) && ARGV.first.to_s.start_with?('db:')
@@ -55,8 +55,8 @@ if Lite::Ruby.configuration.monkey_patches.include?('object')
55
55
  end
56
56
 
57
57
  # rubocop:disable Naming/PredicateName
58
- def is_any?(*objs)
59
- objs.any? { |obj| is_a?(obj) }
58
+ def is_any?(*objects)
59
+ objects.any? { |obj| is_a?(obj) }
60
60
  end
61
61
  # rubocop:enable Naming/PredicateName
62
62
 
@@ -80,38 +80,38 @@ if Lite::Ruby.configuration.monkey_patches.include?('object')
80
80
  is_a?(Range)
81
81
  end
82
82
 
83
- def safe_call(*keys)
84
- try_call(*keys) || self
83
+ def safe_call(...)
84
+ try_call(...) || self
85
85
  end
86
86
 
87
- def safe_send(*keys)
88
- try_send(*keys) || self
87
+ def safe_send(...)
88
+ try_send(...) || self
89
89
  end
90
90
 
91
- def safe_try(*obj, &block)
92
- try(*obj, &block) || self
91
+ def safe_try(...)
92
+ try(...) || self
93
93
  end
94
94
 
95
95
  def salvage(placeholder = '---')
96
96
  blank? ? placeholder : self
97
97
  end
98
98
 
99
- def salvage_try(*obj, placeholder: '---', &block)
100
- try(*obj, &block).salvage(placeholder)
99
+ def salvage_try(method_name = nil, *args, placeholder: '---', &block)
100
+ try(method_name, *args, &block).salvage(placeholder)
101
101
  end
102
102
 
103
- def send_chain(*keys)
104
- Array(keys).inject(self) { |obj, key| obj.send(*key) }
103
+ def send_chain(*args)
104
+ Array(args).inject(self) { |obj, argz| obj.send(*argz) }
105
105
  end
106
106
 
107
- def send_chain_if(*keys)
108
- Array(keys).inject(self) { |obj, key| obj.send_if(*key) }
107
+ def send_chain_if(*args)
108
+ Array(args).inject(self) { |obj, argz| obj.send_if(*argz) }
109
109
  end
110
110
 
111
- def send_if(key, *args)
111
+ def send_if(key, *args, **kwargs, &block)
112
112
  return self unless respond_to?(key)
113
113
 
114
- send(key, *args)
114
+ send(key, *args, **kwargs, &block)
115
115
  end
116
116
 
117
117
  def set?
@@ -151,14 +151,14 @@ if Lite::Ruby.configuration.monkey_patches.include?('object')
151
151
  TRUE_VALUES.include?(to_s.downcase)
152
152
  end
153
153
 
154
- def try_call(*keys)
154
+ def try_call(...)
155
155
  return unless respond_to?(:call)
156
156
 
157
- keys.blank? ? call : call(*keys)
157
+ call(...)
158
158
  end
159
159
 
160
- def try_send(*keys)
161
- send(*keys)
160
+ def try_send(...)
161
+ send(...)
162
162
  rescue StandardError
163
163
  nil
164
164
  end
@@ -10,7 +10,7 @@ if Lite::Ruby.configuration.monkey_patches.include?('open_struct')
10
10
  end
11
11
 
12
12
  def replace(args)
13
- args.each { |key, val| send("#{key}=", val) }
13
+ args.each { |key, val| self[key] = val }
14
14
  end
15
15
 
16
16
  def to_hash(table: true)
@@ -5,9 +5,7 @@ class Object
5
5
  def blank?
6
6
  object = self
7
7
  object = object.strip if respond_to?(:strip)
8
- return object.empty? if respond_to?(:empty?)
9
-
10
- !object
8
+ respond_to?(:empty?) ? object.empty? : !object
11
9
  end
12
10
 
13
11
  def deep_dup
@@ -26,15 +24,19 @@ class Object
26
24
  self if present?
27
25
  end
28
26
 
29
- def try(*obj, &block)
30
- try!(*obj, &block) if obj.empty? || respond_to?(obj.first)
27
+ def try(method_name = nil, *args, &block)
28
+ if method_name.nil? && block
29
+ block.arity.zero? ? instance_eval(&block) : yield(self)
30
+ elsif respond_to?(method_name)
31
+ public_send(method_name, *args, &block)
32
+ end
31
33
  end
32
34
 
33
- def try!(*obj, &block)
34
- if obj.empty? && defined?(yield)
35
+ def try!(method_name = nil, *args, &block)
36
+ if method_name.nil? && block
35
37
  block.arity.zero? ? instance_eval(&block) : yield(self)
36
38
  else
37
- public_send(*obj, &block)
39
+ public_send(method_name, *args, &block)
38
40
  end
39
41
  end
40
42
 
@@ -3,7 +3,7 @@
3
3
  module Lite
4
4
  module Ruby
5
5
 
6
- VERSION = '1.3.1'
6
+ VERSION = '1.3.2'
7
7
 
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lite-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Gomez