ripple_effect 0.1.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 (59) hide show
  1. checksums.yaml +7 -0
  2. data/.ripple-effect.yml.example +56 -0
  3. data/ARCHITECTURE.md +222 -0
  4. data/CHANGELOG.md +115 -0
  5. data/CODE_OF_CONDUCT.md +64 -0
  6. data/CONTRIBUTING.md +112 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +305 -0
  9. data/SECURITY.md +73 -0
  10. data/docs/ANALYSIS_MODEL.md +275 -0
  11. data/docs/CLI.md +276 -0
  12. data/docs/CONFIGURATION.md +178 -0
  13. data/docs/DECISIONS.md +210 -0
  14. data/docs/PUBLIC_LAUNCH_CHECKLIST.md +105 -0
  15. data/docs/RELEASING.md +94 -0
  16. data/docs/TESTING.md +179 -0
  17. data/exe/ripple-effect +7 -0
  18. data/lib/ripple_effect/analyzer.rb +379 -0
  19. data/lib/ripple_effect/cache_store.rb +207 -0
  20. data/lib/ripple_effect/cli/application.rb +126 -0
  21. data/lib/ripple_effect/cli/command.rb +165 -0
  22. data/lib/ripple_effect/cli/diff_command.rb +76 -0
  23. data/lib/ripple_effect/cli/doctor_command.rb +106 -0
  24. data/lib/ripple_effect/cli/graph_command.rb +61 -0
  25. data/lib/ripple_effect/cli/inspect_command.rb +66 -0
  26. data/lib/ripple_effect/cli/tests_command.rb +109 -0
  27. data/lib/ripple_effect/cli/version_command.rb +46 -0
  28. data/lib/ripple_effect/confidence.rb +61 -0
  29. data/lib/ripple_effect/configuration.rb +264 -0
  30. data/lib/ripple_effect/diagnostic.rb +90 -0
  31. data/lib/ripple_effect/diff/changed_symbol_resolver.rb +292 -0
  32. data/lib/ripple_effect/diff/git.rb +175 -0
  33. data/lib/ripple_effect/diff/hunk.rb +80 -0
  34. data/lib/ripple_effect/edge.rb +114 -0
  35. data/lib/ripple_effect/error.rb +23 -0
  36. data/lib/ripple_effect/extractors/base.rb +292 -0
  37. data/lib/ripple_effect/extractors/rails_associations.rb +102 -0
  38. data/lib/ripple_effect/extractors/rails_callbacks.rb +144 -0
  39. data/lib/ripple_effect/extractors/rails_delegation.rb +121 -0
  40. data/lib/ripple_effect/extractors/rails_jobs.rb +131 -0
  41. data/lib/ripple_effect/extractors/rails_mailers.rb +120 -0
  42. data/lib/ripple_effect/extractors/rails_routes.rb +256 -0
  43. data/lib/ripple_effect/extractors/rails_views.rb +299 -0
  44. data/lib/ripple_effect/extractors/ruby_structure.rb +221 -0
  45. data/lib/ripple_effect/extractors/test_conventions.rb +135 -0
  46. data/lib/ripple_effect/formatters/dot.rb +69 -0
  47. data/lib/ripple_effect/formatters/json.rb +43 -0
  48. data/lib/ripple_effect/formatters/text.rb +197 -0
  49. data/lib/ripple_effect/graph.rb +199 -0
  50. data/lib/ripple_effect/node.rb +153 -0
  51. data/lib/ripple_effect/project.rb +264 -0
  52. data/lib/ripple_effect/result.rb +147 -0
  53. data/lib/ripple_effect/risk.rb +167 -0
  54. data/lib/ripple_effect/static_index/adapter.rb +84 -0
  55. data/lib/ripple_effect/static_index/rubydex_adapter.rb +356 -0
  56. data/lib/ripple_effect/traversal/impact_walker.rb +153 -0
  57. data/lib/ripple_effect/version.rb +11 -0
  58. data/lib/ripple_effect.rb +89 -0
  59. metadata +155 -0
