lunchmoney 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. checksums.yaml +7 -0
  2. data/.DS_Store +0 -0
  3. data/.github/dependabot.yml +18 -0
  4. data/.github/workflows/build_and_publish_yard_docs.yml +47 -0
  5. data/.github/workflows/ci.yml +58 -0
  6. data/.github/workflows/dependabot-rbi-updater.yml +43 -0
  7. data/.github/workflows/publish_gem.yml +31 -0
  8. data/.gitignore +62 -0
  9. data/.rubocop.yml +45 -0
  10. data/.ruby-version +1 -0
  11. data/.toys/.toys.rb +10 -0
  12. data/.toys/ci.rb +22 -0
  13. data/.toys/rbi.rb +60 -0
  14. data/.toys/rubocop.rb +10 -0
  15. data/.toys/spoom.rb +15 -0
  16. data/.toys/typecheck.rb +5 -0
  17. data/.yardopts +2 -0
  18. data/Appraisals +22 -0
  19. data/Gemfile +25 -0
  20. data/Gemfile.lock +174 -0
  21. data/LICENSE +21 -0
  22. data/README.md +57 -0
  23. data/bin/console +16 -0
  24. data/bin/rubocop +27 -0
  25. data/bin/setup +8 -0
  26. data/bin/spoom +27 -0
  27. data/bin/srb +27 -0
  28. data/bin/tapioca +27 -0
  29. data/bin/toys +27 -0
  30. data/bin/yard +27 -0
  31. data/lib/lunchmoney/api.rb +147 -0
  32. data/lib/lunchmoney/api_call.rb +109 -0
  33. data/lib/lunchmoney/assets/asset.rb +89 -0
  34. data/lib/lunchmoney/assets/asset_calls.rb +96 -0
  35. data/lib/lunchmoney/budget/budget.rb +74 -0
  36. data/lib/lunchmoney/budget/budget_calls.rb +82 -0
  37. data/lib/lunchmoney/budget/config.rb +38 -0
  38. data/lib/lunchmoney/budget/data.rb +42 -0
  39. data/lib/lunchmoney/categories/category/category.rb +52 -0
  40. data/lib/lunchmoney/categories/category/child_category.rb +42 -0
  41. data/lib/lunchmoney/categories/category_calls.rb +195 -0
  42. data/lib/lunchmoney/configuration.rb +26 -0
  43. data/lib/lunchmoney/crypto/crypto/crypto.rb +43 -0
  44. data/lib/lunchmoney/crypto/crypto/crypto_base.rb +65 -0
  45. data/lib/lunchmoney/crypto/crypto_calls.rb +49 -0
  46. data/lib/lunchmoney/data_object.rb +25 -0
  47. data/lib/lunchmoney/errors.rb +19 -0
  48. data/lib/lunchmoney/exceptions.rb +19 -0
  49. data/lib/lunchmoney/plaid_accounts/plaid_account.rb +73 -0
  50. data/lib/lunchmoney/plaid_accounts/plaid_account_calls.rb +38 -0
  51. data/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense.rb +65 -0
  52. data/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense_base.rb +29 -0
  53. data/lib/lunchmoney/recurring_expenses/recurring_expense_calls.rb +28 -0
  54. data/lib/lunchmoney/tags/tag/tag.rb +20 -0
  55. data/lib/lunchmoney/tags/tag/tag_base.rb +21 -0
  56. data/lib/lunchmoney/tags/tag_calls.rb +20 -0
  57. data/lib/lunchmoney/transactions/transaction/child_transaction.rb +31 -0
  58. data/lib/lunchmoney/transactions/transaction/split.rb +24 -0
  59. data/lib/lunchmoney/transactions/transaction/transaction.rb +156 -0
  60. data/lib/lunchmoney/transactions/transaction/transaction_base.rb +52 -0
  61. data/lib/lunchmoney/transactions/transaction/transaction_modification_base.rb +30 -0
  62. data/lib/lunchmoney/transactions/transaction/update_transaction.rb +43 -0
  63. data/lib/lunchmoney/transactions/transaction_calls.rb +218 -0
  64. data/lib/lunchmoney/user/user.rb +36 -0
  65. data/lib/lunchmoney/user/user_calls.rb +19 -0
  66. data/lib/lunchmoney/validators.rb +43 -0
  67. data/lib/lunchmoney/version.rb +7 -0
  68. data/lib/lunchmoney.rb +54 -0
  69. data/lunchmoney.gemspec +34 -0
  70. data/sorbet/config +5 -0
  71. data/sorbet/rbi/annotations/.gitattributes +1 -0
  72. data/sorbet/rbi/annotations/activesupport.rbi +410 -0
  73. data/sorbet/rbi/annotations/faraday.rbi +17 -0
  74. data/sorbet/rbi/annotations/mocha.rbi +34 -0
  75. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  76. data/sorbet/rbi/annotations/webmock.rbi +9 -0
  77. data/sorbet/rbi/dsl/.gitattributes +1 -0
  78. data/sorbet/rbi/dsl/active_support/callbacks.rbi +22 -0
  79. data/sorbet/rbi/gems/.gitattributes +1 -0
  80. data/sorbet/rbi/gems/activesupport@7.1.3.rbi +18004 -0
  81. data/sorbet/rbi/gems/addressable@2.8.6.rbi +1993 -0
  82. data/sorbet/rbi/gems/appraisal@2.5.0.rbi +621 -0
  83. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  84. data/sorbet/rbi/gems/base64@0.2.0.rbi +508 -0
  85. data/sorbet/rbi/gems/bigdecimal@3.1.6.rbi +77 -0
  86. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
  87. data/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi +11590 -0
  88. data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +8 -0
  89. data/sorbet/rbi/gems/crack@0.4.5.rbi +144 -0
  90. data/sorbet/rbi/gems/dotenv@2.8.1.rbi +234 -0
  91. data/sorbet/rbi/gems/drb@2.2.0.rbi +1346 -0
  92. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  93. data/sorbet/rbi/gems/faraday-net_http@3.1.0.rbi +146 -0
  94. data/sorbet/rbi/gems/faraday@2.9.0.rbi +2911 -0
  95. data/sorbet/rbi/gems/hashdiff@1.1.0.rbi +352 -0
  96. data/sorbet/rbi/gems/i18n@1.14.1.rbi +2325 -0
  97. data/sorbet/rbi/gems/json@2.7.1.rbi +1561 -0
  98. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  99. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  100. data/sorbet/rbi/gems/minitest@5.21.2.rbi +2197 -0
  101. data/sorbet/rbi/gems/mocha@2.1.0.rbi +3934 -0
  102. data/sorbet/rbi/gems/mutex_m@0.2.0.rbi +93 -0
  103. data/sorbet/rbi/gems/net-http@0.4.1.rbi +4068 -0
  104. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  105. data/sorbet/rbi/gems/parallel@1.24.0.rbi +280 -0
  106. data/sorbet/rbi/gems/parser@3.3.0.5.rbi +5472 -0
  107. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  108. data/sorbet/rbi/gems/prism@0.19.0.rbi +29883 -0
  109. data/sorbet/rbi/gems/pry-sorbet@0.2.1.rbi +966 -0
  110. data/sorbet/rbi/gems/pry@0.14.2.rbi +10077 -0
  111. data/sorbet/rbi/gems/public_suffix@5.0.4.rbi +935 -0
  112. data/sorbet/rbi/gems/racc@1.7.3.rbi +161 -0
  113. data/sorbet/rbi/gems/rack@3.0.8.rbi +5183 -0
  114. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  115. data/sorbet/rbi/gems/rake@13.1.0.rbi +3027 -0
  116. data/sorbet/rbi/gems/rbi@0.1.6.rbi +2922 -0
  117. data/sorbet/rbi/gems/regexp_parser@2.9.0.rbi +3771 -0
  118. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  119. data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +7117 -0
  120. data/sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi +2576 -0
  121. data/sorbet/rbi/gems/rubocop-rails@2.23.1.rbi +9175 -0
  122. data/sorbet/rbi/gems/rubocop-shopify@2.14.0.rbi +8 -0
  123. data/sorbet/rbi/gems/rubocop-sorbet@0.7.6.rbi +1510 -0
  124. data/sorbet/rbi/gems/rubocop@1.60.1.rbi +57356 -0
  125. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  126. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +8 -0
  127. data/sorbet/rbi/gems/spoom@1.2.4.rbi +3777 -0
  128. data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +23136 -0
  129. data/sorbet/rbi/gems/tapioca@0.12.0.rbi +3506 -0
  130. data/sorbet/rbi/gems/thor@1.3.0.rbi +4312 -0
  131. data/sorbet/rbi/gems/toys-core@0.15.4.rbi +9462 -0
  132. data/sorbet/rbi/gems/toys@0.15.4.rbi +243 -0
  133. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5917 -0
  134. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +65 -0
  135. data/sorbet/rbi/gems/uri@0.13.0.rbi +2327 -0
  136. data/sorbet/rbi/gems/vcr@6.2.0.rbi +3036 -0
  137. data/sorbet/rbi/gems/webmock@3.19.1.rbi +1768 -0
  138. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  139. data/sorbet/rbi/gems/yard@0.9.34.rbi +18084 -0
  140. data/sorbet/shims/module.rbi +6 -0
  141. data/sorbet/tapioca/require.rb +10 -0
  142. metadata +228 -0
