diff --git a/encoded_id-rails.gemspec b/encoded_id-rails.gemspec index ff49617..1836e75 100644 --- a/encoded_id-rails.gemspec +++ b/encoded_id-rails.gemspec @@ -32,7 +32,7 @@ Gem::Specification.new do |spec| # Uncomment to register a new dependency of your gem spec.add_dependency "activesupport", ">= 6.0", "< 8.0" spec.add_dependency "activerecord", ">= 6.0", "< 8.0" - spec.add_dependency "encoded_id", "~> 1.0.0.rc3" + spec.add_dependency "encoded_id", "~> 1.0.0.rc4" spec.add_development_dependency "appraisal" # For more information and examples about making a new gem, check out our diff --git a/lib/encoded_id/rails/encoder_methods.rb b/lib/encoded_id/rails/encoder_methods.rb index dfe36d7..9045459 100644 --- a/lib/encoded_id/rails/encoder_methods.rb +++ b/lib/encoded_id/rails/encoder_methods.rb @@ -28,9 +28,9 @@ def encoded_id_coder(options = {}) EncodedId::Rails::Coder.new( salt: options[:salt] || encoded_id_salt, id_length: options[:id_length] || config.id_length, - character_group_size: options[:character_group_size] || config.character_group_size, + character_group_size: options.key?(:character_group_size) ? options[:character_group_size] : config.character_group_size, alphabet: options[:alphabet] || config.alphabet, - separator: options[:separator] || config.group_separator + separator: options.key?(:separator) ? options[:separator] : config.group_separator ) end end diff --git a/test/encoded_id/test_rails.rb b/test/encoded_id/test_rails.rb index 97f64ab..34998c2 100644 --- a/test/encoded_id/test_rails.rb +++ b/test/encoded_id/test_rails.rb @@ -156,6 +156,20 @@ def test_it_gets_encoded_id_with_options })) end + def test_it_gets_encoded_id_with_options_with_nil_group_size + assert_match(/[^_]+/, MyModel.encode_encoded_id(model.id, { + character_group_size: nil, + separator: "_" + })) + end + + def test_it_gets_encoded_id_with_options_with_nil_group_size + assert_match(/.{8}/, MyModel.encode_encoded_id(model.id, { + character_group_size: 3, + separator: nil + })) + end + def test_it_decodes_id assert_equal [model.id], MyModel.decode_encoded_id(model.encoded_id) end