mongoid 8.1.2 → 8.1.3
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.
- checksums.yaml +4 -4
 - checksums.yaml.gz.sig +0 -0
 - data/lib/mongoid/config.rb +13 -0
 - data/lib/mongoid/contextual/mongo.rb +24 -1
 - data/lib/mongoid/deprecable.rb +2 -1
 - data/lib/mongoid/deprecation.rb +3 -3
 - data/lib/mongoid/extensions/hash.rb +19 -1
 - data/lib/mongoid/interceptable.rb +118 -7
 - data/lib/mongoid/version.rb +1 -1
 - data/spec/integration/callbacks_spec.rb +21 -0
 - data/spec/mongoid/contextual/mongo_spec.rb +51 -6
 - data/spec/mongoid/interceptable_spec.rb +364 -153
 - data/spec/shared/lib/mrss/docker_runner.rb +8 -0
 - data/spec/shared/lib/mrss/lite_constraints.rb +2 -2
 - data/spec/shared/lib/mrss/server_version_registry.rb +16 -23
 - data/spec/shared/lib/mrss/utils.rb +28 -6
 - data/spec/shared/share/Dockerfile.erb +36 -40
 - data/spec/shared/shlib/server.sh +28 -4
 - data/spec/shared/shlib/set_env.sh +4 -4
 - data.tar.gz.sig +0 -0
 - metadata +8 -8
 - metadata.gz.sig +0 -0
 
| 
         @@ -582,6 +582,7 @@ describe Mongoid::Interceptable do 
     | 
|
| 
       582 
582 
     | 
    
         
             
                    context "when saving the root" do
         
     | 
| 
       583 
583 
     | 
    
         
             
                      context 'with prevent_multiple_calls_of_embedded_callbacks enabled' do
         
     | 
| 
       584 
584 
     | 
    
         
             
                        config_override :prevent_multiple_calls_of_embedded_callbacks, true
         
     | 
| 
      
 585 
     | 
    
         
            +
                        config_override :around_callbacks_for_embeds, true
         
     | 
| 
       585 
586 
     | 
    
         | 
| 
       586 
587 
     | 
    
         
             
                        it "executes the callbacks only once for each document" do
         
     | 
| 
       587 
588 
     | 
    
         
             
                          expect(note).to receive(:update_saved).once
         
     | 
| 
         @@ -591,6 +592,7 @@ describe Mongoid::Interceptable do 
     | 
|
| 
       591 
592 
     | 
    
         | 
| 
       592 
593 
     | 
    
         
             
                      context 'with prevent_multiple_calls_of_embedded_callbacks disabled' do
         
     | 
| 
       593 
594 
     | 
    
         
             
                        config_override :prevent_multiple_calls_of_embedded_callbacks, false
         
     | 
| 
      
 595 
     | 
    
         
            +
                        config_override :around_callbacks_for_embeds, true
         
     | 
| 
       594 
596 
     | 
    
         | 
| 
       595 
597 
     | 
    
         
             
                        it "executes the callbacks once for each ember" do
         
     | 
| 
       596 
598 
     | 
    
         
             
                          expect(note).to receive(:update_saved).twice
         
     | 
| 
         @@ -1783,40 +1785,80 @@ describe Mongoid::Interceptable do 
     | 
|
| 
       1783 
1785 
     | 
    
         
             
                  end
         
     | 
| 
       1784 
1786 
     | 
    
         
             
                end
         
     | 
| 
       1785 
1787 
     | 
    
         | 
| 
       1786 
     | 
    
         
            -
                 
     | 
| 
       1787 
     | 
    
         
            -
                   
     | 
| 
       1788 
     | 
    
         
            -
                    [InterceptableSpec::CbCascadedChild, :before_validation],
         
     | 
| 
       1789 
     | 
    
         
            -
                    [InterceptableSpec::CbCascadedChild, :after_validation],
         
     | 
| 
       1790 
     | 
    
         
            -
                    [InterceptableSpec::CbParent, :before_validation],
         
     | 
| 
       1791 
     | 
    
         
            -
                    [InterceptableSpec::CbCascadedChild, :before_validation],
         
     | 
| 
       1792 
     | 
    
         
            -
                    [InterceptableSpec::CbCascadedChild, :after_validation],
         
     | 
| 
      
 1788 
     | 
    
         
            +
                context 'with around callbacks' do
         
     | 
| 
      
 1789 
     | 
    
         
            +
                  config_override :around_callbacks_for_embeds, true
         
     | 
| 
       1793 
1790 
     | 
    
         | 
| 
       1794 
     | 
    
         
            -
             
     | 
| 
       1795 
     | 
    
         
            -
                    [ 
     | 
| 
       1796 
     | 
    
         
            -
             
     | 
| 
       1797 
     | 
    
         
            -
             
     | 
| 
       1798 
     | 
    
         
            -
             
     | 
| 
      
 1791 
     | 
    
         
            +
                  let(:expected) do
         
     | 
| 
      
 1792 
     | 
    
         
            +
                    [
         
     | 
| 
      
 1793 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :before_validation],
         
     | 
| 
      
 1794 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :after_validation],
         
     | 
| 
      
 1795 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :before_validation],
         
     | 
| 
      
 1796 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :before_validation],
         
     | 
| 
      
 1797 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :after_validation],
         
     | 
| 
      
 1798 
     | 
    
         
            +
             
     | 
| 
      
 1799 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :after_validation],
         
     | 
| 
      
 1800 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :before_save],
         
     | 
| 
      
 1801 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :around_save_open],
         
     | 
| 
      
 1802 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :before_create],
         
     | 
| 
      
 1803 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :around_create_open],
         
     | 
| 
      
 1804 
     | 
    
         
            +
             
     | 
| 
      
 1805 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :before_save],
         
     | 
| 
      
 1806 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :around_save_open],
         
     | 
