encoded_id-rails 1.0.0.beta3 → 1.0.0.rc6

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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +77 -18
  3. data/LICENSE.txt +1 -1
  4. data/README.md +77 -368
  5. data/context/encoded_id-rails.md +433 -0
  6. data/context/encoded_id.md +283 -0
  7. data/lib/encoded_id/rails/active_record_finders.rb +52 -0
  8. data/lib/encoded_id/rails/annotated_id.rb +8 -0
  9. data/lib/encoded_id/rails/annotated_id_parser.rb +8 -1
  10. data/lib/encoded_id/rails/coder.rb +20 -2
  11. data/lib/encoded_id/rails/configuration.rb +45 -3
  12. data/lib/encoded_id/rails/encoder_methods.rb +9 -1
  13. data/lib/encoded_id/rails/finder_methods.rb +10 -0
  14. data/lib/encoded_id/rails/model.rb +65 -8
  15. data/lib/encoded_id/rails/path_param.rb +7 -0
  16. data/lib/encoded_id/rails/persists.rb +120 -0
  17. data/lib/encoded_id/rails/query_methods.rb +20 -4
  18. data/lib/encoded_id/rails/railtie.rb +13 -0
  19. data/lib/encoded_id/rails/salt.rb +7 -0
  20. data/lib/encoded_id/rails/slugged_id.rb +8 -0
  21. data/lib/encoded_id/rails/slugged_id_parser.rb +8 -1
  22. data/lib/encoded_id/rails/slugged_path_param.rb +7 -0
  23. data/lib/encoded_id/rails.rb +10 -6
  24. data/lib/generators/encoded_id/rails/USAGE +4 -0
  25. data/lib/generators/encoded_id/rails/add_columns_generator.rb +45 -0
  26. data/lib/generators/encoded_id/rails/templates/add_encoded_id_columns_migration.rb.erb +16 -0
  27. data/lib/generators/encoded_id/rails/templates/encoded_id.rb +28 -0
  28. metadata +27 -52
  29. data/.standard.yml +0 -3
  30. data/Appraisals +0 -14
  31. data/Gemfile +0 -18
  32. data/Rakefile +0 -14
  33. data/Steepfile +0 -4
  34. data/gemfiles/.bundle/config +0 -2
  35. data/gemfiles/rails_6.1.gemfile +0 -16
  36. data/gemfiles/rails_6.1.gemfile.lock +0 -130
  37. data/gemfiles/rails_7.0.gemfile +0 -16
  38. data/gemfiles/rails_7.0.gemfile.lock +0 -128
  39. data/gemfiles/rails_7.1.gemfile +0 -16
  40. data/gemfiles/rails_7.1.gemfile.lock +0 -140
  41. data/lib/encoded_id/rails/version.rb +0 -7
  42. data/rbs_collection.yaml +0 -24
  43. data/sig/encoded_id/rails.rbs +0 -141
@@ -1,16 +1,24 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rbs_inline: enabled
4
+
3
5
  require "cgi"
4
6
 
5
7
  module EncodedId
6
8
  module Rails
7
9
  class SluggedId
10
+ # @rbs @slug_part: String
11
+ # @rbs @id_part: String
12
+ # @rbs @separator: String
13
+
14
+ # @rbs (slug_part: String, id_part: String, ?separator: String) -> void
8
15
  def initialize(slug_part:, id_part:, separator: "--")
9
16
  @slug_part = slug_part
10
17
  @id_part = id_part
11
18
  @separator = separator
12
19
  end
13
20
 
21
+ # @rbs return: String
14
22
  def slugged_id
15
23
  unless @id_part.present? && @slug_part.present?
16
24
  raise ::StandardError, "The model does not return a valid ID and/or slug"
@@ -1,8 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rbs_inline: enabled
4
+
3
5
  module EncodedId
4
6
  module Rails
5
7
  class SluggedIdParser
8
+ # @rbs @slug: String?
9
+ # @rbs @id: String
10
+
11
+ # @rbs (String slugged_id, ?separator: String) -> void
6
12
  def initialize(slugged_id, separator: "--")
7
13
  if separator && slugged_id.include?(separator)
8
14
  parts = slugged_id.split(separator)
@@ -13,7 +19,8 @@ module EncodedId
13
19
  end