@@ -0,0 +1,352 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `hashdiff` gem.
5
+ # Please instead update this file by running `bin/tapioca gem hashdiff`.
6
+
7
+ # This module provides methods to diff two hash, patch and unpatch hash
8
+ #
9
+ # source://hashdiff//lib/hashdiff/util.rb#3
10
+ module Hashdiff
11
+ class << self
12
+ # Best diff two objects, which tries to generate the smallest change set using different similarity values.
13
+ #
14
+ # Hashdiff.best_diff is useful in case of comparing two objects which include similar hashes in arrays.
15
+ #
16
+ # @example
17
+ # a = {'x' => [{'a' => 1, 'c' => 3, 'e' => 5}, {'y' => 3}]}
18
+ # b = {'x' => [{'a' => 1, 'b' => 2, 'e' => 5}] }
19
+ # diff = Hashdiff.best_diff(a, b)
20
+ # diff.should == [['-', 'x[0].c', 3], ['+', 'x[0].b', 2], ['-', 'x[1].y', 3], ['-', 'x[1]', {}]]
21
+ # @param obj1 [Array, Hash]
22
+ # @param obj2 [Array, Hash]
23
+ # @param options [Hash] the options to use when comparing
24
+ # * :strict (Boolean) [true] whether numeric values will be compared on type as well as value. Set to false to allow comparing Integer, Float, BigDecimal to each other
25
+ # * :ignore_keys (Symbol, String or Array) [[]] a list of keys to ignore. No comparison is made for the specified key(s)
26
+ # * :indifferent (Boolean) [false] whether to treat hash keys indifferently. Set to true to ignore differences between symbol keys (ie. {a: 1} ~= {'a' => 1})
27
+ # * :delimiter (String) ['.'] the delimiter used when returning nested key references
28
+ # * :numeric_tolerance (Numeric) [0] should be a positive numeric value. Value by which numeric differences must be greater than. By default, numeric values are compared exactly; with the :tolerance option, the difference between numeric values must be greater than the given value.
29
+ # * :strip (Boolean) [false] whether or not to call #strip on strings before comparing
30
+ # * :array_path (Boolean) [false] whether to return the path references for nested values in an array, can be used for patch compatibility with non string keys.
31
+ # * :use_lcs (Boolean) [true] whether or not to use an implementation of the Longest common subsequence algorithm for comparing arrays, produces better diffs but is slower.
32
+ # @return [Array] an array of changes.
33
+ # e.g. [[ '+', 'a.b', '45' ], [ '-', 'a.c', '5' ], [ '~', 'a.x', '45', '63']]
34
+ # @since 0.0.1
35
+ # @yield [path, value1, value2] Optional block is used to compare each value, instead of default #==. If the block returns value other than true of false, then other specified comparison options will be used to do the comparison.
36
+ #
37
+ # source://hashdiff//lib/hashdiff/diff.rb#32
38
+ def best_diff(obj1, obj2, options = T.unsafe(nil), &block); end
39
+
40
+ # check if objects are comparable
41
+ #
42
+ # @private
43
+ # @return [Boolean]
44
+ #
45
+ # source://hashdiff//lib/hashdiff/util.rb#108
46
+ def comparable?(obj1, obj2, strict = T.unsafe(nil)); end
47
+
48
+ # check for equality or "closeness" within given tolerance
49
+ #
50
+ # @private
51
+ #
52
+ # source://hashdiff//lib/hashdiff/util.rb#86
53
+ def compare_values(obj1, obj2, options = T.unsafe(nil)); end
54
+
55
+ # count node differences
56
+ #
57
+ # @private
58
+ #
59
+ # source://hashdiff//lib/hashdiff/util.rb#25
60
+ def count_diff(diffs); end
61
+
62
+ # count total nodes for an object
63
+ #
64
+ # @private
65
+ #
66
+ # source://hashdiff//lib/hashdiff/util.rb#36
67
+ def count_nodes(obj); end
68
+
69
+ # try custom comparison
70
+ #
71
+ # @private
72
+ #
73
+ # source://hashdiff//lib/hashdiff/util.rb#119
74
+ def custom_compare(method, key, obj1, obj2); end
75
+
76
+ # decode property path into an array
77
+ # e.g. "a.b[3].c" => ['a', 'b', 3, 'c']
78
+ #
79
+ # @param path [String] Property-string
80
+ # @param delimiter [String] Property-string delimiter
81
+ # @private
82
+ #
83
+ # source://hashdiff//lib/hashdiff/util.rb#58
84
+ def decode_property_path(path, delimiter = T.unsafe(nil)); end
85
+
86
+ # Compute the diff of two hashes or arrays
87
+ #
88
+ # @example
89
+ # a = {"a" => 1, "b" => {"b1" => 1, "b2" =>2}}
90
+ # b = {"a" => 1, "b" => {}}
91
+ #
92
+ # diff = Hashdiff.diff(a, b)
93
+ # diff.should == [['-', 'b.b1', 1], ['-', 'b.b2', 2]]
94
+ # @param obj1 [Array, Hash]
95
+ # @param obj2 [Array, Hash]
96
+ # @param options [Hash] the options to use when comparing
97
+ # * :strict (Boolean) [true] whether numeric values will be compared on type as well as value. Set to false to allow comparing Integer, Float, BigDecimal to each other
98
+ # * :ignore_keys (Symbol, String or Array) [[]] a list of keys to ignore. No comparison is made for the specified key(s)
99
+ # * :indifferent (Boolean) [false] whether to treat hash keys indifferently. Set to true to ignore differences between symbol keys (ie. {a: 1} ~= {'a' => 1})
100
+ # * :similarity (Numeric) [0.8] should be between (0, 1]. Meaningful if there are similar hashes in arrays. See {best_diff}.
101
+ # * :delimiter (String) ['.'] the delimiter used when returning nested key references
102
+ # * :numeric_tolerance (Numeric) [0] should be a positive numeric value. Value by which numeric differences must be greater than. By default, numeric values are compared exactly; with the :tolerance option, the difference between numeric values must be greater than the given value.
103
+ # * :strip (Boolean) [false] whether or not to call #strip on strings before comparing
104
+ # * :array_path (Boolean) [false] whether to return the path references for nested values in an array, can be used for patch compatibility with non string keys.
105
+ # * :use_lcs (Boolean) [true] whether or not to use an implementation of the Longest common subsequence algorithm for comparing arrays, produces better diffs but is slower.
106
+ # @return [Array] an array of changes.
107
+ # e.g. [[ '+', 'a.b', '45' ], [ '-', 'a.c', '5' ], [ '~', 'a.x', '45', '63']]
108
+ # @since 0.0.1
109
+ # @yield [path, value1, value2] Optional block is used to compare each value, instead of default #==. If the block returns value other than true of false, then other specified comparison options will be used to do the comparison.
110
+ #
111
+ # source://hashdiff//lib/hashdiff/diff.rb#80
112
+ def diff(obj1, obj2, options = T.unsafe(nil), &block); end
113
+
114
+ # diff array using LCS algorithm
115
+ #
116
+ # @private
117
+ # @yield [links]
118
+ #
119
+ # source://hashdiff//lib/hashdiff/diff.rb#124
120
+ def diff_array_lcs(arraya, arrayb, options = T.unsafe(nil)); end
121
+
122
+ # caculate array difference using LCS algorithm
123
+ # http://en.wikipedia.org/wiki/Longest_common_subsequence_problem
124
+ #
125
+ # @private
126
+ #
127
+ # source://hashdiff//lib/hashdiff/lcs.rb#8
128
+ def lcs(arraya, arrayb, options = T.unsafe(nil)); end
129
+
130
+ # get the node of hash by given path parts
131
+ #
132
+ # @private
133
+ #
134
+ # source://hashdiff//lib/hashdiff/util.rb#75
135
+ def node(hash, parts); end
136
+
137
+ # Apply patch to object
138
+ #
139
+ # @param obj [Hash, Array] the object to be patched, can be an Array or a Hash
140
+ # @param changes [Array] e.g. [[ '+', 'a.b', '45' ], [ '-', 'a.c', '5' ], [ '~', 'a.x', '45', '63']]
141
+ # @param options [Hash] supports following keys:
142
+ # * :delimiter (String) ['.'] delimiter string for representing nested keys in changes array
143
+ # @return the object after patch
144
+ # @since 0.0.1
145
+ #
146
+ # source://hashdiff//lib/hashdiff/patch.rb#17
147
+ def patch!(obj, changes, options = T.unsafe(nil)); end
148
+
149
+ # source://hashdiff//lib/hashdiff/util.rb#137
150
+ def prefix_append_array_index(prefix, array_index, opts); end
151
+
152
+ # source://hashdiff//lib/hashdiff/util.rb#129
153
+ def prefix_append_key(prefix, key, opts); end
154
+
155
+ # judge whether two objects are similar
156
+ #
157
+ # @private
158
+ # @return [Boolean]
159
+ #
160
+ # source://hashdiff//lib/hashdiff/util.rb#7
161
+ def similar?(obja, objb, options = T.unsafe(nil)); end
162
+
163
+ # Unpatch an object
164
+ #
165
+ # @param obj [Hash, Array] the object to be unpatched, can be an Array or a Hash
166
+ # @param changes [Array] e.g. [[ '+', 'a.b', '45' ], [ '-', 'a.c', '5' ], [ '~', 'a.x', '45', '63']]
167
+ # @param options [Hash] supports following keys:
168
+ # * :delimiter (String) ['.'] delimiter string for representing nested keys in changes array
169
+ # @return the object after unpatch
170
+ # @since 0.0.1
171
+ #
172
+ # source://hashdiff//lib/hashdiff/patch.rb#58
173
+ def unpatch!(obj, changes, options = T.unsafe(nil)); end
174
+
175
+ private
176
+
177
+ # checks if both objects are Arrays or Hashes
178
+ #
179
+ # @private
180
+ # @return [Boolean]
181
+ #
182
+ # source://hashdiff//lib/hashdiff/util.rb#151
183
+ def any_hash_or_array?(obja, objb); end
184
+ end
185
+ end
186
+
187
+ # Used to compare hashes
188
+ #
189
+ # @private
190
+ #
191
+ # source://hashdiff//lib/hashdiff/compare_hashes.rb#6
192
+ class Hashdiff::CompareHashes
193
+ class << self
194
+ # source://hashdiff//lib/hashdiff/compare_hashes.rb#8
195
+ def call(obj1, obj2, opts = T.unsafe(nil)); end
196
+ end
197
+ end
198
+
199
+ # Used to compare arrays using the lcs algorithm
200
+ #
201
+ # @private
202
+ #
203
+ # source://hashdiff//lib/hashdiff/lcs_compare_arrays.rb#6
204
+ class Hashdiff::LcsCompareArrays
205
+ class << self
206
+ # source://hashdiff//lib/hashdiff/lcs_compare_arrays.rb#8
207
+ def call(obj1, obj2, opts = T.unsafe(nil)); end
208
+ end
209
+ end
210
+
211
+ # Used to compare arrays in a linear complexity, which produces longer diffs
212
+ # than using the lcs algorithm but is considerably faster
213
+ #
214
+ # @private
215
+ #
216
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#8
217
+ class Hashdiff::LinearCompareArray
218
+ # @return [LinearCompareArray] a new instance of LinearCompareArray
219
+ #
220
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#45
221
+ def initialize(old_array, new_array, options); end
222
+
223
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#14
224
+ def call; end
225
+
226
+ private
227
+
228
+ # Returns the value of attribute additions.
229
+ #
230
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#42
231
+ def additions; end
232
+
233
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#139
234
+ def append_addition(item, index); end
235
+
236
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#123
237
+ def append_addititions_before_match(match_index); end
238
+
239
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#144
240
+ def append_deletion(item, index); end
241
+
242
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#131
243
+ def append_deletions_before_match(match_index); end
244
+
245
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#149
246
+ def append_differences(difference); end
247
+
248
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#153
249
+ def changes; end
250
+
251
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#67
252
+ def compare_at_index; end
253
+
254
+ # Returns the value of attribute deletions.
255
+ #
256
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#42
257
+ def deletions; end
258
+
259
+ # Returns the value of attribute differences.
260
+ #
261
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#42
262
+ def differences; end
263
+
264
+ # Returns the value of attribute expected_additions.
265
+ #
266
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#43
267
+ def expected_additions; end
268
+
269
+ # Sets the attribute expected_additions
270
+ #
271
+ # @param value the value to set the attribute expected_additions to.
272
+ #
273
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#43
274
+ def expected_additions=(_arg0); end
275
+
276
+ # @return [Boolean]
277
+ #
278
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#59
279
+ def extra_items_in_new_array?; end
280
+
281
+ # @return [Boolean]
282
+ #
283
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#55
284
+ def extra_items_in_old_array?; end
285
+
286
+ # look ahead in the new array to see if the current item appears later
287
+ # thereby having new items added
288
+ #
289
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#89
290
+ def index_of_match_after_additions; end
291
+
292
+ # look ahead in the old array to see if the current item appears later
293
+ # thereby having items removed
294
+ #
295
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#107
296
+ def index_of_match_after_deletions; end
297
+
298
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#82
299
+ def item_difference(old_item, new_item, item_index); end
300
+
301
+ # @return [Boolean]
302
+ #
303
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#63
304
+ def iterated_through_both_arrays?; end
305
+
306
+ # Returns the value of attribute new_array.
307
+ #
308
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#42
309
+ def new_array; end
310
+
311
+ # Returns the value of attribute new_index.
312
+ #
313
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#43
314
+ def new_index; end
315
+
316
+ # Sets the attribute new_index
317
+ #
318
+ # @param value the value to set the attribute new_index to.
319
+ #
320
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#43
321
+ def new_index=(_arg0); end
322
+
323
+ # Returns the value of attribute old_array.
324
+ #
325
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#42
326
+ def old_array; end
327
+
328
+ # Returns the value of attribute old_index.
329
+ #
330
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#43
331
+ def old_index; end
332
+
333
+ # Sets the attribute old_index
334
+ #
335
+ # @param value the value to set the attribute old_index to.
336
+ #
337
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#43
338
+ def old_index=(_arg0); end
339
+
340
+ # Returns the value of attribute options.
341
+ #
342
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#42
343
+ def options; end
344
+
345
+ class << self
346
+ # source://hashdiff//lib/hashdiff/linear_compare_array.rb#9
347
+ def call(old_array, new_array, options = T.unsafe(nil)); end
348
+ end
349
+ end
350
+
351
+ # source://hashdiff//lib/hashdiff/version.rb#4
352
+ Hashdiff::VERSION = T.let(T.unsafe(nil), String)