| 
      
 1807 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :before_create],
         
     | 
| 
      
 1808 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :around_create_open],
         
     | 
| 
      
 1809 
     | 
    
         
            +
             
     | 
| 
      
 1810 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :around_create_close],
         
     | 
| 
      
 1811 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :after_create],
         
     | 
| 
      
 1812 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :around_save_close],
         
     | 
| 
      
 1813 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :after_save],
         
     | 
| 
      
 1814 
     | 
    
         
            +
             
     | 
| 
      
 1815 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :around_create_close],
         
     | 
| 
      
 1816 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :after_create],
         
     | 
| 
      
 1817 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :around_save_close],
         
     | 
| 
      
 1818 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :after_save]
         
     | 
| 
      
 1819 
     | 
    
         
            +
                    ]
         
     | 
| 
      
 1820 
     | 
    
         
            +
                  end
         
     | 
| 
       1799 
1821 
     | 
    
         | 
| 
       1800 
     | 
    
         
            -
             
     | 
| 
       1801 
     | 
    
         
            -
                     
     | 
| 
       1802 
     | 
    
         
            -
                     
     | 
| 
       1803 
     | 
    
         
            -
             
     | 
| 
      
 1822 
     | 
    
         
            +
                  it 'calls callbacks in the right order' do
         
     | 
| 
      
 1823 
     | 
    
         
            +
                    parent.save!
         
     | 
| 
      
 1824 
     | 
    
         
            +
                    expect(registry.calls).to eq expected
         
     | 
| 
      
 1825 
     | 
    
         
            +
                  end
         
     | 
| 
      
 1826 
     | 
    
         
            +
                end
         
     | 
| 
       1804 
1827 
     | 
    
         | 
| 
       1805 
     | 
    
         
            -
             
     | 
| 
       1806 
     | 
    
         
            -
             
     | 
| 
       1807 
     | 
    
         
            -
                    [InterceptableSpec::CbCascadedChild, :around_save_close],
         
     | 
| 
       1808 
     | 
    
         
            -
                    [InterceptableSpec::CbCascadedChild, :after_save],
         
     | 
| 
      
 1828 
     | 
    
         
            +
                context 'without around callbacks' do
         
     | 
| 
      
 1829 
     | 
    
         
            +
                  config_override :around_callbacks_for_embeds, false
         
     | 
| 
       1809 
1830 
     | 
    
         | 
| 
       1810 
     | 
    
         
            -
             
     | 
| 
       1811 
     | 
    
         
            -
                    [ 
     | 
| 
       1812 
     | 
    
         
            -
             
     | 
| 
       1813 
     | 
    
         
            -
             
     | 
| 
       1814 
     | 
    
         
            -
             
     | 
| 
       1815 
     | 
    
         
            -
             
     | 
| 
      
 1831 
     | 
    
         
            +
                  let(:expected) do
         
     | 
| 
      
 1832 
     | 
    
         
            +
                    [
         
     | 
| 
      
 1833 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :before_validation],
         
     | 
| 
      
 1834 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :after_validation],
         
     | 
| 
      
 1835 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :before_validation],
         
     | 
| 
      
 1836 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :before_validation],
         
     | 
| 
      
 1837 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :after_validation],
         
     | 
| 
      
 1838 
     | 
    
         
            +
             
     | 
| 
      
 1839 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :after_validation],
         
     | 
| 
      
 1840 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :before_save],
         
     | 
| 
      
 1841 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :around_save_open],
         
     | 
| 
      
 1842 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :before_create],
         
     | 
| 
      
 1843 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :around_create_open],
         
     | 
| 
      
 1844 
     | 
    
         
            +
             
     | 
| 
      
 1845 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :before_save],
         
     | 
| 
      
 1846 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :before_create],
         
     | 
| 
      
 1847 
     | 
    
         
            +
             
     | 
| 
      
 1848 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :after_create],
         
     | 
| 
      
 1849 
     | 
    
         
            +
                      [InterceptableSpec::CbCascadedChild, :after_save],
         
     | 
| 
      
 1850 
     | 
    
         
            +
             
     | 
| 
      
 1851 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :around_create_close],
         
     | 
| 
      
 1852 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :after_create],
         
     | 
| 
      
 1853 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :around_save_close],
         
     | 
| 
      
 1854 
     | 
    
         
            +
                      [InterceptableSpec::CbParent, :after_save]
         
     | 
| 
      
 1855 
     | 
    
         
            +
                    ]
         
     | 
| 
      
 1856 
     | 
    
         
            +
                  end
         
     | 
| 
       1816 
1857 
     | 
    
         | 
| 
       1817 
     | 
    
         
            -
             
     | 
| 
       1818 
     | 
    
         
            -
             
     | 
| 
       1819 
     | 
    
         
            -
             
     | 
| 
      
 1858 
     | 
    
         
            +
                  it 'calls callbacks in the right order' do
         
     | 
| 
      
 1859 
     | 
    
         
            +
                    parent.save!
         
     | 
| 
      
 1860 
     | 
    
         
            +
                    expect(registry.calls).to eq expected
         
     | 
| 
      
 1861 
     | 
    
         
            +
                  end
         
     | 
| 
       1820 
1862 
     | 
    
         
             
                end
         
     | 
| 
       1821 
1863 
     | 
    
         
             
              end
         
     | 
| 
       1822 
1864 
     | 
    
         | 
| 
         @@ -1879,89 +1921,180 @@ describe Mongoid::Interceptable do 
     | 
|
| 
       1879 
1921 
     | 
    
         
             
                  end
         
     | 
| 
       1880 
1922 
     | 
    
         | 
| 
       1881 
1923 
     | 
    
         
             
                  context "create" do
         
     | 
| 
       1882 
     | 
    
         
            -
                     
     | 
| 
       1883 
     | 
    
         
            -
                       
     | 
