rodash 2.0.0 → 4.0.0

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 +5 -5
  2. data/lib/rodash.rb +16 -11
  3. metadata +6 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 065794978a50b2ed6a1d951f656756c9f0b63727
4
- data.tar.gz: dc481f1efadbab5e1a780caf25418e5b83603495
2
+ SHA256:
3
+ metadata.gz: bbb69e1ae3e796ebf133983a5bad41414f4e2178e4e7e364480aefd8849f21fe
4
+ data.tar.gz: 62df9d3a934288dbe0b5e9fefcbcd3db94dadf503a63be7206ba9180739abef1
5
5
  SHA512:
6
- metadata.gz: ac4f63f272d6d5ce5040e1090207cc71dfe6941979e7f28a98659a2638a039f354e1f264177e797e715b302adda2e46289ec6a8b8f3df38eb0d2fa4e2e9b3d52
7
- data.tar.gz: c506010baea93b8a3499eaa687ff293fb36fcc7138a3a9c58bfebe4c57a30ca9c14482f02315610bc8a073418eded03d7126aad7f947d24f017c612a56298148
6
+ metadata.gz: 1b73b37cb3fe80006f9a0ac5c263a3f506f73879de09f7ae4e0f02044153487324e4ecc51ad49fdf1f32167058409aa3eee4e5439f0db46602fbbfa363efba5a
7
+ data.tar.gz: b26b0a476f722cb6a321df96fbd318dec71d3525e0e5d966a2ec2fca66e16ce07acd4ba72735e6a1c84d62f8e6b62ad3aeea9ff1ed3440b9502e8650de2ffaf3
data/lib/rodash.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # Rodash 1.0.0
2
2
  # Rodash.get and Rodash.set
3
- # MIT License
3
+ # MIT License
4
4
  # Based on Lodash.js 4.3.0 <https://lodash.com/>
5
5
 
6
6
  class Rodash
@@ -30,7 +30,7 @@ class Rodash
30
30
  def self.set(object, path, value)
31
31
  object.nil? ? object : baseSet(object, path, value)
32
32
  end
33
-
33
+
34
34
  # Gets the value at `path` of `object`. If the resolved value is
35
35
  # `nil` the `defaultValue` is used in its place.
36
36
  #
@@ -96,23 +96,26 @@ class Rodash
96
96
  nested = object
97
97
  newNested = nil
98
98
 
99
- [*path, nil].each_cons(2) do |key,nextkey|
99
+ [*path, nil].each_cons(2) do |key, nextkey|
100
100
  if isIndex(key) && nested.is_a?(Array)
101
101
  key = key.to_i
102
102
  end
103
103
  if nextkey.nil?
104
104
  newNested = nested[key] = value
105
- else
105
+ else
106
106
  newNested = nested[key]
107
107
  if isIndex(nextkey) && (!newNested.is_a?(Hash) || !newNested.is_a(Array))
108
- nested[key] = newNested = []
108
+ nested[key] = []
109
+ newNested = [] if newNested == nil
110
+ nested[key] = newNested if newNested != nil
109
111
  elsif not newNested.is_a? Hash
110
- nested[key] = newNested = {}
112
+ nested[key] = {}
113
+ newNested = {} if newNested == nil
114
+ nested[key] = newNested if newNested != nil
111
115
  end
112
116
  end
113
117
  nested = newNested
114
118
  end
115
-
116
119
  return object
117
120
  end
118
121
 
@@ -160,9 +163,11 @@ class Rodash
160
163
  def self.isKey(value, object)
161
164
  return true if value.is_a? Numeric
162
165
 
163
- return !value.is_a?(Array) &&
164
- (@@reIsPlainProp =~ value || !@@reIsDeepProp =~ value ||
165
- (!object.nil? && object.has_key?(value)))
166
+ return false if value.is_a?(Array)
167
+
168
+ @@reIsPlainProp.match?(value) ||
169
+ !@@reIsDeepProp.match?(value) ||
170
+ (object && !object.is_a?(Array) && object.has_key?(value))
166
171
  end
167
172
 
168
173
  def self.baseToPath(value)
@@ -189,4 +194,4 @@ class Rodash
189
194
  length = length.nil? ? @@MAX_SAFE_INTEGER : length
190
195
  return value > -1 && value % 1 == 0 && value < length
191
196
  end
192
- end
197
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rodash
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Antoine Pultier
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-24 00:00:00.000000000 Z
11
+ date: 2024-01-24 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: _.set, _.get, and _.unset for Ruby
14
14
  email: antoine.pultier@sintef.no
@@ -21,7 +21,7 @@ homepage: https://github.com/SINTEF-9012/Rodash
21
21
  licenses:
22
22
  - MIT
23
23
  metadata: {}
24
- post_install_message:
24
+ post_install_message:
25
25
  rdoc_options: []
26
26
  require_paths:
27
27
  - lib
@@ -36,9 +36,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
36
36
  - !ruby/object:Gem::Version
37
37
  version: '0'
38
38
  requirements: []
39
- rubyforge_project:
40
- rubygems_version: 2.4.8
41
- signing_key:
39
+ rubygems_version: 3.5.3
40
+ signing_key:
42
41
  specification_version: 4
43
42
  summary: Rodash
44
43
  test_files: []