diff --git a/lib/deep_preloader/polymorphic_spec.rb b/lib/deep_preloader/polymorphic_spec.rb index 1918d89..425647a 100644 --- a/lib/deep_preloader/polymorphic_spec.rb +++ b/lib/deep_preloader/polymorphic_spec.rb @@ -15,7 +15,7 @@ def self.parse(data) end def initialize(specs_by_type = {}) - @specs_by_type = specs_by_type + @specs_by_type = specs_by_type.transform_keys(&:to_s) end def polymorphic? diff --git a/lib/deep_preloader/spec.rb b/lib/deep_preloader/spec.rb index 3a1f738..92f7e11 100644 --- a/lib/deep_preloader/spec.rb +++ b/lib/deep_preloader/spec.rb @@ -11,11 +11,11 @@ def self.parse(data) end when Hash assoc_specs = data.each_with_object({}) do |(k, v), h| - h[k.to_sym] = parse(v) + h[k.to_s] = parse(v) end self.new(assoc_specs) when String, Symbol - self.new({ data.to_sym => nil }) + self.new({ data.to_s => nil }) when DeepPreloader::AbstractSpec data when nil @@ -26,7 +26,7 @@ def self.parse(data) end def initialize(association_specs = {}) - @association_specs = association_specs + @association_specs = association_specs.transform_keys(&:to_s) end def merge!(other) diff --git a/lib/deep_preloader/version.rb b/lib/deep_preloader/version.rb index bf8895e..c2ff387 100644 --- a/lib/deep_preloader/version.rb +++ b/lib/deep_preloader/version.rb @@ -1,3 +1,3 @@ class DeepPreloader - VERSION = '1.0.2' + VERSION = '1.1.0' end diff --git a/spec/unit/deep_preloader_spec.rb b/spec/unit/deep_preloader_spec.rb index bc69c5d..2104b29 100644 --- a/spec/unit/deep_preloader_spec.rb +++ b/spec/unit/deep_preloader_spec.rb @@ -29,7 +29,7 @@ it 'can parse a hash spec' do spec = { a: [:b, { c: :d, e: nil }] } - expected_spec = DeepPreloader::Spec.new(a: DeepPreloader::Spec.new(b: nil, c: DeepPreloader::Spec.new(d: nil), e: nil)) + expected_spec = DeepPreloader::Spec.new('a' => DeepPreloader::Spec.new('b' => nil, 'c' => DeepPreloader::Spec.new('d' => nil), 'e' => nil)) expect(DeepPreloader::Spec.parse(spec)).to eq(expected_spec) end @@ -38,8 +38,8 @@ with_temporary_table(:model) it 'can parse a polymorphic hash spec' do - parsed_spec = DeepPreloader::Spec.parse(a: DeepPreloader::PolymorphicSpec.parse('Model' => { b: :c })) - expected_spec = DeepPreloader::Spec.new(a: DeepPreloader::PolymorphicSpec.new('Model' => DeepPreloader::Spec.new(b: DeepPreloader::Spec.new(c: nil)))) + parsed_spec = DeepPreloader::Spec.parse(a: DeepPreloader::PolymorphicSpec.parse('Model': { b: :c })) + expected_spec = DeepPreloader::Spec.new('a' => DeepPreloader::PolymorphicSpec.new('Model' => DeepPreloader::Spec.new('b' => DeepPreloader::Spec.new('c' => nil)))) expect(parsed_spec).to eq(expected_spec) end