| 
       1884 
     | 
    
         
            -
             
     | 
| 
       1885 
     | 
    
         
            -
             
     | 
| 
       1886 
     | 
    
         
            -
                        [ 
     | 
| 
       1887 
     | 
    
         
            -
             
     | 
| 
       1888 
     | 
    
         
            -
             
     | 
| 
       1889 
     | 
    
         
            -
             
     | 
| 
       1890 
     | 
    
         
            -
             
     | 
| 
       1891 
     | 
    
         
            -
             
     | 
| 
       1892 
     | 
    
         
            -
             
     | 
| 
       1893 
     | 
    
         
            -
             
     | 
| 
       1894 
     | 
    
         
            -
             
     | 
| 
       1895 
     | 
    
         
            -
             
     | 
| 
       1896 
     | 
    
         
            -
             
     | 
| 
       1897 
     | 
    
         
            -
             
     | 
| 
       1898 
     | 
    
         
            -
             
     | 
| 
       1899 
     | 
    
         
            -
             
     | 
| 
       1900 
     | 
    
         
            -
             
     | 
| 
       1901 
     | 
    
         
            -
             
     | 
| 
       1902 
     | 
    
         
            -
             
     | 
| 
       1903 
     | 
    
         
            -
             
     | 
| 
       1904 
     | 
    
         
            -
             
     | 
| 
       1905 
     | 
    
         
            -
             
     | 
| 
       1906 
     | 
    
         
            -
             
     | 
| 
       1907 
     | 
    
         
            -
             
     | 
| 
       1908 
     | 
    
         
            -
             
     | 
| 
       1909 
     | 
    
         
            -
             
     | 
| 
       1910 
     | 
    
         
            -
             
     | 
| 
       1911 
     | 
    
         
            -
             
     | 
| 
       1912 
     | 
    
         
            -
             
     | 
| 
      
 1924 
     | 
    
         
            +
                    context "with around callbacks" do
         
     | 
| 
      
 1925 
     | 
    
         
            +
                      config_override :around_callbacks_for_embeds, true
         
     | 
| 
      
 1926 
     | 
    
         
            +
             
     | 
| 
      
 1927 
     | 
    
         
            +
                      let(:expected) do
         
     | 
| 
      
 1928 
     | 
    
         
            +
                        [
         
     | 
| 
      
 1929 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :before_validation],
         
     | 
| 
      
 1930 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :after_validation],
         
     | 
| 
      
 1931 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :before_validation],
         
     | 
| 
      
 1932 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :before_validation],
         
     | 
| 
      
 1933 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :after_validation],
         
     | 
| 
      
 1934 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :after_validation],
         
     | 
| 
      
 1935 
     | 
    
         
            +
             
     | 
| 
      
 1936 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :before_save],
         
     | 
| 
      
 1937 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :around_save_open],
         
     | 
| 
      
 1938 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :before_create],
         
     | 
| 
      
 1939 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :around_create_open],
         
     | 
| 
      
 1940 
     | 
    
         
            +
             
     | 
| 
      
 1941 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :before_save],
         
     | 
| 
      
 1942 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :around_save_open],
         
     | 
| 
      
 1943 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :before_create],
         
     | 
| 
      
 1944 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :around_create_open],
         
     | 
| 
      
 1945 
     | 
    
         
            +
             
     | 
| 
      
 1946 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :insert_into_database],
         
     | 
| 
      
 1947 
     | 
    
         
            +
             
     | 
| 
      
 1948 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :around_create_close],
         
     | 
| 
      
 1949 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :after_create],
         
     | 
| 
      
 1950 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :around_save_close],
         
     | 
| 
      
 1951 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :after_save],
         
     | 
| 
      
 1952 
     | 
    
         
            +
             
     | 
| 
      
 1953 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :around_create_close],
         
     | 
| 
      
 1954 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :after_create],
         
     | 
| 
      
 1955 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :around_save_close],
         
     | 
| 
      
 1956 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :after_save]
         
     | 
| 
      
 1957 
     | 
    
         
            +
                        ]
         
     | 
| 
      
 1958 
     | 
    
         
            +
                      end
         
     | 
| 
      
 1959 
     | 
    
         
            +
             
     | 
| 
      
 1960 
     | 
    
         
            +
                      it 'calls callbacks in the right order' do
         
     | 
| 
      
 1961 
     | 
    
         
            +
                        parent.save!
         
     | 
| 
      
 1962 
     | 
    
         
            +
                        expect(registry.calls).to eq expected
         
     | 
| 
      
 1963 
     | 
    
         
            +
                      end
         
     | 
| 
       1913 
1964 
     | 
    
         
             
                    end
         
     | 
| 
       1914 
1965 
     | 
    
         | 
| 
       1915 
     | 
    
         
            -
                     
     | 
| 
       1916 
     | 
    
         
            -
                       
     | 
| 
       1917 
     | 
    
         
            -
             
     | 
| 
      
 1966 
     | 
    
         
            +
                    context "without around callbacks" do
         
     | 
| 
      
 1967 
     | 
    
         
            +
                      config_override :around_callbacks_for_embeds, false
         
     | 
| 
      
 1968 
     | 
    
         
            +
             
     | 
| 
      
 1969 
     | 
    
         
            +
                      let(:expected) do
         
     | 
| 
      
 1970 
     | 
    
         
            +
                        [
         
     | 
| 
      
 1971 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :before_validation],
         
     | 
| 
      
 1972 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :after_validation],
         
     | 
| 
      
 1973 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :before_validation],
         
     | 
| 
      
 1974 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :before_validation],
         
     | 
| 
      
 1975 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :after_validation],
         
     | 
| 
      
 1976 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :after_validation],
         
     | 
| 
      
 1977 
     | 
    
         
            +
             
     | 
| 
      
 1978 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :before_save],
         
     | 
| 
      
 1979 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :around_save_open],
         
     | 