14
20
  end
15
21
 
16
- attr_reader :slug, :id
22
+ attr_reader :slug #: String?
23
+ attr_reader :id #: String
17
24
  end
18
25
  end
19
26
  end
@@ -1,11 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rbs_inline: enabled
4
+
3
5
  require "active_record"
4
6
  require "encoded_id"
5
7
 
6
8
  module EncodedId
7
9
  module Rails
8
10
  module SluggedPathParam
11
+ # Method provided by model
12
+ # @rbs!
13
+ # def slugged_encoded_id: () -> String?
14
+
15
+ # @rbs () -> String
9
16
  def to_param
10
17
  slugged_encoded_id || raise(StandardError, "Cannot create path param for #{self.class.name} without an encoded id")
11
18
  end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "rails/version"
3
+ # rbs_inline: enabled
4
+
4
5
  require_relative "rails/configuration"
5
6
  require_relative "rails/coder"
6
7
  require_relative "rails/slugged_id"
@@ -14,24 +15,27 @@ require_relative "rails/finder_methods"
14
15
  require_relative "rails/path_param"
15
16
  require_relative "rails/slugged_path_param"
16
17
  require_relative "rails/model"
18
+ require_relative "rails/persists"
19
+ require_relative "rails/active_record_finders"
20
+ require_relative "rails/railtie"
17
21
 
18
22
  module EncodedId
19
23
  module Rails
20
24
  # Configuration
25
+ # @rbs self.@configuration: EncodedId::Rails::Configuration?
26
+
21
27
  class << self
28
+ # @rbs return: EncodedId::Rails::Configuration
22
29
  def configuration
23
30
  @configuration ||= Configuration.new
24
31
  end
25
32
 
33
+ # @rbs () -> EncodedId::Rails::Configuration
34
+ # | () { (EncodedId::Rails::Configuration) -> void } -> EncodedId::Rails::Configuration
26
35
  def configure
27
36
  yield(configuration) if block_given?
28
37
  configuration
29
38
  end
30
39
  end
31
40
  end
32
-
33
- # Expose directly on EncodedId
34
- Model = Rails::Model
35
- PathParam = Rails::PathParam
36
- SluggedPathParam = Rails::SluggedPathParam
37
41
  end
@@ -1,3 +1,7 @@
1
1
  Creates an initialiser:
2
2
 
3
3
  rails generate encoded_id:rails:install
4
+
5
+ Creates migrations for persisting encoded IDs:
6
+
7
+ rails generate encoded_id:rails:add_columns Model [Model2 Model3 ...]
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators/active_record/migration"
4
+
5
+ module EncodedId
6
+ module Rails
7
+ module Generators
8
+ # Generator for adding encoded ID columns to models
9
+ # Usage: rails generate encoded_id:rails:add_columns Model [Model2 Model3 ...]
10
+ class AddColumnsGenerator < ::Rails::Generators::Base
11
+ include ::ActiveRecord::Generators::Migration
12
+
13
+ source_root File.expand_path(__dir__)
14
+
15
+ argument :model_names, type: :array, desc: "Model name or names to add columns to"
16
+
17
+ desc "Adds encoded_id persistence columns to the specified models"
18
+
19
+ def create_migration_file
20
+ migration_template(
21
+ "templates/add_encoded_id_columns_migration.rb.erb",
22
+ "db/migrate/add_encoded_id_columns_to_#{table_names}.rb",
23
+ migration_version: migration_version
24
+ )
25
+ end
26
+
27
+ private
28
+
29
+ def table_names
30
+ @table_names ||= model_names.map do |model_name|
31
+ model_name.underscore.pluralize
32
+ end.join("_and_")
33
+ end
34
+
35
+ def migration_version
36
+ "[#{::ActiveRecord::VERSION::MAJOR}.#{::ActiveRecord::VERSION::MINOR}]"
37
+ end
38
+
39
+ def migration_class_name
40
+ "AddEncodedIdColumnsTo#{table_names.camelize}"
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ class <%= migration_class_name %> < ActiveRecord::Migration<%= migration_version %>
4
+ def change
5
+ <% model_names.each do |model_name| %>
6
+ # Get table name from the model or infer from model name
7
+ table_name = :<%= model_name.underscore.pluralize %>
8
+
9
+ add_column table_name, :normalized_encoded_id, :string
10
+ add_column table_name, :prefixed_encoded_id, :string
11
+
12
+ add_index table_name, :normalized_encoded_id, unique: true
13
+ add_index table_name, :prefixed_encoded_id, unique: true
14
+ <% end %>
15
+ end
16
+ end
@@ -67,4 +67,32 @@ EncodedId::Rails.configure do |config|
67
67
  # Default: "_"