metadata ADDED
@@ -0,0 +1,155 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ripple_effect
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - iamzayn19
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2026-09-10 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: prism
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '3.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '1.0'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: rubydex
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0.4'
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '1.0'
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '0.4'
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '1.0'
53
+ description: |-
54
+ Ripple Effect maps the blast radius of Ruby on Rails changes. It combines Ruby-aware
55
+ static indexing with Rails semantics (callbacks, associations, routes, jobs, mailers,
56
+ concerns, and test references) to explain what may be affected before you refactor.
57
+ It is deterministic and local: it does not boot your application, connect to your
58
+ database, call an LLM, or upload your source code.
59
+ email:
60
+ - iamzayn19@gmail.com
61
+ executables:
62
+ - ripple-effect
63
+ extensions: []
64
+ extra_rdoc_files: []
65
+ files:
66
+ - ".ripple-effect.yml.example"
67
+ - ARCHITECTURE.md
68
+ - CHANGELOG.md
69
+ - CODE_OF_CONDUCT.md
70
+ - CONTRIBUTING.md
71
+ - LICENSE.txt
72
+ - README.md
73
+ - SECURITY.md
74
+ - docs/ANALYSIS_MODEL.md
75
+ - docs/CLI.md
76
+ - docs/CONFIGURATION.md
77
+ - docs/DECISIONS.md
78
+ - docs/PUBLIC_LAUNCH_CHECKLIST.md
79
+ - docs/RELEASING.md
80
+ - docs/TESTING.md
81
+ - exe/ripple-effect
82
+ - lib/ripple_effect.rb
83
+ - lib/ripple_effect/analyzer.rb
84
+ - lib/ripple_effect/cache_store.rb
85
+ - lib/ripple_effect/cli/application.rb
86
+ - lib/ripple_effect/cli/command.rb
87
+ - lib/ripple_effect/cli/diff_command.rb
88
+ - lib/ripple_effect/cli/doctor_command.rb
89
+ - lib/ripple_effect/cli/graph_command.rb
90
+ - lib/ripple_effect/cli/inspect_command.rb
91
+ - lib/ripple_effect/cli/tests_command.rb
92
+ - lib/ripple_effect/cli/version_command.rb
93
+ - lib/ripple_effect/confidence.rb
94
+ - lib/ripple_effect/configuration.rb
95
+ - lib/ripple_effect/diagnostic.rb
96
+ - lib/ripple_effect/diff/changed_symbol_resolver.rb
97
+ - lib/ripple_effect/diff/git.rb
98
+ - lib/ripple_effect/diff/hunk.rb
99
+ - lib/ripple_effect/edge.rb
100
+ - lib/ripple_effect/error.rb
101
+ - lib/ripple_effect/extractors/base.rb
102
+ - lib/ripple_effect/extractors/rails_associations.rb
103
+ - lib/ripple_effect/extractors/rails_callbacks.rb
104
+ - lib/ripple_effect/extractors/rails_delegation.rb
105
+ - lib/ripple_effect/extractors/rails_jobs.rb
106
+ - lib/ripple_effect/extractors/rails_mailers.rb
107
+ - lib/ripple_effect/extractors/rails_routes.rb
108
+ - lib/ripple_effect/extractors/rails_views.rb
109
+ - lib/ripple_effect/extractors/ruby_structure.rb
110
+ - lib/ripple_effect/extractors/test_conventions.rb
111
+ - lib/ripple_effect/formatters/dot.rb
112
+ - lib/ripple_effect/formatters/json.rb
113
+ - lib/ripple_effect/formatters/text.rb
114
+ - lib/ripple_effect/graph.rb
115
+ - lib/ripple_effect/node.rb
116
+ - lib/ripple_effect/project.rb
117
+ - lib/ripple_effect/result.rb
118
+ - lib/ripple_effect/risk.rb
119
+ - lib/ripple_effect/static_index/adapter.rb
120
+ - lib/ripple_effect/static_index/rubydex_adapter.rb
121
+ - lib/ripple_effect/traversal/impact_walker.rb
122
+ - lib/ripple_effect/version.rb
123
+ homepage: https://github.com/iamzayn19/ripple-effect
124
+ licenses:
125
+ - MIT
126
+ metadata:
127
+ homepage_uri: https://github.com/iamzayn19/ripple-effect
128
+ source_code_uri: https://github.com/iamzayn19/ripple-effect/tree/v0.1.0
129
+ changelog_uri: https://github.com/iamzayn19/ripple-effect/blob/main/CHANGELOG.md
130
+ bug_tracker_uri: https://github.com/iamzayn19/ripple-effect/issues
131
+ documentation_uri: https://github.com/iamzayn19/ripple-effect/blob/main/README.md
132
+ rubygems_mfa_required: 'true'
133
+ post_install_message:
134
+ rdoc_options: []
135
+ require_paths:
136
+ - lib
137
+ required_ruby_version: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ version: '3.2'
142
+ - - "<"
143
+ - !ruby/object:Gem::Version
144
+ version: '5.0'
145
+ required_rubygems_version: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ requirements: []
151
+ rubygems_version: 3.5.14
152
+ signing_key:
153
+ specification_version: 4
154
+ summary: Change-impact analysis for Ruby on Rails.
155
+ test_files: []