| 
      
 1980 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :before_create],
         
     | 
| 
      
 1981 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :around_create_open],
         
     | 
| 
      
 1982 
     | 
    
         
            +
             
     | 
| 
      
 1983 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :before_save],
         
     | 
| 
      
 1984 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :before_create],
         
     | 
| 
      
 1985 
     | 
    
         
            +
             
     | 
| 
      
 1986 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :insert_into_database],
         
     | 
| 
      
 1987 
     | 
    
         
            +
             
     | 
| 
      
 1988 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :after_create],
         
     | 
| 
      
 1989 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :after_save],
         
     | 
| 
      
 1990 
     | 
    
         
            +
             
     | 
| 
      
 1991 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :around_create_close],
         
     | 
| 
      
 1992 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :after_create],
         
     | 
| 
      
 1993 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :around_save_close],
         
     | 
| 
      
 1994 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :after_save]
         
     | 
| 
      
 1995 
     | 
    
         
            +
                        ]
         
     | 
| 
      
 1996 
     | 
    
         
            +
                      end
         
     | 
| 
      
 1997 
     | 
    
         
            +
             
     | 
| 
      
 1998 
     | 
    
         
            +
                      it 'calls callbacks in the right order' do
         
     | 
| 
      
 1999 
     | 
    
         
            +
                        parent.save!
         
     | 
| 
      
 2000 
     | 
    
         
            +
                        expect(registry.calls).to eq expected
         
     | 
| 
      
 2001 
     | 
    
         
            +
                      end
         
     | 
| 
       1918 
2002 
     | 
    
         
             
                    end
         
     | 
| 
       1919 
2003 
     | 
    
         
             
                  end
         
     | 
| 
       1920 
2004 
     | 
    
         | 
| 
       1921 
2005 
     | 
    
         
             
                  context "update" do
         
     | 
| 
       1922 
     | 
    
         
            -
                     
     | 
| 
       1923 
     | 
    
         
            -
                       
     | 
| 
       1924 
     | 
    
         
            -
             
     | 
| 
       1925 
     | 
    
         
            -
             
     | 
| 
       1926 
     | 
    
         
            -
                        [ 
     | 
| 
       1927 
     | 
    
         
            -
             
     | 
| 
       1928 
     | 
    
         
            -
             
     | 
| 
       1929 
     | 
    
         
            -
             
     | 
| 
       1930 
     | 
    
         
            -
             
     | 
| 
       1931 
     | 
    
         
            -
             
     | 
| 
       1932 
     | 
    
         
            -
             
     | 
| 
       1933 
     | 
    
         
            -
             
     | 
| 
       1934 
     | 
    
         
            -
             
     | 
| 
       1935 
     | 
    
         
            -
             
     | 
| 
       1936 
     | 
    
         
            -
             
     | 
| 
       1937 
     | 
    
         
            -
             
     | 
| 
       1938 
     | 
    
         
            -
             
     | 
| 
       1939 
     | 
    
         
            -
             
     | 
| 
       1940 
     | 
    
         
            -
             
     | 
| 
       1941 
     | 
    
         
            -
             
     | 
| 
       1942 
     | 
    
         
            -
             
     | 
| 
       1943 
     | 
    
         
            -
             
     | 
| 
       1944 
     | 
    
         
            -
             
     | 
| 
       1945 
     | 
    
         
            -
             
     | 
| 
       1946 
     | 
    
         
            -
             
     | 
| 
       1947 
     | 
    
         
            -
             
     | 
| 
       1948 
     | 
    
         
            -
             
     | 
| 
       1949 
     | 
    
         
            -
             
     | 
| 
       1950 
     | 
    
         
            -
             
     | 
| 
      
 2006 
     | 
    
         
            +
                    context "with around callbacks" do
         
     | 
| 
      
 2007 
     | 
    
         
            +
                      config_override :around_callbacks_for_embeds, true
         
     | 
| 
      
 2008 
     | 
    
         
            +
             
     | 
| 
      
 2009 
     | 
    
         
            +
                      let(:expected) do
         
     | 
| 
      
 2010 
     | 
    
         
            +
                        [
         
     | 
| 
      
 2011 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :before_validation],
         
     | 
| 
      
 2012 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :after_validation],
         
     | 
| 
      
 2013 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :before_validation],
         
     | 
| 
      
 2014 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :before_validation],
         
     | 
| 
      
 2015 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :after_validation],
         
     | 
| 
      
 2016 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :after_validation],
         
     | 
| 
      
 2017 
     | 
    
         
            +
             
     | 
| 
      
 2018 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :before_save],
         
     | 
| 
      
 2019 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :around_save_open],
         
     | 
| 
      
 2020 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :before_update],
         
     | 
| 
      
 2021 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :around_update_open],
         
     | 
| 
      
 2022 
     | 
    
         
            +
             
     | 
| 
      
 2023 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :before_save],
         
     | 
| 
      
 2024 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :around_save_open],
         
     | 
| 
      
 2025 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :before_update],
         
     | 
| 
      
 2026 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :around_update_open],
         
     | 
| 
      
 2027 
     | 
    
         
            +
             
     | 
| 
      
 2028 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :around_update_close],
         
     | 
| 
      
 2029 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :after_update],
         
     | 
| 
      
 2030 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :around_save_close],
         
     | 
| 
      
 2031 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :after_save],
         
     | 
| 
      
 2032 
     | 
    
         
            +
             
     | 
| 
      
 2033 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :around_update_close],
         
     | 
| 
      
 2034 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :after_update],
         
     | 
| 
      
 2035 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :around_save_close],
         
     | 
| 
      
 2036 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :after_save]
         
     | 
| 
      
 2037 
     | 
    
         
            +
                        ]
         
     | 
| 
      
 2038 
     | 
    
         
            +
                      end
         
     | 
