active_object 5.1.0 → 5.1.1
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/.reek +4 -0
- data/.rubocop.yml +8 -2
- data/README.md +7 -0
- data/active_object.gemspec +3 -3
- data/lib/active_object/array.rb +6 -0
- data/lib/active_object/configuration.rb +2 -0
- data/lib/active_object/date.rb +2 -1
- data/lib/active_object/enumerable.rb +5 -3
- data/lib/active_object/hash.rb +3 -1
- data/lib/active_object/kernel.rb +3 -1
- data/lib/active_object/numeric.rb +4 -3
- data/lib/active_object/string.rb +1 -1
- data/lib/active_object/time.rb +20 -18
- data/lib/active_object/version.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e5a025441c17449f18ada0538a1f4d5868e2df1f929a96f9e3adc0e642ae524
|
4
|
+
data.tar.gz: 4dbbe184e2a7169daf55b0c206f8e180aa08d4a90497097b9ed4830ccc2ac9a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da9fb07ca6a6dcc538ae1653a9d1f1047736c39c0dc5784b7c5bf838f6983f1b856ed1e0d5b107abfed60cff6fdb434bb2c6fe0a01c243e7222f8aed869644d7
|
7
|
+
data.tar.gz: 16f434b4285fc300f07a5e9446731c1004654057dcd21517771e8b36585e6ad2eb0a65e7ca44bac36d5101e814bd99297122abe50c0bc887f6ad042876fecda3
|
data/.reek
CHANGED
@@ -25,10 +25,14 @@ RepeatedConditional:
|
|
25
25
|
enabled: false
|
26
26
|
TooManyConstants:
|
27
27
|
enabled: false
|
28
|
+
TooManyInstanceVariables:
|
29
|
+
exclude:
|
30
|
+
- 'ActiveObject::Configuration'
|
28
31
|
TooManyStatements:
|
29
32
|
max_statements: 10
|
30
33
|
exclude:
|
31
34
|
- 'ActiveObject::Array#in_groups'
|
35
|
+
- 'ActiveObject::Configuration#initialize'
|
32
36
|
UncommunicativeVariableName:
|
33
37
|
accept:
|
34
38
|
- !ruby/regexp /^.$/
|
data/.rubocop.yml
CHANGED
@@ -4,13 +4,15 @@ AllCops:
|
|
4
4
|
TargetRubyVersion: 2.4
|
5
5
|
Exclude:
|
6
6
|
- 'spec/**/**/*'
|
7
|
+
Performance/RegexpMatch:
|
8
|
+
Enabled: false
|
7
9
|
Layout/EmptyLinesAroundClassBody:
|
8
10
|
Enabled: false
|
9
11
|
Layout/EmptyLinesAroundModuleBody:
|
10
12
|
Enabled: false
|
11
13
|
LineLength:
|
12
14
|
Max: 100
|
13
|
-
Lint/
|
15
|
+
Lint/OrderedMagicComments:
|
14
16
|
Enabled: false
|
15
17
|
Lint/ScriptPermission:
|
16
18
|
Enabled: false
|
@@ -19,8 +21,12 @@ Metrics/ModuleLength:
|
|
19
21
|
Style/Alias:
|
20
22
|
EnforcedStyle: prefer_alias_method
|
21
23
|
Style/ClassAndModuleChildren:
|
22
|
-
|
24
|
+
Enabled: false
|
23
25
|
Style/Documentation:
|
24
26
|
Enabled: false
|
27
|
+
Style/ExpandPathArguments:
|
28
|
+
Enabled: false
|
25
29
|
Style/RescueModifier:
|
26
30
|
Enabled: false
|
31
|
+
Style/RescueStandardError:
|
32
|
+
Enabled: false
|
data/README.md
CHANGED
@@ -147,6 +147,13 @@ end
|
|
147
147
|
['1', '2', '3'].from(-1) #=> ['3']
|
148
148
|
```
|
149
149
|
|
150
|
+
**Fulfill:**
|
151
|
+
`Fulfill` returns an array filled to given size.
|
152
|
+
|
153
|
+
```ruby
|
154
|
+
['1', '2'].fulfill('x', 4) #=> ['1', '2', 'x', 'x']
|
155
|
+
```
|
156
|
+
|
150
157
|
**Groups:**
|
151
158
|
`groups` splits or iterates over the array in number of groups.
|
152
159
|
|
data/active_object.gemspec
CHANGED
@@ -23,10 +23,10 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.require_paths = ['lib']
|
24
24
|
|
25
25
|
spec.add_development_dependency 'bundler'
|
26
|
-
spec.add_development_dependency 'rake'
|
27
|
-
spec.add_development_dependency 'rspec'
|
28
|
-
spec.add_development_dependency 'generator_spec'
|
29
26
|
spec.add_development_dependency 'fasterer'
|
27
|
+
spec.add_development_dependency 'generator_spec'
|
28
|
+
spec.add_development_dependency 'rake'
|
30
29
|
spec.add_development_dependency 'reek'
|
30
|
+
spec.add_development_dependency 'rspec'
|
31
31
|
spec.add_development_dependency 'rubocop'
|
32
32
|
end
|
data/lib/active_object/array.rb
CHANGED
@@ -7,6 +7,7 @@ module ActiveObject
|
|
7
7
|
:autoload_integer, :autoload_kernel, :autoload_numeric, :autoload_object,
|
8
8
|
:autoload_range, :autoload_string, :autoload_time
|
9
9
|
|
10
|
+
# rubocop:disable Metrics/MethodLength
|
10
11
|
def initialize
|
11
12
|
@autoload_array = true
|
12
13
|
@autoload_date = true
|
@@ -20,6 +21,7 @@ module ActiveObject
|
|
20
21
|
@autoload_string = true
|
21
22
|
@autoload_time = true
|
22
23
|
end
|
24
|
+
# rubocop:enable Metrics/MethodLength
|
23
25
|
|
24
26
|
end
|
25
27
|
|
data/lib/active_object/date.rb
CHANGED
@@ -29,7 +29,8 @@ module ActiveObject
|
|
29
29
|
month_name_abbr_year: '%b %Y', weekday: '%d', weekday_padded: '%d', weekday_unpadded: '%-d',
|
30
30
|
weekday_blank: '%_d', weekday_name: '%A', weekday_name_abbr: '%a', yr: '%y', year_abbr: '%y',
|
31
31
|
year: '%Y', date: '%B %-d, %Y', date_abbr: '%b %-d, %Y', date_iso: '%Y-%m-%d', day: '%B %-d',
|
32
|
-
day_abbr: '%b %-d', sunday_week: '%U', monday_week: '%W', week_iso: '%V',
|
32
|
+
day_abbr: '%b %-d', sunday_week: '%U', monday_week: '%W', week_iso: '%V',
|
33
|
+
week_year_iso: '%V-%G'
|
33
34
|
}.freeze
|
34
35
|
|
35
36
|
def count_centuries_since(time)
|
@@ -145,6 +145,7 @@ if ActiveObject.configuration.autoload_enumerable
|
|
145
145
|
end
|
146
146
|
# rubocop:enable Style/CaseEquality
|
147
147
|
|
148
|
+
# rubocop:disable Metrics/MethodLength
|
148
149
|
def interpose(sep, &block)
|
149
150
|
enum = Enumerator.new do |val|
|
150
151
|
items = each
|
@@ -168,6 +169,7 @@ if ActiveObject.configuration.autoload_enumerable
|
|
168
169
|
|
169
170
|
block ? enum.each(&block) : enum
|
170
171
|
end
|
172
|
+
# rubocop:enable Metrics/MethodLength
|
171
173
|
|
172
174
|
def many?
|
173
175
|
found_count = 0
|
@@ -217,7 +219,7 @@ if ActiveObject.configuration.autoload_enumerable
|
|
217
219
|
return if frequency_top_two.length != 1 && top_two_first.last == frequency_top_two.last.last
|
218
220
|
top_two_first.first
|
219
221
|
end
|
220
|
-
# rubocop:
|
222
|
+
# rubocop:enable Metrics/AbcSize
|
221
223
|
|
222
224
|
def multiple(identity = 0, &block)
|
223
225
|
if block_given?
|
@@ -227,7 +229,7 @@ if ActiveObject.configuration.autoload_enumerable
|
|
227
229
|
end
|
228
230
|
end
|
229
231
|
|
230
|
-
# rubocop:disable Metrics/MethodLength
|
232
|
+
# rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
231
233
|
def percentile(num, identity = 0)
|
232
234
|
return identity unless length.positive?
|
233
235
|
|
@@ -244,7 +246,7 @@ if ActiveObject.configuration.autoload_enumerable
|
|
244
246
|
collection_sorted[rank - 1]
|
245
247
|
end
|
246
248
|
end
|
247
|
-
# rubocop:enable Metrics/MethodLength
|
249
|
+
# rubocop:enable Metrics/AbcSize, Metrics/MethodLength
|
248
250
|
|
249
251
|
def range(identity = 0)
|
250
252
|
return identity unless length.positive?
|
data/lib/active_object/hash.rb
CHANGED
@@ -107,7 +107,9 @@ module ActiveObject
|
|
107
107
|
end
|
108
108
|
|
109
109
|
def nillify!
|
110
|
-
each
|
110
|
+
each do |key, val|
|
111
|
+
self[key] = nil if !val.nil? && (val.try(:blank?) || val.try(:to_s).blank?)
|
112
|
+
end
|
111
113
|
end
|
112
114
|
|
113
115
|
def only(*keys)
|
data/lib/active_object/kernel.rb
CHANGED
@@ -5,9 +5,11 @@ if ActiveObject.configuration.autoload_kernel
|
|
5
5
|
|
6
6
|
private
|
7
7
|
|
8
|
+
# rubocop:disable Style/PerlBackrefs
|
8
9
|
def caller_name
|
9
|
-
caller
|
10
|
+
caller(1..1).first =~ /`([^']*)'/ && $1
|
10
11
|
end
|
12
|
+
# rubocop:enable Style/PerlBackrefs
|
11
13
|
|
12
14
|
end
|
13
15
|
end
|
@@ -32,8 +32,8 @@ module ActiveObject
|
|
32
32
|
MILLENNIUM ||= CENTURY * 10.0
|
33
33
|
|
34
34
|
BYTE_KEYS ||= %i[
|
35
|
-
byte bytes kilobyte kilobytes megabyte megabytes gigabyte gigabytes terabyte terabytes
|
36
|
-
petabytes exabyte exabytes
|
35
|
+
byte bytes kilobyte kilobytes megabyte megabytes gigabyte gigabytes terabyte terabytes
|
36
|
+
petabyte petabytes exabyte exabytes
|
37
37
|
].freeze
|
38
38
|
LENGTH_KEYS ||= {
|
39
39
|
metric: %i[
|
@@ -454,7 +454,8 @@ module ActiveObject
|
|
454
454
|
else
|
455
455
|
to_f * ((1.send("#{from}_in_inches").to_f * 0.0254) / 1.send("#{to}_in_meters").to_f)
|
456
456
|
end
|
457
|
-
when :inch, :inches, :foot, :feet, :yard, :yards, :mile, :miles, :nautical_mile,
|
457
|
+
when :inch, :inches, :foot, :feet, :yard, :yards, :mile, :miles, :nautical_mile,
|
458
|
+
:nautical_miles
|
458
459
|
if metrics_included_from
|
459
460
|
to_f * ((1.send("#{from}_in_meters").to_f * 39.3701) / 1.send("#{to}_in_inches").to_f)
|
460
461
|
else
|
data/lib/active_object/string.rb
CHANGED
@@ -330,7 +330,7 @@ module ActiveObject
|
|
330
330
|
sep = options[:separator] || /\s+/
|
331
331
|
sep = ::Regexp.escape(sep.to_s) unless sep.is_a(Regexp)
|
332
332
|
|
333
|
-
return self unless
|
333
|
+
return self unless self =~ /\A((?:.+?#{sep}){#{words_count - 1}}.+?)#{sep}.*/m
|
334
334
|
|
335
335
|
"#{::Regexp.last_match(1)}#{options[:omissio] || '...'}"
|
336
336
|
end
|
data/lib/active_object/time.rb
CHANGED
@@ -27,26 +27,28 @@ module ActiveObject
|
|
27
27
|
datetime_imperical_iso: '%Y-%m-%d %I:%M %P', datetime_tzn: '%B %-d, %Y %H:%M %Z',
|
28
28
|
datetime_abbr_tzn: '%b %-d, %Y %H:%M %Z', datetime_iso_tzn: '%Y-%m-%d %H:%M %z',
|
29
29
|
datetime_imperical_tzn: '%B %-d, %Y %I:%M %P %Z', day: '%B %-d', day_abbr: '%b %-d',
|
30
|
-
datetime_imperical_abbr_tzn: '%b %-d, %Y %I:%M %P %Z', time_tz: '%H:%M %z',
|
31
|
-
datetime_imperical_iso_tzn: '%Y-%m-%d %I:%M %P %z', day_iso: '%m-%d',
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
30
|
+
datetime_imperical_abbr_tzn: '%b %-d, %Y %I:%M %P %Z', time_tz: '%H:%M %z',
|
31
|
+
time_blank: '%k:%M', datetime_imperical_iso_tzn: '%Y-%m-%d %I:%M %P %z', day_iso: '%m-%d',
|
32
|
+
daytime: '%B %-d %H:%M', daytime_abbr: '%b %-d %H:%M', daytime_iso: '%m-%d %H:%M',
|
33
|
+
daytime_imperical: '%B %-d %I:%M %P', daytime_imperical_abbr: '%b %-d %I:%M %P',
|
34
|
+
daytime_imperical_iso: '%m-%d %I:%M %P', time_imperical_padded: '%I:%M %P',
|
35
|
+
time_imperical_blank: '%l:%M %P', time_imperical_tz: '%I:%M %P %z',
|
36
|
+
time_imperical_tzn: '%I:%M %P %Z', sunday_week: '%U', monday_week: '%W', week_iso: '%V',
|
37
|
+
week_year_iso: '%V-%G'
|
37
38
|
}.freeze
|
38
39
|
STRING_UNITS ||= {
|
39
|
-
d: 'd', day: 'd', day_padded: 'd', dd: '-d', Day: '-d', day_unpadded: '-d', ddd: '_d',
|
40
|
-
DAY: '_d', day_blank: '_d', dddd: 'j', day_of_the_year: 'j', m: 'm', month: 'm',
|
41
|
-
month_padded: 'm', mm: '-m', Month: '-m', month_unpadded: '-m', mmm: '_m',
|
42
|
-
month_blank: '_m', mmmm: 'B', month_name: 'B', mmmmm: 'b', month_name_abbr: 'b',
|
43
|
-
|
44
|
-
weekday_name_abbr: 'a', yy: 'y', yr: 'y', year: 'Y', h: 'H', hour: 'H',
|
45
|
-
hh: 'k', HOUR: 'k', hour_blank: 'k', hhh: 'I', hour_imperical: 'I',
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
sunday_week: 'U', mwe: 'W', monday_week: 'W', we: 'V',
|
40
|
+
d: 'd', day: 'd', day_padded: 'd', dd: '-d', Day: '-d', day_unpadded: '-d', ddd: '_d',
|
41
|
+
zz: ':z', DAY: '_d', day_blank: '_d', dddd: 'j', day_of_the_year: 'j', m: 'm', month: 'm',
|
42
|
+
hhhh: 'l', month_padded: 'm', mm: '-m', Month: '-m', month_unpadded: '-m', mmm: '_m',
|
43
|
+
MONTH: '_m', month_blank: '_m', mmmm: 'B', month_name: 'B', mmmmm: 'b', month_name_abbr: 'b',
|
44
|
+
w: 'u', z: 'z', weekday: 'u', ww: 'w', weekday_offset: 'w', www: 'A', weekday_name: 'A',
|
45
|
+
wwww: 'a', yyyy: 'Y', weekday_name_abbr: 'a', yy: 'y', yr: 'y', year: 'Y', h: 'H', hour: 'H',
|
46
|
+
hour_padded: 'H', hh: 'k', HOUR: 'k', hour_blank: 'k', hhh: 'I', hour_imperical: 'I',
|
47
|
+
hour_imperical_padded: 'I', HOUR_IMPERICAL: 'l', hour_imperical_blank: 'l', ampm: 'P',
|
48
|
+
meridian: 'P', AMPM: 'p', MERIDIAN: 'p', n: 'M', minute: 'M', s: 'S', second: 'S',
|
49
|
+
time_zone: 'z', time_zone_offset: ':z', zzz: '::z', time_zone_offset_full: '::z', zzzz: 'Z',
|
50
|
+
time_zone_name: 'Z', swe: 'U', sunday_week: 'U', mwe: 'W', monday_week: 'W', we: 'V',
|
51
|
+
week: 'V'
|
50
52
|
}.freeze
|
51
53
|
|
52
54
|
def count_centuries_since(time)
|
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.1.
|
4
|
+
version: 5.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juan Gomez
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-03-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: fasterer
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: generator_spec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -53,7 +53,7 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: reek
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: rspec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
@@ -169,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
169
169
|
version: '0'
|
170
170
|
requirements: []
|
171
171
|
rubyforge_project:
|
172
|
-
rubygems_version: 2.7.
|
172
|
+
rubygems_version: 2.7.6
|
173
173
|
signing_key:
|
174
174
|
specification_version: 4
|
175
175
|
summary: Gem for commonly used ruby object helpers.
|