insta 0.2.9 → 0.3.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.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +1 -1
  3. data/Rakefile +30 -3
  4. data/exe/insta +6 -0
  5. data/lib/insta/ansi.rb +30 -0
  6. data/lib/insta/ci.rb +21 -0
  7. data/lib/insta/cli.rb +714 -0
  8. data/lib/insta/config_manifest.rb +56 -0
  9. data/lib/insta/configuration.rb +86 -2
  10. data/lib/insta/diff.rb +134 -0
  11. data/lib/insta/inline/call_finder.rb +37 -0
  12. data/lib/insta/inline/edit.rb +21 -0
  13. data/lib/insta/inline/file_patcher.rb +269 -0
  14. data/lib/insta/inline/pending_registry.rb +57 -0
  15. data/lib/insta/inline/pending_store.rb +145 -0
  16. data/lib/insta/minitest/assertions.rb +254 -0
  17. data/lib/insta/minitest/lifecycle.rb +12 -0
  18. data/lib/insta/minitest.rb +8 -0
  19. data/lib/insta/pending_locations.rb +64 -0
  20. data/lib/insta/pending_reporter.rb +47 -0
  21. data/lib/insta/redaction/applicator.rb +89 -0
  22. data/lib/insta/redaction/selector.rb +193 -0
  23. data/lib/insta/rspec/hooks.rb +18 -0
  24. data/lib/insta/rspec/matchers.rb +248 -0
  25. data/lib/insta/rspec.rb +7 -0
  26. data/lib/insta/serializers/base.rb +31 -0
  27. data/lib/insta/serializers/inspect.rb +14 -0
  28. data/lib/insta/serializers/json.rb +16 -0
  29. data/lib/insta/serializers/string.rb +14 -0
  30. data/lib/insta/serializers/yaml.rb +16 -0
  31. data/lib/insta/snapshot.rb +74 -0
  32. data/lib/insta/snapshot_content.rb +44 -0
  33. data/lib/insta/snapshot_file.rb +64 -0
  34. data/lib/insta/snapshot_mismatch_handler.rb +34 -0
  35. data/lib/insta/snapshot_name.rb +51 -0
  36. data/lib/insta/syntax_highlight.rb +20 -0
  37. data/lib/insta/update_coordinator.rb +22 -0
  38. data/lib/insta/version.rb +3 -1
  39. data/lib/insta.rb +42 -8
  40. data/lib/minitest/insta_plugin.rb +17 -0
  41. data/sig/insta/ansi.rbs +28 -0
  42. data/sig/insta/ci.rbs +10 -0
  43. data/sig/insta/cli.rbs +150 -0
  44. data/sig/insta/config_manifest.rbs +27 -0
  45. data/sig/insta/configuration.rbs +48 -0
  46. data/sig/insta/diff.rbs +38 -0
  47. data/sig/insta/inline/call_finder.rbs +22 -0
  48. data/sig/insta/inline/edit.rbs +18 -0
  49. data/sig/insta/inline/file_patcher.rbs +55 -0
  50. data/sig/insta/inline/pending_registry.rbs +22 -0
  51. data/sig/insta/inline/pending_store.rbs +41 -0
  52. data/sig/insta/minitest/assertions.rbs +52 -0
  53. data/sig/insta/minitest/lifecycle.rbs +10 -0
  54. data/sig/insta/minitest.rbs +2 -0
  55. data/sig/insta/pending_locations.rbs +22 -0
  56. data/sig/insta/pending_reporter.rbs +14 -0
  57. data/sig/insta/redaction/applicator.rbs +22 -0
  58. data/sig/insta/redaction/selector.rbs +58 -0
  59. data/sig/insta/rspec/hooks.rbs +10 -0
  60. data/sig/insta/rspec/matchers.rbs +71 -0
  61. data/sig/insta/rspec.rbs +2 -0
  62. data/sig/insta/serializers/base.rbs +21 -0
  63. data/sig/insta/serializers/inspect.rbs +10 -0
  64. data/sig/insta/serializers/json.rbs +10 -0
  65. data/sig/insta/serializers/string.rbs +10 -0
  66. data/sig/insta/serializers/yaml.rbs +10 -0
  67. data/sig/insta/snapshot.rbs +37 -0
  68. data/sig/insta/snapshot_content.rbs +14 -0
  69. data/sig/insta/snapshot_file.rbs +27 -0
  70. data/sig/insta/snapshot_mismatch_handler.rbs +12 -0
  71. data/sig/insta/snapshot_name.rbs +17 -0
  72. data/sig/insta/syntax_highlight.rbs +8 -0
  73. data/sig/insta/update_coordinator.rbs +11 -0
  74. data/sig/insta/version.rbs +5 -0
  75. data/sig/insta.rbs +12 -0
  76. data/sig/minitest/insta_plugin.rbs +6 -0
  77. data/sig/vendor/difftastic.rbs +19 -0
  78. data/sig/vendor/irb.rbs +5 -0
  79. data/sig/vendor/psych.rbs +7 -0
  80. data/sig/vendor/rspec.rbs +9 -0
  81. data/sig/vendor/rubygems.rbs +3 -0
  82. metadata +109 -54
  83. data/.DS_Store +0 -0
  84. data/.gitignore +0 -11
  85. data/.rspec +0 -3
  86. data/.travis.yml +0 -5
  87. data/CODE_OF_CONDUCT.md +0 -74
  88. data/Gemfile +0 -6
  89. data/Gemfile.lock +0 -35
  90. data/README.md +0 -41
  91. data/bin/console +0 -14
  92. data/bin/setup +0 -8
  93. data/insta.gemspec +0 -36
  94. data/lib/.DS_Store +0 -0
  95. data/lib/insta/account.rb +0 -127
  96. data/lib/insta/api.rb +0 -88
  97. data/lib/insta/constants.rb +0 -21
  98. data/lib/insta/device.rb +0 -11852
  99. data/lib/insta/feed.rb +0 -89
  100. data/lib/insta/location.rb +0 -18
  101. data/lib/insta/proxy_manager.rb +0 -23
  102. data/lib/insta/tag.rb +0 -18
  103. data/lib/insta/user.rb +0 -103
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b07de8bff823379e8c5fb024fe5fc7031ddb716dc17d7b25c415da4d532ed175
4
- data.tar.gz: 7a0ce471f26ebc75b0d912f2cbfc955b49aa473aac90b6f420058d56140af8a7
3
+ metadata.gz: e324f59898fb6751de7a79e830850390f6d7e4963f9126921a5a9bc8661985e0
4
+ data.tar.gz: ea98e4fc522cc885a4990fb23eb41b35061588ee8e9d9fb09b672a77b28ed9c3
5
5
  SHA512:
6
- metadata.gz: f61fc6c96f446b11fe57bf462621dfbf5cbe5af26cf4d4847c8f282310188429694809c30851fe6a4f08e3d720a12dcaa1b36361416e541ff376438ad8a9b9f7
7
- data.tar.gz: cf0a4f61c2617d1a3501e1ccb8082cca119eaf2c059fa9cbea08e61b563a2bae0d540a92700bcba01d259dd1ef398b0729e2d02f4223cea03399f3b9dedfca3c
6
+ metadata.gz: 2ffcf7117850b95938ac32cb52b7fb87b9724e60a740bce9f292940cf0b1da8998d99774dc0197e4749d7bedbe362fe526612833d19b159da15ddf014a87379c
7
+ data.tar.gz: c6c2362829474c5caa08b141ddcbabce55c1188195c8d333e9b7aabe1374ccc317efe48fba5364ea900b80568f4ae064f184a064b0a04192d6ad13a2e924036d
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2018 Renan Garcia
3
+ Copyright (c) 2026 Marco Roth
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/Rakefile CHANGED
@@ -1,6 +1,33 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
4
+ require "rake/testtask"
5
+ require "rubocop/rake_task"
6
+
7
+ RuboCop::RakeTask.new
8
+
9
+ Rake::TestTask.new(:test) do |t|
10
+ t.libs << "test"
11
+ t.libs << "lib"
12
+ t.test_files = FileList["test/**/*_test.rb"]
13
+ end
14
+
15
+ task :rbs_inline do
16
+ require "open3"
17
+
18
+ command = "bundle exec rbs-inline --opt-out --output=sig/ lib/"
19
+
20
+ _stdout, stderr, status = Open3.capture3(command)
21
+
22
+ puts "Running `#{command}`"
3
23
 
4
- RSpec::Core::RakeTask.new(:spec)
24
+ if stderr.strip == "🎉 Generated 0 RBS files under sig/"
25
+ puts "RBS files in sig/ are up to date"
26
+ exit status.exitstatus
27
+ else
28
+ puts "RBS files in sig/ are not up to date"
29
+ exit 1
30
+ end
31
+ end
5
32
 
6
- task :default => :spec
33
+ task default: [:test, :rubocop]
data/exe/insta ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require_relative "../lib/insta/cli"
5
+
6
+ Insta::CLI.new(ARGV).run
data/lib/insta/ansi.rb ADDED
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Insta
4
+ module ANSI
5
+ private
6
+
7
+ #: () -> bool
8
+ def color?
9
+ !ENV.key?("NO_COLOR") && $stdout.tty?
10
+ end
11
+
12
+ #: (String) -> String
13
+ def bold(text) = $stdout.tty? ? "\e[1m#{text}\e[0m" : text
14
+
15
+ #: (String) -> String
16
+ def dim(text) = $stdout.tty? ? "\e[2m#{text}\e[0m" : text
17
+
18
+ #: (String) -> String
19
+ def red(text) = color? ? "\e[31m#{text}\e[0m" : text
20
+
21
+ #: (String) -> String
22
+ def green(text) = color? ? "\e[32m#{text}\e[0m" : text
23
+
24
+ #: (String) -> String
25
+ def yellow(text) = color? ? "\e[33m#{text}\e[0m" : text
26
+
27
+ #: (String) -> String
28
+ def cyan(text) = color? ? "\e[36m#{text}\e[0m" : text
29
+ end
30
+ end
data/lib/insta/ci.rb ADDED
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Insta
4
+ module CI
5
+ CI_ENV_VARS = [
6
+ "CI",
7
+ "GITHUB_ACTIONS",
8
+ "CIRCLECI",
9
+ "TRAVIS",
10
+ "JENKINS_URL",
11
+ "BUILDKITE",
12
+ "GITLAB_CI",
13
+ "TF_BUILD"
14
+ ].freeze #: Array[String]
15
+
16
+ #: () -> bool
17
+ def self.ci?
18
+ CI_ENV_VARS.any? { |var| ENV.key?(var) }
19
+ end
20
+ end
21
+ end