| 
      
 2039 
     | 
    
         
            +
             
     | 
| 
      
 2040 
     | 
    
         
            +
                      it 'calls callbacks in the right order' do
         
     | 
| 
      
 2041 
     | 
    
         
            +
                        parent.callback_registry = nil
         
     | 
| 
      
 2042 
     | 
    
         
            +
                        parent.child.callback_registry = nil
         
     | 
| 
      
 2043 
     | 
    
         
            +
                        parent.save!
         
     | 
| 
      
 2044 
     | 
    
         
            +
             
     | 
| 
      
 2045 
     | 
    
         
            +
                        parent.callback_registry = registry
         
     | 
| 
      
 2046 
     | 
    
         
            +
                        parent.child.callback_registry = registry
         
     | 
| 
      
 2047 
     | 
    
         
            +
                        parent.name = "name"
         
     | 
| 
      
 2048 
     | 
    
         
            +
                        parent.child.age = 10
         
     | 
| 
      
 2049 
     | 
    
         
            +
             
     | 
| 
      
 2050 
     | 
    
         
            +
                        parent.save!
         
     | 
| 
      
 2051 
     | 
    
         
            +
                        expect(registry.calls).to eq expected
         
     | 
| 
      
 2052 
     | 
    
         
            +
                      end
         
     | 
| 
       1951 
2053 
     | 
    
         
             
                    end
         
     | 
| 
       1952 
2054 
     | 
    
         | 
| 
       1953 
     | 
    
         
            -
                     
     | 
| 
       1954 
     | 
    
         
            -
                       
     | 
| 
       1955 
     | 
    
         
            -
                      parent.child.callback_registry = nil
         
     | 
| 
       1956 
     | 
    
         
            -
                      parent.save!
         
     | 
| 
      
 2055 
     | 
    
         
            +
                    context "without around callbacks" do
         
     | 
| 
      
 2056 
     | 
    
         
            +
                      config_override :around_callbacks_for_embeds, false
         
     | 
| 
       1957 
2057 
     | 
    
         | 
| 
       1958 
     | 
    
         
            -
                       
     | 
| 
       1959 
     | 
    
         
            -
             
     | 
| 
       1960 
     | 
    
         
            -
             
     | 
| 
       1961 
     | 
    
         
            -
             
     | 
| 
      
 2058 
     | 
    
         
            +
                      let(:expected) do
         
     | 
| 
      
 2059 
     | 
    
         
            +
                        [
         
     | 
| 
      
 2060 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :before_validation],
         
     | 
| 
      
 2061 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :after_validation],
         
     | 
| 
      
 2062 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :before_validation],
         
     | 
| 
      
 2063 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :before_validation],
         
     | 
| 
      
 2064 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :after_validation],
         
     | 
| 
      
 2065 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :after_validation],
         
     | 
| 
       1962 
2066 
     | 
    
         | 
| 
       1963 
     | 
    
         
            -
             
     | 
| 
       1964 
     | 
    
         
            -
             
     | 
| 
      
 2067 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :before_save],
         
     | 
| 
      
 2068 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :around_save_open],
         
     | 
| 
      
 2069 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :before_update],
         
     | 
| 
      
 2070 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :around_update_open],
         
     | 
| 
      
 2071 
     | 
    
         
            +
             
     | 
| 
      
 2072 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :before_save],
         
     | 
| 
      
 2073 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :before_update],
         
     | 
| 
      
 2074 
     | 
    
         
            +
             
     | 
| 
      
 2075 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :after_update],
         
     | 
| 
      
 2076 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneChild, :after_save],
         
     | 
| 
      
 2077 
     | 
    
         
            +
             
     | 
| 
      
 2078 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :around_update_close],
         
     | 
| 
      
 2079 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :after_update],
         
     | 
| 
      
 2080 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :around_save_close],
         
     | 
| 
      
 2081 
     | 
    
         
            +
                          [InterceptableSpec::CbEmbedsOneParent, :after_save]
         
     | 
| 
      
 2082 
     | 
    
         
            +
                        ]
         
     | 
| 
      
 2083 
     | 
    
         
            +
                      end
         
     | 
| 
      
 2084 
     | 
    
         
            +
             
     | 
| 
      
 2085 
     | 
    
         
            +
                      it 'calls callbacks in the right order' do
         
     | 
| 
      
 2086 
     | 
    
         
            +
                        parent.callback_registry = nil
         
     | 
| 
      
 2087 
     | 
    
         
            +
                        parent.child.callback_registry = nil
         
     | 
| 
      
 2088 
     | 
    
         
            +
                        parent.save!
         
     | 
| 
      
 2089 
     | 
    
         
            +
             
     | 
| 
      
 2090 
     | 
    
         
            +
                        parent.callback_registry = registry
         
     | 
| 
      
 2091 
     | 
    
         
            +
                        parent.child.callback_registry = registry
         
     | 
| 
      
 2092 
     | 
    
         
            +
                        parent.name = "name"
         
     | 
| 
      
 2093 
     | 
    
         
            +
                        parent.child.age = 10
         
     | 
| 
      
 2094 
     | 
    
         
            +
             
     | 
| 
      
 2095 
     | 
    
         
            +
                        parent.save!
         
     | 
| 
      
 2096 
     | 
    
         
            +
                        expect(registry.calls).to eq expected
         
     | 
| 
      
 2097 
     | 
    
         
            +
                      end
         
     | 
| 
       1965 
2098 
     | 
    
         
             
                    end
         
     | 
| 
       1966 
2099 
     | 
    
         
             
                  end
         
     | 
| 
       1967 
2100 
     | 
    
         
             
                end
         
     | 
| 
         @@ -2041,59 +2174,114 @@ describe Mongoid::Interceptable do 
     | 
|
| 
       2041 
2174 
     | 
    
         
             
                    end
         
     | 
| 
       2042 
