lite-ruby 1.1.10 → 1.1.15
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 +4 -4
- data/CHANGELOG.md +22 -0
- data/Gemfile.lock +14 -14
- data/docs/ARRAY.md +33 -0
- data/docs/STRING.md +3 -3
- data/lib/lite/ruby/array.rb +12 -0
- data/lib/lite/ruby/open_struct.rb +26 -2
- data/lib/lite/ruby/version.rb +1 -1
- data/lite-ruby.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a427f3ee463a045ec4b95c52928b69777b2aa07ae3bd23eaf2835fdcc5abeed
|
4
|
+
data.tar.gz: 436af138b20c6f1ee2f95ad8df362ecbf6a1299db8cb8bb88118ff7bdc1cc01c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '030648c74db1997e17bdb0ced23396f0b25c962147d94f91988c3d5a7b64d500c57c8e6b8b3350c455bddf0d95e1b216cb137d27bd6418a5813d51399fdb097f'
|
7
|
+
data.tar.gz: 982b7a068449a50d1309c49b37725e6ba5ac6718aaa3b87b11fdbe48f5582a1b1d9754bddbc9afe996befadbd43a3f00551bc90cd414a8a95ba682bfdc40cc34
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
6
6
|
|
7
7
|
## [Unreleased]
|
8
8
|
|
9
|
+
## [1.1.15] - 2021-07-05
|
10
|
+
### Changed
|
11
|
+
- Added more OpenStruct backwards compatibility
|
12
|
+
|
13
|
+
## [1.1.14] - 2021-07-05
|
14
|
+
### Changed
|
15
|
+
- Fixed mistake in OpenStruct backwards compatibility
|
16
|
+
|
17
|
+
## [1.1.13] - 2021-07-05
|
18
|
+
### Added
|
19
|
+
- Added more OpenStruct backwards compatibility
|
20
|
+
|
21
|
+
## [1.1.12] - 2021-07-05
|
22
|
+
### Added
|
23
|
+
- Added OpenStruct backwards compatibility
|
24
|
+
|
25
|
+
## [1.1.11] - 2021-07-04
|
26
|
+
### Added
|
27
|
+
- Added Array => `contains_all?`
|
28
|
+
- Added Array => `contains_any?`
|
29
|
+
- Added Array => `contains_none?`
|
30
|
+
|
9
31
|
## [1.1.10] - 2021-06-21
|
10
32
|
### Changed
|
11
33
|
- Struct `[]` to be accessible via `attributes`
|
data/Gemfile.lock
CHANGED
@@ -1,25 +1,25 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
lite-ruby (1.1.
|
4
|
+
lite-ruby (1.1.15)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
|
-
actionpack (6.1.
|
10
|
-
actionview (= 6.1.
|
11
|
-
activesupport (= 6.1.
|
9
|
+
actionpack (6.1.4)
|
10
|
+
actionview (= 6.1.4)
|
11
|
+
activesupport (= 6.1.4)
|
12
12
|
rack (~> 2.0, >= 2.0.9)
|
13
13
|
rack-test (>= 0.6.3)
|
14
14
|
rails-dom-testing (~> 2.0)
|
15
15
|
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
16
|
-
actionview (6.1.
|
17
|
-
activesupport (= 6.1.
|
16
|
+
actionview (6.1.4)
|
17
|
+
activesupport (= 6.1.4)
|
18
18
|
builder (~> 3.1)
|
19
19
|
erubi (~> 1.4)
|
20
20
|
rails-dom-testing (~> 2.0)
|
21
21
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
22
|
-
activesupport (6.1.
|
22
|
+
activesupport (6.1.4)
|
23
23
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
24
24
|
i18n (>= 1.6, < 2)
|
25
25
|
minitest (>= 5.1)
|
@@ -61,11 +61,11 @@ GEM
|
|
61
61
|
nokogiri (>= 1.6)
|
62
62
|
rails-html-sanitizer (1.3.0)
|
63
63
|
loofah (~> 2.3)
|
64
|
-
railties (6.1.
|
65
|
-
actionpack (= 6.1.
|
66
|
-
activesupport (= 6.1.
|
64
|
+
railties (6.1.4)
|
65
|
+
actionpack (= 6.1.4)
|
66
|
+
activesupport (= 6.1.4)
|
67
67
|
method_source
|
68
|
-
rake (>= 0.
|
68
|
+
rake (>= 0.13)
|
69
69
|
thor (~> 1.0)
|
70
70
|
rainbow (3.0.0)
|
71
71
|
rake (13.0.3)
|
@@ -84,7 +84,7 @@ GEM
|
|
84
84
|
diff-lcs (>= 1.2.0, < 2.0)
|
85
85
|
rspec-support (~> 3.10.0)
|
86
86
|
rspec-support (3.10.2)
|
87
|
-
rubocop (1.
|
87
|
+
rubocop (1.18.2)
|
88
88
|
parallel (~> 1.10)
|
89
89
|
parser (>= 3.0.0.0)
|
90
90
|
rainbow (>= 2.2.2, < 4.0)
|
@@ -98,8 +98,8 @@ GEM
|
|
98
98
|
rubocop-performance (1.11.3)
|
99
99
|
rubocop (>= 1.7.0, < 2.0)
|
100
100
|
rubocop-ast (>= 0.4.0)
|
101
|
-
rubocop-rake (0.
|
102
|
-
rubocop
|
101
|
+
rubocop-rake (0.6.0)
|
102
|
+
rubocop (~> 1.0)
|
103
103
|
rubocop-rspec (2.4.0)
|
104
104
|
rubocop (~> 1.0)
|
105
105
|
rubocop-ast (>= 1.1.0)
|
data/docs/ARRAY.md
CHANGED
@@ -104,6 +104,39 @@ Updates a deeply nested value.
|
|
104
104
|
['1', ['2']].bury(1) #=> raises ArgumentError: '2 or more arguments required'
|
105
105
|
```
|
106
106
|
|
107
|
+
`contains_all?`
|
108
|
+
------
|
109
|
+
Returns true/false if an array contains all values from another.
|
110
|
+
|
111
|
+
```ruby
|
112
|
+
[1, 2, 3].contains_all?([1, 2, 3]) #=> true
|
113
|
+
[1, 2, 3].contains_all?([1, 2, 3, 4]) #=> true
|
114
|
+
[1, 2, 3].contains_all?([1, 2]) #=> false
|
115
|
+
[1, 2, 3].contains_all?([4, 5]) #=> false
|
116
|
+
```
|
117
|
+
|
118
|
+
`contains_any?`
|
119
|
+
------
|
120
|
+
Returns true/false if an array contains any values from another.
|
121
|
+
|
122
|
+
```ruby
|
123
|
+
[1, 2, 3].contains_any?([1, 2]) #=> true
|
124
|
+
[1, 2, 3].contains_any?([1, 2, 3]) #=> true
|
125
|
+
[1, 2, 3].contains_any?([1, 2, 3, 4]) #=> true
|
126
|
+
[1, 2, 3].contains_any?([4, 5]) #=> false
|
127
|
+
```
|
128
|
+
|
129
|
+
`contains_none?`
|
130
|
+
------
|
131
|
+
Returns true/false if an array contains none of the values from another.
|
132
|
+
|
133
|
+
```ruby
|
134
|
+
[1, 2, 3].contains_none?([4, 5]) #=> true
|
135
|
+
[1, 2, 3].contains_none?([1, 2]) #=> false
|
136
|
+
[1, 2, 3].contains_none?([1, 2, 3]) #=> false
|
137
|
+
[1, 2, 3].contains_none?([1, 2, 3, 4]) #=> false
|
138
|
+
```
|
139
|
+
|
107
140
|
`delete_first(!)`
|
108
141
|
------
|
109
142
|
Removes the first element from an array. Like `shift`, but returns the array instead of the removed element.
|
data/docs/STRING.md
CHANGED
@@ -240,9 +240,9 @@ of the string until it reaches the limit value (counting backwards). If the give
|
|
240
240
|
than or equal to the string length, Returns a copy of self.
|
241
241
|
|
242
242
|
```ruby
|
243
|
-
'example'.last
|
244
|
-
'example'.last(0)
|
245
|
-
'example'.
|
243
|
+
'example'.last #=> 'e'
|
244
|
+
'example'.last(0) #=> ''
|
245
|
+
'example'.last(3) #=> 'ple'
|
246
246
|
```
|
247
247
|
|
248
248
|
`lchomp(!)`
|
data/lib/lite/ruby/array.rb
CHANGED
@@ -109,6 +109,18 @@ if Lite::Ruby.configuration.monkey_patches.include?('array')
|
|
109
109
|
# rubocop:enable Metrics/PerceivedComplexity, Style/GuardClause, Style/IfInsideElse
|
110
110
|
# rubocop:enable Metrics/AbcSize, Metrics/BlockNesting, Metrics/MethodLength
|
111
111
|
|
112
|
+
def contains_all?(other)
|
113
|
+
(other & self) == self
|
114
|
+
end
|
115
|
+
|
116
|
+
def contains_any?(other)
|
117
|
+
!contains_none?(other)
|
118
|
+
end
|
119
|
+
|
120
|
+
def contains_none?(other)
|
121
|
+
(other & self).empty?
|
122
|
+
end
|
123
|
+
|
112
124
|
def delete_first
|
113
125
|
self[1..-1]
|
114
126
|
end
|
@@ -43,11 +43,35 @@ if Lite::Ruby.configuration.monkey_patches.include?('open_struct')
|
|
43
43
|
|
44
44
|
private
|
45
45
|
|
46
|
+
# rubocop:disable Metrics/MethodLength, Naming/PredicateName
|
47
|
+
def is_method_protected!(name)
|
48
|
+
return false unless respond_to?(name, true)
|
49
|
+
return true if name.match?(/!$/)
|
50
|
+
|
51
|
+
method = 'method'
|
52
|
+
method << '!' if respond_to?(:method!)
|
53
|
+
owner = send(method, name).owner
|
54
|
+
|
55
|
+
if owner.instance_of?(::Class)
|
56
|
+
owner < ::OpenStruct
|
57
|
+
else
|
58
|
+
self.class.ancestors.any? do |mod|
|
59
|
+
return false if mod == ::OpenStruct
|
60
|
+
|
61
|
+
mod == owner
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
# rubocop:enable Metrics/MethodLength, Naming/PredicateName
|
66
|
+
|
46
67
|
def new_ostruct_member!(name)
|
47
68
|
return if is_method_protected!(name)
|
48
69
|
|
49
|
-
|
50
|
-
|
70
|
+
method = 'define_singleton_method'
|
71
|
+
method << '!' if respond_to?(:define_singleton_method!)
|
72
|
+
|
73
|
+
send(method, name) { @table[name] }
|
74
|
+
send(method, "#{name}=") { |x| @table[name] = x }
|
51
75
|
end
|
52
76
|
|
53
77
|
end
|
data/lib/lite/ruby/version.rb
CHANGED
data/lite-ruby.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lite-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juan Gomez
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|