68
68
  #
69
69
  # config.annotated_id_separator = "_"
70
+
71
+ # When true, models that include EncodedId::Rails::Model will automatically have their to_param method
72
+ # return the encoded ID (equivalent to also including EncodedId::Rails::PathParam).
73
+ # This makes any model with EncodedId::Rails::Model automatically use encoded IDs in URLs.
74
+ #
75
+ # Default: false
76
+ #
77
+ # config.model_to_param_returns_encoded_id = true
78
+
79
+ # The encoder to use for generating encoded IDs. Valid options are :hashids and :sqids.
80
+ # To use :sqids, you must add 'gem "sqids"' to your Gemfile.
81
+ #
82
+ # Default: :hashids
83
+ #
84
+ # config.encoder = :hashids
85
+
86
+ # A list of words that should not appear in generated encoded IDs.
87
+ # For the HashIds encoder, IDs containing blocklisted words will raise an error when generated.
88
+ # For the Sqids encoder, the algorithm will automatically avoid generating IDs containing these words.
89
+ # Should be an instance of EncodedId::Blocklist, or an Array or Set of strings.
90
+ #
91
+ # Default: EncodedId::Blocklist.empty
92
+ # Available built-in blocklists:
93
+ # - EncodedId::Blocklist.empty - no blocked words
94
+ # - EncodedId::Blocklist.minimal - common English profanity
95
+ # - EncodedId::Blocklist.sqids_blocklist - the default blocklist from the Sqids gem
96
+ #
97
+ # config.blocklist = EncodedId::Blocklist.minimal
70
98
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: encoded_id-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta3
4
+ version: 1.0.0.rc6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Ierodiaconou
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2024-04-29 00:00:00.000000000 Z
10
+ date: 2025-11-17 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activesupport
@@ -16,68 +15,54 @@ dependencies:
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: '6.0'
18
+ version: '7.2'
20
19
  - - "<"
21
20
  - !ruby/object:Gem::Version
22
- version: '8.0'
21
+ version: '9'
23
22
  type: :runtime
24
23
  prerelease: false
25
24
  version_requirements: !ruby/object:Gem::Requirement
26
25
  requirements:
27
26
  - - ">="
28
27
  - !ruby/object:Gem::Version
29
- version: '6.0'
28
+ version: '7.2'
30
29
  - - "<"
31
30
  - !ruby/object:Gem::Version
32
- version: '8.0'
31
+ version: '9'
33
32
  - !ruby/object:Gem::Dependency
34
33
  name: activerecord
35
34
  requirement: !ruby/object:Gem::Requirement
36
35
  requirements:
37
36
  - - ">="
38
37
  - !ruby/object:Gem::Version
39
- version: '6.0'
38
+ version: '7.2'
40
39
  - - "<"
41
40
  - !ruby/object:Gem::Version
42
- version: '8.0'
41
+ version: '9'
43
42
  type: :runtime
44
43
  prerelease: false
45
44
  version_requirements: !ruby/object:Gem::Requirement
46
45
  requirements:
47
46
  - - ">="
48
47
  - !ruby/object:Gem::Version
49
- version: '6.0'
48
+ version: '7.2'
50
49
  - - "<"
51
50
  - !ruby/object:Gem::Version
52
- version: '8.0'
51
+ version: '9'
53
52
  - !ruby/object:Gem::Dependency
54
53
  name: encoded_id
55
54
  requirement: !ruby/object:Gem::Requirement
56
55
  requirements:
57
- - - "~>"
56
+ - - '='
58
57
  - !ruby/object:Gem::Version
59
- version: 1.0.0.rc4
58
+ version: 1.0.0.rc6
60
59
  type: :runtime
61
60
  prerelease: false
62
61
  version_requirements: !ruby/object:Gem::Requirement
63
62
  requirements:
64
- - - "~>"
63
+ - - '='
65
64
  - !ruby/object:Gem::Version
66
- version: 1.0.0.rc4
67
- - !ruby/object:Gem::Dependency
68
- name: appraisal
69
- requirement: !ruby/object:Gem::Requirement
70
- requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- version: '0'
74
- type: :development
75
- prerelease: false
76
- version_requirements: !ruby/object:Gem::Requirement
77
- requirements:
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- version: '0'
65
+ version: 1.0.0.rc6
81
66
  description: ActiveRecord concern to use EncodedID to turn IDs into reversible and
82
67
  human friendly obfuscated strings.
83
68
  email:
@@ -86,22 +71,13 @@ executables: []
86
71
  extensions: []
87
72
  extra_rdoc_files: []
88
73
  files:
89
- - ".standard.yml"
90
- - Appraisals
91
74
  - CHANGELOG.md
92
- - Gemfile
93
75
  - LICENSE.txt
94
76
  - README.md
95
- - Rakefile
96
- - Steepfile
97
- - gemfiles/.bundle/config
98
- - gemfiles/rails_6.1.gemfile
99
- - gemfiles/rails_6.1.gemfile.lock
100
- - gemfiles/rails_7.0.gemfile
101
- - gemfiles/rails_7.0.gemfile.lock
102
- - gemfiles/rails_7.1.gemfile
103
- - gemfiles/rails_7.1.gemfile.lock
77
+ - context/encoded_id-rails.md
78
+ - context/encoded_id.md
104
79
  - lib/encoded_id/rails.rb
80
+ - lib/encoded_id/rails/active_record_finders.rb
105
81
  - lib/encoded_id/rails/annotated_id.rb
106
82
  - lib/encoded_id/rails/annotated_id_parser.rb
107
83
  - lib/encoded_id/rails/coder.rb
@@ -110,25 +86,25 @@ files:
110
86
  - lib/encoded_id/rails/finder_methods.rb
111
87
  - lib/encoded_id/rails/model.rb
112
88
  - lib/encoded_id/rails/path_param.rb
89
+ - lib/encoded_id/rails/persists.rb
113
90
  - lib/encoded_id/rails/query_methods.rb
91
+ - lib/encoded_id/rails/railtie.rb
114
92
  - lib/encoded_id/rails/salt.rb
115
93
  - lib/encoded_id/rails/slugged_id.rb
116
94
  - lib/encoded_id/rails/slugged_id_parser.rb
117
95
  - lib/encoded_id/rails/slugged_path_param.rb
118
- - lib/encoded_id/rails/version.rb
119
96
  - lib/generators/encoded_id/rails/USAGE
97
+ - lib/generators/encoded_id/rails/add_columns_generator.rb
120
98
  - lib/generators/encoded_id/rails/install_generator.rb
99
+ - lib/generators/encoded_id/rails/templates/add_encoded_id_columns_migration.rb.erb
121
100
  - lib/generators/encoded_id/rails/templates/encoded_id.rb
122
- - rbs_collection.yaml
123
- - sig/encoded_id/rails.rbs
124
- homepage: https://github.com/stevegeek/encoded_id-rails
101
+ homepage: https://github.com/stevegeek/encoded_id
125
102
  licenses:
126
103
  - MIT
127
104
  metadata:
128
- homepage_uri: https://github.com/stevegeek/encoded_id-rails
129
- source_code_uri: https://github.com/stevegeek/encoded_id-rails
130
- changelog_uri: https://github.com/stevegeek/encoded_id-rails/blob/master/CHANGELOG.md
131
- post_install_message:
105
+ homepage_uri: https://github.com/stevegeek/encoded_id
106
+ source_code_uri: https://github.com/stevegeek/encoded_id
107
+ changelog_uri: https://github.com/stevegeek/encoded_id/blob/main/CHANGELOG.md
132
108
  rdoc_options: []
133
109
  require_paths:
134
110
  - lib
@@ -136,15 +112,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
136
112
  requirements:
137
113
  - - ">="
138
114
  - !ruby/object:Gem::Version
139
- version: 2.6.0
115
+ version: 3.2.0
140
116
  required_rubygems_version: !ruby/object:Gem::Requirement
141
117
  requirements:
142
118
  - - ">="
143
119
  - !ruby/object:Gem::Version