2175 
     | 
    
         
             
                  end
         
     | 
| 
       2043 
2176 
     | 
    
         | 
| 
       2044 
     | 
    
         
            -
                   
     | 
| 
       2045 
     | 
    
         
            -
                     
     | 
| 
       2046 
     | 
    
         
            -
             
     | 
| 
       2047 
     | 
    
         
            -
             
     | 
| 
       2048 
     | 
    
         
            -
                      [ 
     | 
| 
       2049 
     | 
    
         
            -
             
     | 
| 
       2050 
     | 
    
         
            -
             
     | 
| 
       2051 
     | 
    
         
            -
             
     | 
| 
       2052 
     | 
    
         
            -
             
     | 
| 
       2053 
     | 
    
         
            -
             
     | 
| 
       2054 
     | 
    
         
            -
             
     | 
| 
       2055 
     | 
    
         
            -
             
     | 
| 
       2056 
     | 
    
         
            -
             
     | 
| 
       2057 
     | 
    
         
            -
             
     | 
| 
       2058 
     | 
    
         
            -
             
     | 
| 
       2059 
     | 
    
         
            -
             
     | 
| 
       2060 
     | 
    
         
            -
             
     | 
| 
       2061 
     | 
    
         
            -
             
     | 
| 
       2062 
     | 
    
         
            -
             
     | 
| 
       2063 
     | 
    
         
            -
             
     | 
| 
       2064 
     | 
    
         
            -
             
     | 
| 
       2065 
     | 
    
         
            -
             
     | 
| 
       2066 
     | 
    
         
            -
             
     | 
| 
       2067 
     | 
    
         
            -
             
     | 
| 
       2068 
     | 
    
         
            -
             
     | 
| 
       2069 
     | 
    
         
            -
             
     | 
| 
       2070 
     | 
    
         
            -
             
     | 
| 
       2071 
     | 
    
         
            -
             
     | 
| 
       2072 
     | 
    
         
            -
             
     | 
| 
       2073 
     | 
    
         
            -
             
     | 
| 
       2074 
     | 
    
         
            -
             
     | 
| 
       2075 
     | 
    
         
            -
             
     | 
| 
       2076 
     | 
    
         
            -
             
     | 
| 
       2077 
     | 
    
         
            -
             
     | 
| 
       2078 
     | 
    
         
            -
             
     | 
| 
       2079 
     | 
    
         
            -
             
     | 
| 
       2080 
     | 
    
         
            -
             
     | 
| 
       2081 
     | 
    
         
            -
             
     | 
| 
       2082 
     | 
    
         
            -
             
     | 
| 
       2083 
     | 
    
         
            -
             
     | 
| 
       2084 
     | 
    
         
            -
             
     | 
| 
       2085 
     | 
    
         
            -
             
     | 
| 
       2086 
     | 
    
         
            -
             
     | 
| 
       2087 
     | 
    
         
            -
             
     | 
| 
       2088 
     | 
    
         
            -
             
     | 
| 
       2089 
     | 
    
         
            -
             
     | 
| 
       2090 
     | 
    
         
            -
             
     | 
| 
       2091 
     | 
    
         
            -
             
     | 
| 
      
 2177 
     | 
    
         
            +
                  context "with around callbacks" do
         
     | 
| 
      
 2178 
     | 
    
         
            +
                    config_override :around_callbacks_for_embeds, true
         
     | 
| 
      
 2179 
     | 
    
         
            +
             
     | 
| 
      
 2180 
     | 
    
         
            +
                    let(:expected) do
         
     | 
| 
      
 2181 
     | 
    
         
            +
                      [
         
     | 
| 
      
 2182 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :before_validation],
         
     | 
| 
      
 2183 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :after_validation],
         
     | 
| 
      
 2184 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :before_validation],
         
     | 
| 
      
 2185 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :after_validation],
         
     | 
| 
      
 2186 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :before_validation],
         
     | 
| 
      
 2187 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :before_validation],
         
     | 
| 
      
 2188 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :after_validation],
         
     | 
| 
      
 2189 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :before_validation],
         
     | 
| 
      
 2190 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :after_validation],
         
     | 
| 
      
 2191 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :after_validation],
         
     | 
| 
      
 2192 
     | 
    
         
            +
             
     | 
| 
      
 2193 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :before_save],
         
     | 
| 
      
 2194 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :around_save_open],
         
     | 
| 
      
 2195 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :before_create],
         
     | 
| 
      
 2196 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :around_create_open],
         
     | 
| 
      
 2197 
     | 
    
         
            +
             
     | 
| 
      
 2198 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :before_save],
         
     | 
| 
      
 2199 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :around_save_open],
         
     | 
| 
      
 2200 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :before_save],
         
     | 
| 
      
 2201 
     | 
    
         
            +
             
     | 
| 
      
 2202 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :around_save_open],
         
     | 
| 
      
 2203 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :before_create],
         
     | 
| 
      
 2204 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :around_create_open],
         
     | 
| 
      
 2205 
     | 
    
         
            +
             
     | 
| 
      
 2206 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :before_create],
         
     | 
| 
      
 2207 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :around_create_open],
         
     | 
| 
      
 2208 
     | 
    
         
            +
             
     | 
| 
      
 2209 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :insert_into_database],
         
     | 
| 
      
 2210 
     | 
    
         
            +
             
     | 
| 
      
 2211 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :around_create_close],
         
     | 
| 
      
 2212 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :after_create],
         
     | 
| 
      
 2213 
     | 
    
         
            +
             
     | 
| 
      
 2214 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :around_create_close],
         
     | 
| 
      
 2215 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :after_create],
         
     | 
| 
      
 2216 
     | 
    
         
            +
             
     | 
| 
      
 2217 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :around_save_close],
         
     | 
| 
      
 2218 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :after_save],
         
     | 
