checkoff 0.222.0 → 0.225.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (260) hide show
  1. checksums.yaml +4 -4
  2. data/checkoff.gemspec +10 -5
  3. data/lib/checkoff/attachments.rb +1 -0
  4. data/lib/checkoff/cli.rb +1 -1
  5. data/lib/checkoff/clients.rb +2 -1
  6. data/lib/checkoff/custom_fields.rb +2 -1
  7. data/lib/checkoff/events.rb +2 -1
  8. data/lib/checkoff/internal/asana_event_enrichment.rb +1 -0
  9. data/lib/checkoff/internal/asana_event_filter.rb +1 -0
  10. data/lib/checkoff/internal/config_loader.rb +2 -2
  11. data/lib/checkoff/internal/logging.rb +6 -5
  12. data/lib/checkoff/internal/project_hashes.rb +1 -0
  13. data/lib/checkoff/internal/project_selector_evaluator.rb +2 -1
  14. data/lib/checkoff/internal/project_timing.rb +1 -0
  15. data/lib/checkoff/internal/search_url/custom_field_param_converter.rb +1 -0
  16. data/lib/checkoff/internal/search_url/custom_field_variant.rb +1 -0
  17. data/lib/checkoff/internal/search_url/date_param_converter.rb +1 -0
  18. data/lib/checkoff/internal/search_url/parser.rb +1 -0
  19. data/lib/checkoff/internal/search_url/results_merger.rb +1 -0
  20. data/lib/checkoff/internal/search_url/simple_param_converter.rb +1 -0
  21. data/lib/checkoff/internal/search_url.rb +1 -0
  22. data/lib/checkoff/internal/section_selector_evaluator.rb +2 -1
  23. data/lib/checkoff/internal/selector_classes/common/function_evaluator.rb +1 -0
  24. data/lib/checkoff/internal/selector_classes/common.rb +1 -0
  25. data/lib/checkoff/internal/selector_classes/function_evaluator.rb +1 -0
  26. data/lib/checkoff/internal/selector_classes/project/function_evaluator.rb +1 -0
  27. data/lib/checkoff/internal/selector_classes/project.rb +1 -0
  28. data/lib/checkoff/internal/selector_classes/section/function_evaluator.rb +3 -1
  29. data/lib/checkoff/internal/selector_classes/section.rb +1 -0
  30. data/lib/checkoff/internal/selector_classes/task/function_evaluator.rb +1 -0
  31. data/lib/checkoff/internal/selector_classes/task.rb +1 -0
  32. data/lib/checkoff/internal/selector_evaluator.rb +5 -4
  33. data/lib/checkoff/internal/task_hashes.rb +1 -0
  34. data/lib/checkoff/internal/task_selector_evaluator.rb +2 -1
  35. data/lib/checkoff/internal/task_timing.rb +1 -0
  36. data/lib/checkoff/internal/thread_local.rb +1 -0
  37. data/lib/checkoff/monkeypatches/resource_marshalling.rb +1 -0
  38. data/lib/checkoff/my_tasks.rb +2 -1
  39. data/lib/checkoff/portfolios.rb +12 -9
  40. data/lib/checkoff/project_selectors.rb +1 -0
  41. data/lib/checkoff/projects.rb +3 -1
  42. data/lib/checkoff/resources.rb +1 -0
  43. data/lib/checkoff/section_selectors.rb +1 -0
  44. data/lib/checkoff/sections.rb +4 -4
  45. data/lib/checkoff/subtasks.rb +1 -0
  46. data/lib/checkoff/tags.rb +67 -17
  47. data/lib/checkoff/task_searches.rb +1 -0
  48. data/lib/checkoff/task_selectors.rb +1 -0
  49. data/lib/checkoff/tasks.rb +2 -2
  50. data/lib/checkoff/timelines.rb +1 -0
  51. data/lib/checkoff/timing.rb +1 -0
  52. data/lib/checkoff/version.rb +2 -1
  53. data/lib/checkoff/workspaces.rb +2 -1
  54. data/lib/checkoff.rb +1 -0
  55. data/rbi/checkoff.rbi +4529 -0
  56. data/sig/checkoff.rbs +3749 -0
  57. metadata +4 -205
  58. data/.circleci/config.yml +0 -291
  59. data/.envrc +0 -9
  60. data/.git-hooks/pre_commit/circle_ci.rb +0 -25
  61. data/.git-hooks/pre_commit/punchlist.rb +0 -51
  62. data/.git-hooks/pre_commit/solargraph_typecheck.rb +0 -76
  63. data/.gitattributes +0 -6
  64. data/.gitignore +0 -61
  65. data/.markdownlint_style.rb +0 -3
  66. data/.mdlrc +0 -1
  67. data/.overcommit.yml +0 -114
  68. data/.rubocop.yml +0 -143
  69. data/.rubocop_todo.yml +0 -90
  70. data/.solargraph.yml +0 -35
  71. data/.yamllint.yml +0 -8
  72. data/CODE_OF_CONDUCT.md +0 -133
  73. data/CONTRIBUTING.rst +0 -75
  74. data/DEVELOPMENT.md +0 -69
  75. data/GLOSSARY.md +0 -16
  76. data/Gemfile +0 -66
  77. data/Gemfile.lock +0 -336
  78. data/LICENSE +0 -21
  79. data/Makefile +0 -121
  80. data/bin/brakeman +0 -27
  81. data/bin/bump +0 -29
  82. data/bin/checkoff +0 -29
  83. data/bin/console +0 -15
  84. data/bin/overcommit +0 -29
  85. data/bin/overcommit_branch +0 -114
  86. data/bin/rake +0 -29
  87. data/bin/rubocop +0 -27
  88. data/bin/setup +0 -8
  89. data/bin/solargraph +0 -27
  90. data/bin/sord +0 -27
  91. data/bin/spoom +0 -27
  92. data/bin/srb +0 -27
  93. data/bin/srb-rbi +0 -27
  94. data/bin/tapioca +0 -27
  95. data/bin/yard +0 -27
  96. data/config/annotations_asana.rb +0 -254
  97. data/config/annotations_misc.rb +0 -68
  98. data/config/env.1p +0 -2
  99. data/docs/.gitignore +0 -3
  100. data/docs/cookiecutter_input.json +0 -17
  101. data/docs/example_project.png +0 -0
  102. data/fix.sh +0 -534
  103. data/metrics/bigfiles_high_water_mark +0 -1
  104. data/metrics/brakeman_high_water_mark +0 -1
  105. data/metrics/bundle-audit_high_water_mark +0 -1
  106. data/metrics/cane_high_water_mark +0 -1
  107. data/metrics/eslint_high_water_mark +0 -1
  108. data/metrics/flake8_high_water_mark +0 -1
  109. data/metrics/flay_high_water_mark +0 -1
  110. data/metrics/flog_high_water_mark +0 -1
  111. data/metrics/jscs_high_water_mark +0 -1
  112. data/metrics/mdl_high_water_mark +0 -1
  113. data/metrics/pep8_high_water_mark +0 -1
  114. data/metrics/punchlist_high_water_mark +0 -1
  115. data/metrics/pycodestyle_high_water_mark +0 -1
  116. data/metrics/rails_best_practices_high_water_mark +0 -1
  117. data/metrics/rubocop_high_water_mark +0 -1
  118. data/metrics/scalastyle_high_water_mark +0 -1
  119. data/metrics/shellcheck_high_water_mark +0 -1
  120. data/package.json +0 -9
  121. data/rakelib/citest.rake +0 -4
  122. data/rakelib/clear_metrics.rake +0 -9
  123. data/rakelib/console.rake +0 -15
  124. data/rakelib/default.rake +0 -4
  125. data/rakelib/doc.rake +0 -6
  126. data/rakelib/gem_tasks.rake +0 -3
  127. data/rakelib/localtest.rake +0 -4
  128. data/rakelib/overcommit.rake +0 -6
  129. data/rakelib/quality.rake +0 -4
  130. data/rakelib/repl.rake +0 -4
  131. data/rakelib/test.rake +0 -10
  132. data/rakelib/trigger_next_builds.rake +0 -7
  133. data/rakelib/undercover.rake +0 -8
  134. data/requirements_dev.txt +0 -2
  135. data/sorbet/config +0 -4
  136. data/sorbet/rbi/annotations/.gitattributes +0 -1
  137. data/sorbet/rbi/annotations/activesupport.rbi +0 -453
  138. data/sorbet/rbi/annotations/faraday.rbi +0 -17
  139. data/sorbet/rbi/annotations/minitest.rbi +0 -119
  140. data/sorbet/rbi/annotations/mocha.rbi +0 -34
  141. data/sorbet/rbi/annotations/rainbow.rbi +0 -269
  142. data/sorbet/rbi/annotations/webmock.rbi +0 -9
  143. data/sorbet/rbi/dsl/.gitattributes +0 -1
  144. data/sorbet/rbi/dsl/active_support/callbacks.rbi +0 -23
  145. data/sorbet/rbi/gems/.gitattributes +0 -1
  146. data/sorbet/rbi/gems/activesupport@7.1.5.rbi +0 -18746
  147. data/sorbet/rbi/gems/addressable@2.8.6.rbi +0 -1994
  148. data/sorbet/rbi/gems/ansi@1.5.0.rbi +0 -688
  149. data/sorbet/rbi/gems/asana@0.10.6-ab9393136d9ca59b75e42a661fdddc1c65c8f7c3.rbi +0 -6142
  150. data/sorbet/rbi/gems/ast@2.4.2.rbi +0 -585
  151. data/sorbet/rbi/gems/backport@1.2.0.rbi +0 -523
  152. data/sorbet/rbi/gems/base64@0.2.0.rbi +0 -509
  153. data/sorbet/rbi/gems/benchmark@0.4.0.rbi +0 -618
  154. data/sorbet/rbi/gems/bigdecimal@3.1.5.rbi +0 -78
  155. data/sorbet/rbi/gems/brakeman@6.2.2.rbi +0 -222
  156. data/sorbet/rbi/gems/builder@3.2.4.rbi +0 -505
  157. data/sorbet/rbi/gems/bump@0.10.0.rbi +0 -169
  158. data/sorbet/rbi/gems/cache@0.4.1.rbi +0 -211
  159. data/sorbet/rbi/gems/cache_method@0.2.7.rbi +0 -293
  160. data/sorbet/rbi/gems/chef-utils@18.3.0.rbi +0 -9
  161. data/sorbet/rbi/gems/childprocess@5.1.0.rbi +0 -383
  162. data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -3427
  163. data/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi +0 -11591
  164. data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +0 -9
  165. data/sorbet/rbi/gems/crack@0.4.5.rbi +0 -145
  166. data/sorbet/rbi/gems/diff-lcs@1.5.1.rbi +0 -969
  167. data/sorbet/rbi/gems/docile@1.4.0.rbi +0 -377
  168. data/sorbet/rbi/gems/drb@2.2.1.rbi +0 -1347
  169. data/sorbet/rbi/gems/e2mmap@0.1.0.rbi +0 -9
  170. data/sorbet/rbi/gems/erubi@1.13.0.rbi +0 -152
  171. data/sorbet/rbi/gems/faraday-em_http@1.0.0.rbi +0 -222
  172. data/sorbet/rbi/gems/faraday-em_synchrony@1.0.0.rbi +0 -126
  173. data/sorbet/rbi/gems/faraday-excon@1.1.0.rbi +0 -136
  174. data/sorbet/rbi/gems/faraday-httpclient@1.0.1.rbi +0 -145
  175. data/sorbet/rbi/gems/faraday-multipart@1.0.4.rbi +0 -259
  176. data/sorbet/rbi/gems/faraday-net_http@1.0.1.rbi +0 -142
  177. data/sorbet/rbi/gems/faraday-net_http_persistent@1.2.0.rbi +0 -118
  178. data/sorbet/rbi/gems/faraday-patron@1.0.0.rbi +0 -125
  179. data/sorbet/rbi/gems/faraday-rack@1.0.0.rbi +0 -133
  180. data/sorbet/rbi/gems/faraday-retry@1.0.3.rbi +0 -198
  181. data/sorbet/rbi/gems/faraday@1.10.3.rbi +0 -2729
  182. data/sorbet/rbi/gems/faraday_middleware-multi_json@0.0.6.rbi +0 -29
  183. data/sorbet/rbi/gems/faraday_middleware@1.2.0.rbi +0 -1004
  184. data/sorbet/rbi/gems/gli@2.22.0.rbi +0 -9
  185. data/sorbet/rbi/gems/hashdiff@1.0.1.rbi +0 -351
  186. data/sorbet/rbi/gems/i18n@1.14.6.rbi +0 -2359
  187. data/sorbet/rbi/gems/imagen@0.1.8.rbi +0 -340
  188. data/sorbet/rbi/gems/iniparse@1.5.0.rbi +0 -899
  189. data/sorbet/rbi/gems/jaro_winkler@1.6.0.rbi +0 -22
  190. data/sorbet/rbi/gems/json@2.7.1.rbi +0 -1562
  191. data/sorbet/rbi/gems/jwt@2.7.1.rbi +0 -1405
  192. data/sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi +0 -128
  193. data/sorbet/rbi/gems/kramdown@2.4.0.rbi +0 -3272
  194. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +0 -14238
  195. data/sorbet/rbi/gems/logger@1.6.2.rbi +0 -923
  196. data/sorbet/rbi/gems/mdl@0.13.0.rbi +0 -445
  197. data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -273
  198. data/sorbet/rbi/gems/mime-types-data@3.2023.1205.rbi +0 -127
  199. data/sorbet/rbi/gems/mime-types@3.5.1.rbi +0 -1252
  200. data/sorbet/rbi/gems/minitest-profile@0.0.2.rbi +0 -136
  201. data/sorbet/rbi/gems/minitest-reporters@1.6.1.rbi +0 -1014
  202. data/sorbet/rbi/gems/minitest@5.21.1.rbi +0 -1539
  203. data/sorbet/rbi/gems/mixlib-cli@2.1.8.rbi +0 -314
  204. data/sorbet/rbi/gems/mixlib-config@3.0.27.rbi +0 -581
  205. data/sorbet/rbi/gems/mixlib-shellout@3.2.7.rbi +0 -629
  206. data/sorbet/rbi/gems/mocha@2.1.0.rbi +0 -12
  207. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +0 -268
  208. data/sorbet/rbi/gems/multi_xml@0.6.0.rbi +0 -102
  209. data/sorbet/rbi/gems/multipart-post@2.3.0.rbi +0 -234
  210. data/sorbet/rbi/gems/mutex_m@0.3.0.rbi +0 -97
  211. data/sorbet/rbi/gems/netrc@0.11.0.rbi +0 -159
  212. data/sorbet/rbi/gems/nokogiri@1.17.0.rbi +0 -8201
  213. data/sorbet/rbi/gems/oauth2@1.4.11.rbi +0 -833
  214. data/sorbet/rbi/gems/overcommit@0.64.1.rbi +0 -2400
  215. data/sorbet/rbi/gems/parallel@1.23.0.rbi +0 -274
  216. data/sorbet/rbi/gems/parser@3.2.2.4.rbi +0 -7253
  217. data/sorbet/rbi/gems/prism@1.2.0.rbi +0 -39085
  218. data/sorbet/rbi/gems/pry@0.14.2.rbi +0 -10070
  219. data/sorbet/rbi/gems/public_suffix@5.0.4.rbi +0 -936
  220. data/sorbet/rbi/gems/punchlist@1.3.2.rbi +0 -173
  221. data/sorbet/rbi/gems/racc@1.8.1.rbi +0 -162
  222. data/sorbet/rbi/gems/rack@3.1.8.rbi +0 -4896
  223. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +0 -403
  224. data/sorbet/rbi/gems/rake@13.1.0.rbi +0 -3022
  225. data/sorbet/rbi/gems/rbi@0.2.1.rbi +0 -4535
  226. data/sorbet/rbi/gems/rbs@2.8.4.rbi +0 -5613
  227. data/sorbet/rbi/gems/regexp_parser@2.8.3.rbi +0 -3750
  228. data/sorbet/rbi/gems/reverse_markdown@2.1.1.rbi +0 -390
  229. data/sorbet/rbi/gems/rexml@3.3.9.rbi +0 -4964
  230. data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +0 -7061
  231. data/sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi +0 -2577
  232. data/sorbet/rbi/gems/rubocop-performance@1.20.2.rbi +0 -3262
  233. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +0 -329
  234. data/sorbet/rbi/gems/rubocop-rspec@3.0.0.rbi +0 -7546
  235. data/sorbet/rbi/gems/rubocop@1.59.0.rbi +0 -57238
  236. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +0 -1318
  237. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +0 -9
  238. data/sorbet/rbi/gems/rugged@1.6.3.rbi +0 -1577
  239. data/sorbet/rbi/gems/securerandom@0.4.0.rbi +0 -75
  240. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -217
  241. data/sorbet/rbi/gems/simplecov-lcov@0.8.0.rbi +0 -256
  242. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +0 -2149
  243. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +0 -9
  244. data/sorbet/rbi/gems/solargraph-rails@1.1.0-9dc37915bd4f3b169046e34db6fb32193ab347d8.rbi +0 -320
  245. data/sorbet/rbi/gems/solargraph@0.50.1-904b9304770a59fac393c5cc3cad481e5bdf0fd8.rbi +0 -9396
  246. data/sorbet/rbi/gems/source_finder@3.2.1.rbi +0 -317
  247. data/sorbet/rbi/gems/spoom@1.5.0.rbi +0 -4932
  248. data/sorbet/rbi/gems/tapioca@0.16.5.rbi +0 -3617
  249. data/sorbet/rbi/gems/thor@1.3.2.rbi +0 -4378
  250. data/sorbet/rbi/gems/tilt@2.4.0.rbi +0 -933
  251. data/sorbet/rbi/gems/tomlrb@2.0.3.rbi +0 -9
  252. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +0 -5918
  253. data/sorbet/rbi/gems/undercover@0.5.0.rbi +0 -433
  254. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +0 -66
  255. data/sorbet/rbi/gems/webmock@3.19.1.rbi +0 -1769
  256. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +0 -435
  257. data/sorbet/rbi/gems/yard@0.9.37.rbi +0 -18406
  258. data/sorbet/rbi/todo.rbi +0 -11
  259. data/sorbet/tapioca/config.yml +0 -13
  260. data/sorbet/tapioca/require.rb +0 -4
