eac_ruby_utils 0.89.0 → 0.92.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e93445e91d5ebd5045f85aacc525da520bfdabf6ca97087296cf98fc37b78af9
4
- data.tar.gz: 807b4d9838d1b990aa0152bce0c24d3fae4189b92ad07575b6ea26ec9dd7c3a6
3
+ metadata.gz: 0d74824328749892433f50acfff8dd16d867abab61ab7115c55f4e3de45a8a8c
4
+ data.tar.gz: 04b5e0aa890040410a27a38597dc8d46758f406666ae90042bd0ff13fa0cdb60
5
5
  SHA512:
6
- metadata.gz: f33fdf6f0aad6e64d072074a396a58c51b9116827aa91847025a4c91cc880e6af8311b34b3dbfdbd55b15fb9612cdba211da853895b4b2182b07229e82c84bd4
7
- data.tar.gz: 03c783a9676f370fe1b4d629fdcc227d759c4e7fe37335c8fe15c15e63234f836d8b2a6bf95e389d948210f6cd9880ce261814e8a52644263e9ac7b4c6b144ed
6
+ metadata.gz: 908be31eb44d2d44909f78f7ef5e3a7bb5bf7f5a731d6e0640604c83cf655ca8f49d854114abc9f1a72b3c918999bd651a6bcc78b2a885083d057331a0d4c4eb
7
+ data.tar.gz: 2bab742f8f453836e06bca57d3528fa442542c53aad1c22fdde7563dfb2d29ffa41ce35700c474b12e338be97cfe2990270882292eb102392868721c25023679
@@ -27,6 +27,13 @@ module EacRubyUtils
27
27
  push(value)
28
28
  end
29
29
 
30
+ # @return [EacRubyUtils::BitArray] +self+.
31
+ def push_array(other_bit_array)
32
+ values_array.push(*other_bit_array.to_a)
33
+
34
+ self
35
+ end
36
+
30
37
  # @param value [EacRubyUtils::Bit]
31
38
  # @return [EacRubyUtils::Bit]
32
39
  def push(value)
@@ -6,6 +6,7 @@ require 'eac_ruby_utils/patches/module/compare_by'
6
6
 
7
7
  module EacRubyUtils
8
8
  class Byte
9
+ ASSEMBLY_HEXADECIMAL_PREFIX = '$'
9
10
  BIT_COUNT = 8
10
11
  BIT_INDEX_RANGE = (0..7).freeze
11
12
  VALUE_RANGE = (0..255).freeze
@@ -77,8 +78,9 @@ module EacRubyUtils
77
78
  self.class.new(bit.zero? ? value & ~mask : value | mask)
78
79
  end
79
80
 
80
- def to_bit_array
81
- BIT_INDEX_RANGE.map { |bit_index| self[bit_index] }
81
+ # @return [EacRubyUtils::BitArray]
82
+ def to_bit_array(range = BIT_INDEX_RANGE)
83
+ ::EacRubyUtils::BitArray.new(range.map { |bit_index| self[bit_index] })
82
84
  end
83
85
 
84
86
  # @return [Integer]
@@ -86,6 +88,16 @@ module EacRubyUtils
86
88
  value
87
89
  end
88
90
 
91
+ # @return [String]
92
+ def to_asm_hex
93
+ ASSEMBLY_HEXADECIMAL_PREFIX + to_hex
94
+ end
95
+
96
+ # @return [String]
97
+ def to_hex
98
+ value.to_s(16).upcase.rjust(2, '0')
99
+ end
100
+
89
101
  private
90
102
 
91
103
  attr_writer :value
@@ -5,7 +5,7 @@ require 'eac_ruby_utils/patches/module/compare_by'
5
5
 
6
6
  module EacRubyUtils
7
7
  class ByteArray
8
- delegate :to_a, :size, :count, :length, :[], :fetch, to: :values_array
8
+ delegate :to_a, :size, :count, :length, :[], :fetch, :map, to: :values_array
9
9
  compare_by :values_array
10
10
 
11
11
  def initialize(values = [])
@@ -11,4 +11,15 @@ class Object
11
11
  "Argument \"#{argument_name}\" is not a #{klass}" \
12
12
  "(Actual class: #{self.class}, actual value: #{self})"
13
13
  end
14
+
15
+ # Raises a ArgumentError if +self.count+ is not equal to +count+.
16
+ #
17
+ # @return +self+
18
+ def assert_count(count, argument_name = 'unknown_argument_name')
19
+ return self if self.count == count
20
+
21
+ raise ::ArgumentError,
22
+ "Argument \"#{argument_name}\" has wrong elements count" \
23
+ "(Actual: #{self.count}, Required: #{count})"
24
+ end
14
25
  end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'pathname'
4
+
5
+ class Pathname
6
+ # A .glob that raises a ::RuntimeError if +self+ is not a directory.
7
+ # @return [Pathname]
8
+ def reqdir_glob(*args)
9
+ raise ::RuntimeError, "\"#{self}\" is not a directory" unless directory?
10
+
11
+ glob(*args)
12
+ end
13
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRubyUtils
4
- VERSION = '0.89.0'
4
+ VERSION = '0.92.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_ruby_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.89.0
4
+ version: 0.92.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esquilo Azul Company
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-06 00:00:00.000000000 Z
11
+ date: 2022-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -215,6 +215,7 @@ files:
215
215
  - lib/eac_ruby_utils/patches/pathname/mkpath_s.rb
216
216
  - lib/eac_ruby_utils/patches/pathname/parent_n.rb
217
217
  - lib/eac_ruby_utils/patches/pathname/readlink_r.rb
218
+ - lib/eac_ruby_utils/patches/pathname/reqdir_glob.rb
218
219
  - lib/eac_ruby_utils/patches/regexp.rb
219
220
  - lib/eac_ruby_utils/patches/regexp/if_match.rb
220
221
  - lib/eac_ruby_utils/patches/regexp/to_parser.rb