| 
      
 2219 
     | 
    
         
            +
             
     | 
| 
      
 2220 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :around_save_close],
         
     | 
| 
      
 2221 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :after_save],
         
     | 
| 
      
 2222 
     | 
    
         
            +
             
     | 
| 
      
 2223 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :around_create_close],
         
     | 
| 
      
 2224 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :after_create],
         
     | 
| 
      
 2225 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :around_save_close],
         
     | 
| 
      
 2226 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :after_save]
         
     | 
| 
      
 2227 
     | 
    
         
            +
                      ]
         
     | 
| 
      
 2228 
     | 
    
         
            +
                    end
         
     | 
| 
      
 2229 
     | 
    
         
            +
             
     | 
| 
      
 2230 
     | 
    
         
            +
                    it 'calls callbacks in the right order' do
         
     | 
| 
      
 2231 
     | 
    
         
            +
                      parent.save!
         
     | 
| 
      
 2232 
     | 
    
         
            +
                      expect(registry.calls).to eq expected
         
     | 
| 
      
 2233 
     | 
    
         
            +
                    end
         
     | 
| 
       2092 
2234 
     | 
    
         
             
                  end
         
     | 
| 
       2093 
2235 
     | 
    
         | 
| 
       2094 
     | 
    
         
            -
                   
     | 
| 
       2095 
     | 
    
         
            -
                     
     | 
| 
       2096 
     | 
    
         
            -
             
     | 
| 
      
 2236 
     | 
    
         
            +
                  context "without around callbacks" do
         
     | 
| 
      
 2237 
     | 
    
         
            +
                    config_override :around_callbacks_for_embeds, false
         
     | 
| 
      
 2238 
     | 
    
         
            +
             
     | 
| 
      
 2239 
     | 
    
         
            +
                    let(:expected) do
         
     | 
| 
      
 2240 
     | 
    
         
            +
                      [
         
     | 
| 
      
 2241 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :before_validation],
         
     | 
| 
      
 2242 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :after_validation],
         
     | 
| 
      
 2243 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :before_validation],
         
     | 
| 
      
 2244 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :after_validation],
         
     | 
| 
      
 2245 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :before_validation],
         
     | 
| 
      
 2246 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :before_validation],
         
     | 
| 
      
 2247 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :after_validation],
         
     | 
| 
      
 2248 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :before_validation],
         
     | 
| 
      
 2249 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :after_validation],
         
     | 
| 
      
 2250 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :after_validation],
         
     | 
| 
      
 2251 
     | 
    
         
            +
             
     | 
| 
      
 2252 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :before_save],
         
     | 
| 
      
 2253 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :around_save_open],
         
     | 
| 
      
 2254 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :before_create],
         
     | 
| 
      
 2255 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :around_create_open],
         
     | 
| 
      
 2256 
     | 
    
         
            +
             
     | 
| 
      
 2257 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :before_save],
         
     | 
| 
      
 2258 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :before_save],
         
     | 
| 
      
 2259 
     | 
    
         
            +
             
     | 
| 
      
 2260 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :before_create],
         
     | 
| 
      
 2261 
     | 
    
         
            +
             
     | 
| 
      
 2262 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :before_create],
         
     | 
| 
      
 2263 
     | 
    
         
            +
             
     | 
| 
      
 2264 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :insert_into_database],
         
     | 
| 
      
 2265 
     | 
    
         
            +
             
     | 
| 
      
 2266 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :after_create],
         
     | 
| 
      
 2267 
     | 
    
         
            +
             
     | 
| 
      
 2268 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :after_create],
         
     | 
| 
      
 2269 
     | 
    
         
            +
             
     | 
| 
      
 2270 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :after_save],
         
     | 
| 
      
 2271 
     | 
    
         
            +
             
     | 
| 
      
 2272 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyChild, :after_save],
         
     | 
| 
      
 2273 
     | 
    
         
            +
             
     | 
| 
      
 2274 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :around_create_close],
         
     | 
| 
      
 2275 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :after_create],
         
     | 
| 
      
 2276 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :around_save_close],
         
     | 
| 
      
 2277 
     | 
    
         
            +
                        [InterceptableSpec::CbEmbedsManyParent, :after_save]
         
     | 
| 
      
 2278 
     | 
    
         
            +
                      ]
         
     | 
| 
      
 2279 
     | 
    
         
            +
                    end
         
     | 
| 
      
 2280 
     | 
    
         
            +
             
     | 
| 
      
 2281 
     | 
    
         
            +
                    it 'calls callbacks in the right order' do
         
     | 
| 
      
 2282 
     | 
    
         
            +
                      parent.save!
         
     | 
| 
      
 2283 
     | 
    
         
            +
                      expect(registry.calls).to eq expected
         
     | 
| 
      
 2284 
     | 
    
         
            +
                    end
         
     | 
| 
       2097 
2285 
     | 
    
         
             
                  end
         
     | 
| 
       2098 
2286 
     | 
    
         
             
                end
         
     | 
| 
       2099 
2287 
     | 
    
         
             
              end
         
     | 
| 
         @@ -2382,4 +2570,27 @@ describe Mongoid::Interceptable do 
     | 
|
| 
       2382 
2570 
     | 
    
         
             
                  end.to_not raise_error(ActiveModel::MissingAttributeError)
         
     | 
| 
       2383 
2571 
     | 
    
         
             
                end
         
     | 
| 
       2384 
2572 
     | 
    
         
             
              end
         
     | 
| 
      
 2573 
     | 
    
         
            +
             
     | 
| 
      
 2574 
     | 
    
         
            +
              context "when around callbacks for embedded are disabled" do
         
     | 
| 
      
 2575 
     | 
    
         
            +
                config_override :around_callbacks_for_embeds, false
         
     | 
| 
      
 2576 
     | 
    
         
            +
             
     | 