@@ -1,9 +0,0 @@
1
- # typed: true
2
-
3
- # DO NOT EDIT MANUALLY
4
- # This is an autogenerated file for types exported from the `gli` gem.
5
- # Please instead update this file by running `bin/tapioca gem gli`.
6
-
7
-
8
- # THIS IS AN EMPTY RBI FILE.
9
- # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
@@ -1,351 +0,0 @@
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
-
8
- # This module provides methods to diff two hash, patch and unpatch hash
9
- #
10
- # source://hashdiff//lib/hashdiff/util.rb#3
11
- module Hashdiff
12
- class << self
13
- # Best diff two objects, which tries to generate the smallest change set using different similarity values.
14
- #
15
- # Hashdiff.best_diff is useful in case of comparing two objects which include similar hashes in arrays.
16
- #
17
- # @example
18
- # a = {'x' => [{'a' => 1, 'c' => 3, 'e' => 5}, {'y' => 3}]}
19
- # b = {'x' => [{'a' => 1, 'b' => 2, 'e' => 5}] }
20
- # diff = Hashdiff.best_diff(a, b)
21
- # diff.should == [['-', 'x[0].c', 3], ['+', 'x[0].b', 2], ['-', 'x[1].y', 3], ['-', 'x[1]', {}]]
22
- # @param obj1 [Array, Hash]
23
- # @param obj2 [Array, Hash]
24
- # @param options [Hash] the options to use when comparing
25
- # * :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
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#31
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
- # * :indifferent (Boolean) [false] whether to treat hash keys indifferently. Set to true to ignore differences between symbol keys (ie. {a: 1} ~= {'a' => 1})
99
- # * :similarity (Numeric) [0.8] should be between (0, 1]. Meaningful if there are similar hashes in arrays. See {best_diff}.
100
- # * :delimiter (String) ['.'] the delimiter used when returning nested key references
101
- # * :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.
102
- # * :strip (Boolean) [false] whether or not to call #strip on strings before comparing
103
- # * :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.
104
- # * :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.
105
- # @return [Array] an array of changes.
106
- # e.g. [[ '+', 'a.b', '45' ], [ '-', 'a.c', '5' ], [ '~', 'a.x', '45', '63']]
107
- # @since 0.0.1
108
- # @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.
109
- #
110
- # source://hashdiff//lib/hashdiff/diff.rb#78
111
- def diff(obj1, obj2, options = T.unsafe(nil), &block); end
112
-
113
- # diff array using LCS algorithm
114
- #
115
- # @private
116
- # @yield [links]
117
- #
118
- # source://hashdiff//lib/hashdiff/diff.rb#119
119
- def diff_array_lcs(arraya, arrayb, options = T.unsafe(nil)); end
120
-
121
- # caculate array difference using LCS algorithm
122
- # http://en.wikipedia.org/wiki/Longest_common_subsequence_problem
123
- #
124
- # @private
125
- #
126
- # source://hashdiff//lib/hashdiff/lcs.rb#8
127
- def lcs(arraya, arrayb, options = T.unsafe(nil)); end
128
-
129
- # get the node of hash by given path parts
130
- #
131
- # @private
132
- #
133
- # source://hashdiff//lib/hashdiff/util.rb#75
134
- def node(hash, parts); end
135
-
136
- # Apply patch to object
137
- #
138
- # @param obj [Hash, Array] the object to be patched, can be an Array or a Hash
139
- # @param changes [Array] e.g. [[ '+', 'a.b', '45' ], [ '-', 'a.c', '5' ], [ '~', 'a.x', '45', '63']]
140
- # @param options [Hash] supports following keys:
141
- # * :delimiter (String) ['.'] delimiter string for representing nested keys in changes array
142
- # @return the object after patch
143
- # @since 0.0.1
144
- #
145
- # source://hashdiff//lib/hashdiff/patch.rb#17
146
- def patch!(obj, changes, options = T.unsafe(nil)); end
147
-
148
- # source://hashdiff//lib/hashdiff/util.rb#137
149
- def prefix_append_array_index(prefix, array_index, opts); end
150
-
151
- # source://hashdiff//lib/hashdiff/util.rb#129
152
- def prefix_append_key(prefix, key, opts); end
153
-
154
- # judge whether two objects are similar
155
- #
156
- # @private
157
- # @return [Boolean]
158
- #
159
- # source://hashdiff//lib/hashdiff/util.rb#7
160
- def similar?(obja, objb, options = T.unsafe(nil)); end
161
-
162
- # Unpatch an object
163
- #
164
- # @param obj [Hash, Array] the object to be unpatched, can be an Array or a Hash
165
- # @param changes [Array] e.g. [[ '+', 'a.b', '45' ], [ '-', 'a.c', '5' ], [ '~', 'a.x', '45', '63']]
166
- # @param options [Hash] supports following keys:
167
- # * :delimiter (String) ['.'] delimiter string for representing nested keys in changes array
168
- # @return the object after unpatch
169
- # @since 0.0.1
170
- #
171
- # source://hashdiff//lib/hashdiff/patch.rb#58
172
- def unpatch!(obj, changes, options = T.unsafe(nil)); end
173
-
174
- private
175
-
176
- # checks if both objects are Arrays or Hashes
177
- #
178
- # @private
179
- # @return [Boolean]
180
- #
181
- # source://hashdiff//lib/hashdiff/util.rb#151
182
- def any_hash_or_array?(obja, objb); end
183
- end
184
- end
185
-
186
- # Used to compare hashes
187
- #
188
- # @private
189
- #
190
- # source://hashdiff//lib/hashdiff/compare_hashes.rb#6
191
- class Hashdiff::CompareHashes
192
- class << self
193
- # source://hashdiff//lib/hashdiff/compare_hashes.rb#8
194
- def call(obj1, obj2, opts = T.unsafe(nil)); end
195
- end
196
- end
197
-
198
- # Used to compare arrays using the lcs algorithm
199
- #
200
- # @private
201
- #
202
- # source://hashdiff//lib/hashdiff/lcs_compare_arrays.rb#6
203
- class Hashdiff::LcsCompareArrays
204
- class << self
205
- # source://hashdiff//lib/hashdiff/lcs_compare_arrays.rb#8
206
- def call(obj1, obj2, opts = T.unsafe(nil)); end
207
- end
208
- end
209
-
210
- # Used to compare arrays in a linear complexity, which produces longer diffs
211
- # than using the lcs algorithm but is considerably faster
212
- #
213
- # @private
214
- #
215
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#8
216
- class Hashdiff::LinearCompareArray
217
- # @return [LinearCompareArray] a new instance of LinearCompareArray
218
- #
219
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#45
220
- def initialize(old_array, new_array, options); end
221
-
222
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#14
223
- def call; end
224
-
225
- private
226
-
227
- # Returns the value of attribute additions.
228
- #
229
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#42
230
- def additions; end
231
-
232
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#139
233
- def append_addition(item, index); end
234
-
235
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#123
236
- def append_addititions_before_match(match_index); end
237
-
238
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#144
239
- def append_deletion(item, index); end
240
-
241
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#131
242
- def append_deletions_before_match(match_index); end
243
-
244
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#149
245
- def append_differences(difference); end
246
-
247
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#153
248
- def changes; end
249
-
250
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#67
251
- def compare_at_index; end
252
-
253
- # Returns the value of attribute deletions.
254
- #
255
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#42
256
- def deletions; end
257
-
258
- # Returns the value of attribute differences.
259
- #
260
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#42
261
- def differences; end
262
-
263
- # Returns the value of attribute expected_additions.
264
- #
265
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#43
266
- def expected_additions; end
267
-
268
- # Sets the attribute expected_additions
269
- #
270
- # @param value the value to set the attribute expected_additions to.
271
- #
272
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#43
273
- def expected_additions=(_arg0); end
274
-
275
- # @return [Boolean]
276
- #
277
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#59
278
- def extra_items_in_new_array?; end
279
-
280
- # @return [Boolean]
281
- #
282
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#55
283
- def extra_items_in_old_array?; end
284
-
285
- # look ahead in the new array to see if the current item appears later
286
- # thereby having new items added
287
- #
288
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#89
289
- def index_of_match_after_additions; end
290
-
291
- # look ahead in the old array to see if the current item appears later
292
- # thereby having items removed
293
- #
294
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#107
295
- def index_of_match_after_deletions; end
296
-
297
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#82
298
- def item_difference(old_item, new_item, item_index); end
299
-
300
- # @return [Boolean]
301
- #
302
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#63
303
- def iterated_through_both_arrays?; end
304
-
305
- # Returns the value of attribute new_array.
306
- #
307
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#42
308
- def new_array; end
309
-
310
- # Returns the value of attribute new_index.
311
- #
312
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#43
313
- def new_index; end
314
-
315
- # Sets the attribute new_index
316
- #
317
- # @param value the value to set the attribute new_index to.
318
- #
319
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#43
320
- def new_index=(_arg0); end
321
-
322
- # Returns the value of attribute old_array.
323
- #
324
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#42
325
- def old_array; end
326
-
327
- # Returns the value of attribute old_index.
328
- #
329
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#43
330
- def old_index; end
331
-
332
- # Sets the attribute old_index
333
- #
334
- # @param value the value to set the attribute old_index to.
335
- #
336
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#43
337
- def old_index=(_arg0); end
338
-
339
- # Returns the value of attribute options.
340
- #
341
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#42
342
- def options; end
343
-
344
- class << self
345
- # source://hashdiff//lib/hashdiff/linear_compare_array.rb#9
346
- def call(old_array, new_array, options = T.unsafe(nil)); end
347
- end
348
- end
349
-
350
- # source://hashdiff//lib/hashdiff/version.rb#4
351
- Hashdiff::VERSION = T.let(T.unsafe(nil), String)