144
120
  version: '0'
145
121
  requirements: []
146
- rubygems_version: 3.5.3
147
- signing_key:
122
+ rubygems_version: 3.6.2
148
123
  specification_version: 4
149
124
  summary: Use `encoded_id` with ActiveRecord models
150
125
  test_files: []
data/.standard.yml DELETED
@@ -1,3 +0,0 @@
1
- # For available configuration options, see:
2
- # https://github.com/testdouble/standard
3
- ruby_version: 2.6
data/Appraisals DELETED
@@ -1,14 +0,0 @@
1
- appraise "rails-6.1" do
2
- gem "activesupport", "~> 6.1.7", ">= 6.1.0"
3
- gem "activerecord", "~> 6.1.7", ">= 6.1.0"
4
- end
5
-
6
- appraise "rails-7.0" do
7
- gem "activesupport", "~> 7.0.4"
8
- gem "activerecord", "~> 7.0.4"
9
- end
10
-
11
- appraise "rails-7.1" do
12
- gem "activesupport", "~> 7.1"
13
- gem "activerecord", "~> 7.1"
14
- end
data/Gemfile DELETED
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source "https://rubygems.org"
4
-
5
- # Specify your gem's dependencies in encoded_id-rails.gemspec
6
- gemspec
7
-
8
- group :development, :test do
9
- gem "rake", "~> 13.0"
10
-
11
- gem "minitest", "~> 5.0"
12
-
13
- gem "standard", "~> 1.30"
14
-
15
- gem "steep", "~> 1.5"
16
-
17
- gem "sqlite3", "~> 1.5"
18
- end
data/Rakefile DELETED
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "bundler/gem_tasks"
4
- require "rake/testtask"
5
-
6
- Rake::TestTask.new(:test) do |t|
7
- t.libs << "test"
8
- t.libs << "lib"
9
- t.test_files = FileList["test/**/test_*.rb"]
10
- end
11
-
12
- require "standard/rake"
13
-
14
- task default: %i[test standard]
data/Steepfile DELETED
@@ -1,4 +0,0 @@
1
- target :lib do
2
- check "lib/encoded_id"
3
- signature "sig"
4
- end
@@ -1,2 +0,0 @@
1
- ---
2
- BUNDLE_RETRY: "1"
@@ -1,16 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activesupport", "~> 6.1.7", ">= 6.1.0"
6
- gem "activerecord", "~> 6.1.7", ">= 6.1.0"
7
-
8
- group :development, :test do
9
- gem "rake", "~> 13.0"
10
- gem "minitest", "~> 5.0"
11
- gem "standard", "~> 1.30"
12
- gem "steep", "~> 1.5"
13
- gem "sqlite3", "~> 1.5"
14
- end
15
-
16
- gemspec path: "../"
@@ -1,130 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- encoded_id-rails (1.0.0.beta2)
5
- activerecord (>= 6.0, < 8.0)
6
- activesupport (>= 6.0, < 8.0)
7
- encoded_id (~> 1.0.0.rc4)
8
-
9
- GEM
10
- remote: https://rubygems.org/
11
- specs:
12
- abbrev (0.1.2)
13
- activemodel (6.1.7.7)
14
- activesupport (= 6.1.7.7)
15
- activerecord (6.1.7.7)
16
- activemodel (= 6.1.7.7)
17
- activesupport (= 6.1.7.7)
18
- activesupport (6.1.7.7)
19
- concurrent-ruby (~> 1.0, >= 1.0.2)
20
- i18n (>= 1.6, < 2)
21
- minitest (>= 5.1)
22
- tzinfo (~> 2.0)
23
- zeitwerk (~> 2.3)
24
- appraisal (2.5.0)
25
- bundler
26
- rake
27
- thor (>= 0.14.0)
28
- ast (2.4.2)
29
- concurrent-ruby (1.2.3)
30
- csv (3.3.0)
31
- encoded_id (1.0.0.rc4)
32
- hashids (~> 1.0)
33
- ffi (1.16.3)
34
- fileutils (1.7.2)
35
- hashids (1.0.6)
36
- i18n (1.14.4)
37
- concurrent-ruby (~> 1.0)
38
- json (2.7.2)
39
- language_server-protocol (3.17.0.3)
40
- lint_roller (1.1.0)
41
- listen (3.9.0)
42
- rb-fsevent (~> 0.10, >= 0.10.3)
43
- rb-inotify (~> 0.9, >= 0.9.10)
44
- logger (1.6.0)
45
- minitest (5.22.3)
46
- parallel (1.24.0)
47
- parser (3.3.1.0)
48
- ast (~> 2.4.1)
49
- racc
50
- racc (1.7.3)
51
- rainbow (3.1.1)
52
- rake (13.2.1)
53
- rb-fsevent (0.11.2)
54
- rb-inotify (0.10.1)
55
- ffi (~> 1.0)
56
- rbs (3.4.4)
57
- abbrev
58
- regexp_parser (2.9.0)
59
- rexml (3.2.6)
60
- rubocop (1.62.1)
61
- json (~> 2.3)
62
- language_server-protocol (>= 3.17.0)
63
- parallel (~> 1.10)
64
- parser (>= 3.3.0.2)
65
- rainbow (>= 2.2.2, < 4.0)
66
- regexp_parser (>= 1.8, < 3.0)
67
- rexml (>= 3.2.5, < 4.0)
68
- rubocop-ast (>= 1.31.1, < 2.0)
69
- ruby-progressbar (~> 1.7)
70
- unicode-display_width (>= 2.4.0, < 3.0)
71
- rubocop-ast (1.31.3)
72
- parser (>= 3.3.1.0)
73
- rubocop-performance (1.20.2)
74
- rubocop (>= 1.48.1, < 2.0)
75
- rubocop-ast (>= 1.30.0, < 2.0)
76
- ruby-progressbar (1.13.0)
77
- securerandom (0.3.1)
78
- sqlite3 (1.7.3-arm64-darwin)
79
- standard (1.35.1)
80
- language_server-protocol (~> 3.17.0.2)
81
- lint_roller (~> 1.0)
82
- rubocop (~> 1.62.0)
83
- standard-custom (~> 1.0.0)
84
- standard-performance (~> 1.3)
85
- standard-custom (1.0.2)
86
- lint_roller (~> 1.0)
87
- rubocop (~> 1.50)
88
- standard-performance (1.3.1)
89
- lint_roller (~> 1.1)
90
- rubocop-performance (~> 1.20.2)
91
- steep (1.6.0)
92
- activesupport (>= 5.1)
93
- concurrent-ruby (>= 1.1.10)
94
- csv (>= 3.0.9)
95
- fileutils (>= 1.1.0)
96
- json (>= 2.1.0)
97
- language_server-protocol (>= 3.15, < 4.0)
98
- listen (~> 3.0)
99
- logger (>= 1.3.0)
100
- parser (>= 3.1)
101
- rainbow (>= 2.2.2, < 4.0)
102
- rbs (>= 3.1.0)
103
- securerandom (>= 0.1)
104
- strscan (>= 1.0.0)
105
- terminal-table (>= 2, < 4)
106
- strscan (3.1.0)
107
- terminal-table (3.0.2)
108
- unicode-display_width (>= 1.1.1, < 3)
109
- thor (1.3.1)
110
- tzinfo (2.0.6)
111
- concurrent-ruby (~> 1.0)
112
- unicode-display_width (2.5.0)
113
- zeitwerk (2.6.13)
114
-
115
- PLATFORMS
116
- arm64-darwin-23
117
-
118
- DEPENDENCIES
119
- activerecord (~> 6.1.7, >= 6.1.0)
120
- activesupport (~> 6.1.7, >= 6.1.0)
121
- appraisal
122
- encoded_id-rails!
123
- minitest (~> 5.0)
124
- rake (~> 13.0)
125
- sqlite3 (~> 1.5)
126
- standard (~> 1.30)
127
- steep (~> 1.5)
128
-
129
- BUNDLED WITH
130
- 2.3.26
@@ -1,16 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activesupport", "~> 7.0.4"
6
- gem "activerecord", "~> 7.0.4"
7
-
8
- group :development, :test do
9
- gem "rake", "~> 13.0"
10
- gem "minitest", "~> 5.0"
11
- gem "standard", "~> 1.30"
12
- gem "steep", "~> 1.5"
13
- gem "sqlite3", "~> 1.5"
14
- end
15
-
16
- gemspec path: "../"