| 
      
 2577 
     | 
    
         
            +
                context "when around callback is defined" do
         
     | 
| 
      
 2578 
     | 
    
         
            +
                  let(:registry) { InterceptableSpec::CallbackRegistry.new }
         
     | 
| 
      
 2579 
     | 
    
         
            +
             
     | 
| 
      
 2580 
     | 
    
         
            +
                  let(:parent) do
         
     | 
| 
      
 2581 
     | 
    
         
            +
                    InterceptableSpec::CbEmbedsOneParent.new(registry).tap do |parent|
         
     | 
| 
      
 2582 
     | 
    
         
            +
                      parent.child = InterceptableSpec::CbEmbedsOneChild.new(registry)
         
     | 
| 
      
 2583 
     | 
    
         
            +
                    end
         
     | 
| 
      
 2584 
     | 
    
         
            +
                  end
         
     | 
| 
      
 2585 
     | 
    
         
            +
             
     | 
| 
      
 2586 
     | 
    
         
            +
                  before do
         
     | 
| 
      
 2587 
     | 
    
         
            +
                    expect(Mongoid.logger).to receive(:warn).with(/Around callbacks are disabled for embedded documents/).twice.and_call_original
         
     | 
| 
      
 2588 
     | 
    
         
            +
                    expect(Mongoid.logger).to receive(:warn).with(/To enable around callbacks for embedded documents/).twice.and_call_original
         
     | 
| 
      
 2589 
     | 
    
         
            +
                  end
         
     | 
| 
      
 2590 
     | 
    
         
            +
             
     | 
| 
      
 2591 
     | 
    
         
            +
                  it "logs a warning" do
         
     | 
| 
      
 2592 
     | 
    
         
            +
                    parent.save!
         
     | 
| 
      
 2593 
     | 
    
         
            +
                  end
         
     | 
| 
      
 2594 
     | 
    
         
            +
                end
         
     | 
| 
      
 2595 
     | 
    
         
            +
              end
         
     | 
| 
       2385 
2596 
     | 
    
         
             
            end
         
     | 
| 
         @@ -195,12 +195,16 @@ module Mrss 
     | 
|
| 
       195 
195 
     | 
    
         
             
                  'debian81' => 'debian:jessie',
         
     | 
| 
       196 
196 
     | 
    
         
             
                  'debian92' => 'debian:stretch',
         
     | 
| 
       197 
197 
     | 
    
         
             
                  'debian10' => 'debian:buster',
         
     | 
| 
      
 198 
     | 
    
         
            +
                  'debian11' => 'debian:bullseye',
         
     | 
| 
       198 
199 
     | 
    
         
             
                  'ubuntu1404' => 'ubuntu:trusty',
         
     | 
| 
       199 
200 
     | 
    
         
             
                  'ubuntu1604' => 'ubuntu:xenial',
         
     | 
| 
       200 
201 
     | 
    
         
             
                  'ubuntu1804' => 'ubuntu:bionic',
         
     | 
| 
       201 
202 
     | 
    
         
             
                  'ubuntu2004' => 'ubuntu:focal',
         
     | 
| 
      
 203 
     | 
    
         
            +
                  'ubuntu2204' => 'ubuntu:jammy',
         
     | 
| 
       202 
204 
     | 
    
         
             
                  'rhel62' => 'centos:6',
         
     | 
| 
       203 
205 
     | 
    
         
             
                  'rhel70' => 'centos:7',
         
     | 
| 
      
 206 
     | 
    
         
            +
                  # 'rhel80' => 'redhat/ubi8',
         
     | 
| 
      
 207 
     | 
    
         
            +
                  'rhel80' => 'rockylinux:8',
         
     | 
| 
       204 
208 
     | 
    
         
             
                }.freeze
         
     | 
| 
       205 
209 
     | 
    
         | 
| 
       206 
210 
     | 
    
         
             
                def base_image
         
     | 
| 
         @@ -231,6 +235,10 @@ module Mrss 
     | 
|
| 
       231 
235 
     | 
    
         
             
                  distro =~ /debian|ubuntu/
         
     | 
| 
       232 
236 
     | 
    
         
             
                end
         
     | 
| 
       233 
237 
     | 
    
         | 
| 
      
 238 
     | 
    
         
            +
                def ubuntu?
         
     | 
| 
      
 239 
     | 
    
         
            +
                  distro=~ /ubuntu/
         
     | 
| 
      
 240 
     | 
    
         
            +
                end
         
     | 
| 
      
 241 
     | 
    
         
            +
             
     | 
| 
       234 
242 
     | 
    
         
             
                def preload?
         
     | 
| 
       235 
243 
     | 
    
         
             
                  !!@options[:preload]
         
     | 
| 
       236 
244 
     | 
    
         
             
                end
         
     | 
| 
         @@ -98,8 +98,8 @@ module Mrss 
     | 
|
| 
       98 
98 
     | 
    
         
             
                def min_libmongocrypt_version(version)
         
     | 
| 
       99 
99 
     | 
    
         
             
                  require_libmongocrypt
         
     | 
| 
       100 
100 
     | 
    
         
             
                  before(:all) do
         
     | 
| 
       101 
     | 
    
         
            -
                    actual_version =  
     | 
| 
       102 
     | 
    
         
            -
                    min_version =  
     | 
| 
      
 101 
     | 
    
         
            +
                    actual_version = Utils.parse_version(Mongo::Crypt::Binding.mongocrypt_version(nil))
         
     | 
| 
      
 102 
     | 
    
         
            +
                    min_version = Utils.parse_version(version)
         
     | 
| 
       103 
103 
     | 
    
         
             
                    unless actual_version >= min_version
         
     | 
| 
       104 
104 
     | 
    
         
             
                      skip "libmongocrypt version #{min_version} required, but version #{actual_version} is available"
         
     | 
| 
       105 
105 
     | 
    
         
             
                    end
         
     |