eac_ruby_utils 0.90.0 → 0.92.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 835bf57068df74ba63d257a3a724ea6c1bb55c61ce22d0641fbfb1d9ac1051ac
4
- data.tar.gz: a968421702a2320f371123cafa19d4872276b3af2301272ce14162aedd02bb45
3
+ metadata.gz: 8de300b93d07c47da4a3d924293ad423cf59e56278812ee2c02e6060f0b32de0
4
+ data.tar.gz: 43c29306043eba3bdc3eba1c668a377b9a37fc9f108a1d14c5f106631a30bf1d
5
5
  SHA512:
6
- metadata.gz: b6ad3ff00cc3d865bc6f580ac64961a4d034d1a1dea4634866846c12e925ec7f21136114afe479721a6cad6813b17f4b601e7acfadedefe43719de7e184e68ff
7
- data.tar.gz: 2ae2e960541fc651edca20e53f2b2d772fc4fe45df09e4676a9275d007165f881b4674f0d37eda315e225f2b5d500b7fe6cf073ab3e6e63fd102202e7292586f
6
+ metadata.gz: 75858a212a0efc521ba2e7b284e895d2f1ade46c0536489f92b6b93085ecaf4673b68f0ab803f3c71c7f4efd32a41f2a323be66b330a2bd30ba26568027c3b52
7
+ data.tar.gz: 6fff23095dbbe059107b0051d91e7c84ab329ba147f45a774c0fe8c33dcd41f969d6125bd36001f9bd747184cf7f73a261d3f6752f20a42376f2b26620c71f3d
@@ -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 = [])
@@ -5,15 +5,23 @@ require 'open3'
5
5
  module EacRubyUtils
6
6
  module Envs
7
7
  class Process
8
+ EXIT_CODE_KEY = :exit_code
9
+ ERR_KEY = :stderr
10
+ OUT_KEY = :stdout
11
+
8
12
  def initialize(command)
9
- @data = { command: command }
10
- @data[:stdout], @data[:stderr], @data[:exit_code] = Open3.capture3(command)
11
- @data[:exit_code] = @data[:exit_code].to_i
13
+ self.data = { command: command }
14
+ data[OUT_KEY], data[ERR_KEY], data[EXIT_CODE_KEY] = Open3.capture3(command)
15
+ data[EXIT_CODE_KEY] = data[EXIT_CODE_KEY].to_i
12
16
  end
13
17
 
14
18
  def to_h
15
- @data.dup
19
+ data.dup
16
20
  end
21
+
22
+ private
23
+
24
+ attr_accessor :data
17
25
  end
18
26
  end
19
27
  end
@@ -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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRubyUtils
4
- VERSION = '0.90.0'
4
+ VERSION = '0.92.1'
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.90.0
4
+ version: 0.92.1
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-19 00:00:00.000000000 Z
11
+ date: 2022-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport