copycat 0.2.6 → 0.2.7
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 +7 -0
- data/Rakefile +6 -0
- data/app/models/copycat_translation.rb +37 -45
- data/lib/copycat/version.rb +1 -1
- data/spec/dummy/config/application.rb +2 -0
- data/spec/dummy/config/initializers/copycat.rb +2 -2
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/{20120320194234_create_copycat_translations.copycat_engine.rb → 20150824125132_create_copycat_translations.copycat_engine.rb} +0 -0
- data/spec/dummy/db/schema.rb +1 -1
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +18 -2052
- data/spec/dummy/log/test.log +841 -27512
- data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/5pjjE7UQ1zT-W3Rm7l8onDEWZV9b-lyRmeW9nFAbLoU.cache +2 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/9ZnyF5L7jalLFn0sk_WNwUCeeXBylJBp2yRgFPQE3ho.cache +1 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/IfC1KmXTw1ppvrXEYn3N4C2stMo3ing1GipxNQ0oML4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/YQfOnucF3bHs51e6OOpX6Gh8ih98sfqcSc88X90cxYg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/bUaVNTYJb9Cp-33TI2vIHrdmO8U0fOh3szyB6M4K7BY.cache +3 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/j2gYDVPsuXlIFLdHtvLu9pJtjz2Z1dmLFVDQp9jNEwc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/qGrLWZnG1ElHmKVImQl1l5olVVtVeDSZ13_9Ll1qeYU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/zQEVaz1UlfTQQY8e-XT2PRLny8dybtFJeuDtPTwwS2E.cache +1 -0
- data/spec/factories/copycat_translations.rb +3 -3
- data/spec/{integration → features}/copycat_spec.rb +78 -78
- data/spec/features/dummy_spec.rb +92 -0
- data/spec/lib/copycat_spec.rb +5 -5
- data/spec/models/copycat_translation_spec.rb +50 -69
- data/spec/spec_helper.rb +5 -2
- data/spec/support/export.yml +10 -0
- metadata +143 -47
- data/spec/dummy/tmp/cache/assets/C19/060/sprockets%2F125436f53217b7f564aa5016d1168709 +0 -0
- data/spec/dummy/tmp/cache/assets/CB3/6E0/sprockets%2F0f4c96b04436bf7ae900561753947d4c +0 -0
- data/spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy/tmp/cache/assets/D09/190/sprockets%2Fb2bddd007999a56d8b20c92301ea1983 +0 -0
- data/spec/dummy/tmp/cache/assets/D1A/DB0/sprockets%2F26d700197b8d25f954d56d8f31f2c8bc +0 -0
- data/spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy/tmp/cache/assets/DA4/EE0/sprockets%2Fcd39e3d56788faea331e0f5bac67329b +0 -0
- data/spec/dummy/tmp/cache/assets/DBD/220/sprockets%2F0cbff5c1a349439c1c444cbb4a57acc4 +0 -0
- data/spec/dummy/tmp/cache/assets/DDD/780/sprockets%2Fe7880b84c3ecb507fabc99b9ef6b70e3 +0 -0
- data/spec/dummy/tmp/cache/assets/DF8/310/sprockets%2Fccb12c4009c2f876d51dee8bae4c64ec +0 -0
- data/spec/integration/dummy_spec.rb +0 -92
    
        data/spec/lib/copycat_spec.rb
    CHANGED
    
    | @@ -27,16 +27,16 @@ describe Copycat do | |
| 27 27 |  | 
| 28 28 | 
             
              describe ".lookup" do
         | 
| 29 29 | 
             
                it "returns simple lookup if copycat_translation missing" do
         | 
| 30 | 
            -
                  base.lookup(nil, ''). | 
| 30 | 
            +
                  expect(base.lookup(nil, '')).to eq("translation missing")
         | 
| 31 31 | 
             
                end
         | 
| 32 32 | 
             
                it "returns copycat_translation if present" do
         | 
| 33 | 
            -
                  cct =  | 
| 34 | 
            -
                  base.lookup(cct.locale, cct.key). | 
| 33 | 
            +
                  cct = create(:copycat_translation)
         | 
| 34 | 
            +
                  expect(base.lookup(cct.locale, cct.key)).to eq(cct.value)
         | 
| 35 35 | 
             
                end
         | 
| 36 36 | 
             
                it "creates copycat_translation if one is missing" do
         | 
| 37 | 
            -
                  CopycatTranslation.where(locale: 'en', key: 'foo'). | 
| 37 | 
            +
                  expect(CopycatTranslation.where(locale: 'en', key: 'foo')).to be_empty
         | 
| 38 38 | 
             
                  base.lookup('en', 'foo')
         | 
| 39 | 
            -
                  CopycatTranslation.where(locale: 'en', key: 'foo'). | 
| 39 | 
            +
                  expect(CopycatTranslation.where(locale: 'en', key: 'foo')).not_to be_empty
         | 
| 40 40 | 
             
                end
         | 
| 41 41 | 
             
              end
         | 
| 42 42 |  | 
| @@ -3,88 +3,69 @@ require 'spec_helper' | |
| 3 3 |  | 
| 4 4 | 
             
            describe CopycatTranslation do
         | 
| 5 5 |  | 
| 6 | 
            -
               | 
| 7 | 
            -
             | 
| 8 | 
            -
                  CopycatTranslation.new(key: "foo", locale: "en", value: "bar").save
         | 
| 9 | 
            -
                  a = CopycatTranslation.new(key: "foo", locale: "en", value: "bar2")
         | 
| 10 | 
            -
                  expect { a.save }.should raise_error
         | 
| 11 | 
            -
                  b = CopycatTranslation.new(key: "foo", locale: "fa", value: "bar")
         | 
| 12 | 
            -
                  expect { b.save }.should_not raise_error
         | 
| 13 | 
            -
                end
         | 
| 14 | 
            -
              end
         | 
| 15 | 
            -
              
         | 
| 16 | 
            -
              describe "helper methods" do
         | 
| 17 | 
            -
                it "flattens hashes" do
         | 
| 18 | 
            -
                  before = {"a" => {"b" => "c", "d" => "e"}, "f" => {"g" => {"h" => "i", "j" => "k"}, "l" => "m"}}
         | 
| 19 | 
            -
                  after = CopycatTranslation.hash_flatten(before)
         | 
| 20 | 
            -
                  assert after == {"a.b" => "c", "a.d" => "e", "f.g.h" => "i", "f.g.j" => "k", "f.l" => "m"}
         | 
| 21 | 
            -
                end
         | 
| 6 | 
            +
              it { should validate_presence_of(:locale) }
         | 
| 7 | 
            +
              it { should validate_presence_of(:key) }
         | 
| 22 8 |  | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
                  keys = "f.g.j".split(".")
         | 
| 26 | 
            -
                  value = "k"
         | 
| 27 | 
            -
                  CopycatTranslation.hash_fatten!(hash, keys, value)
         | 
| 28 | 
            -
                  assert hash == {"a" => {"b" => "c", "d" => "e"}, "f" => {"g" => {"h" => "i", "j" => "k"}, "l" => "m"}}
         | 
| 29 | 
            -
                end
         | 
| 30 | 
            -
              end
         | 
| 9 | 
            +
              it "validates uniqueness of key & locale" do
         | 
| 10 | 
            +
                create(:copycat_translation, :key => "foo", :locale => "en", :value => "bar")
         | 
| 31 11 |  | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
                 | 
| 12 | 
            +
                expect do
         | 
| 13 | 
            +
                  create(:copycat_translation, :key => "foo", :locale => "en", :value => "bar")
         | 
| 14 | 
            +
                end.to raise_error ActiveRecord::RecordNotUnique
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                expect do
         | 
| 17 | 
            +
                  create(:copycat_translation, :key => "foo", :locale => "es", :value => "bar")
         | 
| 18 | 
            +
                end.not_to raise_error
         | 
| 19 | 
            +
              end
         | 
| 35 20 |  | 
| 36 | 
            -
             | 
| 37 | 
            -
                 | 
| 38 | 
            -
                 | 
| 21 | 
            +
              it 'imports YAML string, updating existing keys, ignoring keys with blank values' do
         | 
| 22 | 
            +
                create(:copycat_translation, :key => 'foo', :value => 'bar')
         | 
| 23 | 
            +
                create(:copycat_translation, :key => 'controller.view.copy', :value => 'derp')
         | 
| 24 | 
            +
                create(:copycat_translation, :key => 'controller.view.partial.copy', :value => 'foo')
         | 
| 39 25 |  | 
| 40 | 
            -
                yaml = <<-YAML
         | 
| 26 | 
            +
                yaml = <<-YAML.strip_heredoc
         | 
| 41 27 | 
             
                  en:
         | 
| 42 28 | 
             
                    hello: "Hello world"
         | 
| 43 | 
            -
                     | 
| 29 | 
            +
                    foo: "lorem ipsum"
         | 
| 30 | 
            +
                    controller:
         | 
| 31 | 
            +
                      view:
         | 
| 32 | 
            +
                        partial:
         | 
| 33 | 
            +
                          copy: 'bar'
         | 
| 34 | 
            +
                          blank:
         | 
| 44 35 | 
             
                YAML
         | 
| 45 | 
            -
                CopycatTranslation.import_yaml(StringIO.new(yaml))
         | 
| 46 36 |  | 
| 47 | 
            -
                 | 
| 48 | 
            -
                assert CopycatTranslation.find_by_key("sample_copy2").value == "copybaz"
         | 
| 49 | 
            -
                assert CopycatTranslation.find_by_key("hello").value == "Hello world"
         | 
| 50 | 
            -
              end
         | 
| 37 | 
            +
                CopycatTranslation.import_yaml(yaml)
         | 
| 51 38 |  | 
| 52 | 
            -
             | 
| 53 | 
            -
                 | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
                  data = YAML.load(CopycatTranslation.export_yaml)
         | 
| 58 | 
            -
                  CopycatTranslation.destroy_all
         | 
| 59 | 
            -
                  data.each { |locale, d| I18n.backend.store_translations(locale, d || {}) } #i18n/backend/base.rb:159
         | 
| 60 | 
            -
                  I18n.t('site.title').should == 'My Blog'
         | 
| 61 | 
            -
                end
         | 
| 39 | 
            +
                expect(I18n.t('foo')).to eq 'lorem ipsum'
         | 
| 40 | 
            +
                expect(I18n.t('hello')).to eq 'Hello world'
         | 
| 41 | 
            +
                expect(I18n.t('controller.view.copy')).to eq 'derp'
         | 
| 42 | 
            +
                expect(I18n.t('controller.view.partial.copy')).to eq 'bar'
         | 
| 43 | 
            +
                expect(I18n.t('controller.view.blank')).to eq 'translation missing: en.controller.view.blank'
         | 
| 62 44 | 
             
              end
         | 
| 63 45 |  | 
| 64 | 
            -
              it  | 
| 65 | 
            -
                 | 
| 66 | 
            -
                 | 
| 67 | 
            -
                 | 
| 68 | 
            -
                 | 
| 69 | 
            -
                
         | 
| 70 | 
            -
                FactoryGirl.create(:copycat_translation, :key => "a.sample_copy3", :value => "copyfoo")
         | 
| 71 | 
            -
                FactoryGirl.create(:copycat_translation, :key => "a.sample_copy4", :value => "copybaz")
         | 
| 72 | 
            -
                yaml = CopycatTranslation.export_yaml
         | 
| 73 | 
            -
                assert yaml =~ /a:\n\s*sample_copy3: copyfoo\n\s* sample_copy4: copybaz/
         | 
| 74 | 
            -
              end
         | 
| 46 | 
            +
              it 'exports YAML that can be consumed by I18n' do
         | 
| 47 | 
            +
                # Assert that the translation doesn't already exist to avoid false postives
         | 
| 48 | 
            +
                expect(I18n.t('apple')).not_to eq('Apple')
         | 
| 49 | 
            +
                expect(I18n.t('apple', :locale => :es)).not_to eq('Manzana')
         | 
| 50 | 
            +
                expect(I18n.t('site.title')).not_to eq('My Blog')
         | 
| 75 51 |  | 
| 76 | 
            -
             | 
| 77 | 
            -
                 | 
| 78 | 
            -
                 | 
| 79 | 
            -
                 | 
| 80 | 
            -
                 | 
| 81 | 
            -
                 | 
| 82 | 
            -
                CopycatTranslation.import_yaml(StringIO.new(yaml))
         | 
| 83 | 
            -
                CopycatTranslation.find_by_key(key).value.should == value
         | 
| 84 | 
            -
              end
         | 
| 85 | 
            -
             | 
| 86 | 
            -
            end
         | 
| 52 | 
            +
                # The previous calls to I18n populate the database
         | 
| 53 | 
            +
                CopycatTranslation.delete_all
         | 
| 54 | 
            +
                create(:copycat_translation, :locale => 'en', :key => 'site.title', :value => 'My Blog')
         | 
| 55 | 
            +
                create(:copycat_translation, :locale => 'en', :key => 'site.blogs.index.markup', :value =>%|<p>Lorem ipsum</p><p class="highlight">∆'≈:</p>|)
         | 
| 56 | 
            +
                create(:copycat_translation, :locale => 'en', :key => 'apple', :value => 'Apple')
         | 
| 57 | 
            +
                create(:copycat_translation, :locale => 'es', :key => 'apple', :value => 'Manzana')
         | 
| 87 58 |  | 
| 59 | 
            +
                yaml = CopycatTranslation.export_yaml
         | 
| 88 60 |  | 
| 61 | 
            +
                filepath = Pathname.new(File.expand_path(File.join(__FILE__, '..', '..', 'support', 'export.yml')))
         | 
| 62 | 
            +
                File.open(filepath, 'w') { |f| f.write yaml }
         | 
| 89 63 |  | 
| 64 | 
            +
                I18n.backend.load_translations(filepath)
         | 
| 90 65 |  | 
| 66 | 
            +
                expect(I18n.t('apple')).to eq 'Apple'
         | 
| 67 | 
            +
                expect(I18n.t('apple', :locale => :es)).to eq 'Manzana'
         | 
| 68 | 
            +
                expect(I18n.t('site.title')).to eq 'My Blog'
         | 
| 69 | 
            +
                expect(I18n.t('site.blogs.index.markup')).to eq %|<p>Lorem ipsum</p><p class="highlight">∆'≈:</p>|
         | 
| 70 | 
            +
              end
         | 
| 71 | 
            +
            end
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | @@ -3,10 +3,13 @@ require File.expand_path("../dummy/config/environment.rb", __FILE__) | |
| 3 3 | 
             
            require 'rspec/rails'
         | 
| 4 4 | 
             
            require 'capybara/rspec'
         | 
| 5 5 | 
             
            require 'tempfile'
         | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 6 | 
            +
            require 'factory_girl_rails'
         | 
| 7 | 
            +
            require 'shoulda-matchers'
         | 
| 8 | 
            +
            require 'pry'
         | 
| 8 9 |  | 
| 9 10 | 
             
            RSpec.configure do |config|
         | 
| 10 11 | 
             
              config.mock_with :rspec
         | 
| 11 12 | 
             
              config.use_transactional_fixtures = true
         | 
| 13 | 
            +
             | 
| 14 | 
            +
              config.include FactoryGirl::Syntax::Methods
         | 
| 12 15 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,8 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: copycat
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.2. | 
| 5 | 
            -
              prerelease: 
         | 
| 4 | 
            +
              version: 0.2.7
         | 
| 6 5 | 
             
            platform: ruby
         | 
| 7 6 | 
             
            authors:
         | 
| 8 7 | 
             
            - Andrew Ross
         | 
| @@ -10,24 +9,126 @@ authors: | |
| 10 9 | 
             
            autorequire: 
         | 
| 11 10 | 
             
            bindir: bin
         | 
| 12 11 | 
             
            cert_chain: []
         | 
| 13 | 
            -
            date:  | 
| 12 | 
            +
            date: 2015-08-24 00:00:00.000000000 Z
         | 
| 14 13 | 
             
            dependencies:
         | 
| 15 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 16 15 | 
             
              name: rails
         | 
| 17 16 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 18 | 
            -
                none: false
         | 
| 19 17 | 
             
                requirements:
         | 
| 20 | 
            -
                - -  | 
| 18 | 
            +
                - - ">="
         | 
| 21 19 | 
             
                  - !ruby/object:Gem::Version
         | 
| 22 20 | 
             
                    version: 3.0.0
         | 
| 21 | 
            +
                - - "<"
         | 
| 22 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 23 | 
            +
                    version: '5.0'
         | 
| 23 24 | 
             
              type: :runtime
         | 
| 24 25 | 
             
              prerelease: false
         | 
| 25 26 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 26 | 
            -
                none: false
         | 
| 27 27 | 
             
                requirements:
         | 
| 28 | 
            -
                - -  | 
| 28 | 
            +
                - - ">="
         | 
| 29 29 | 
             
                  - !ruby/object:Gem::Version
         | 
| 30 30 | 
             
                    version: 3.0.0
         | 
| 31 | 
            +
                - - "<"
         | 
| 32 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            +
                    version: '5.0'
         | 
| 34 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 35 | 
            +
              name: sqlite3
         | 
| 36 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 37 | 
            +
                requirements:
         | 
| 38 | 
            +
                - - "~>"
         | 
| 39 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            +
                    version: '1.3'
         | 
| 41 | 
            +
              type: :development
         | 
| 42 | 
            +
              prerelease: false
         | 
| 43 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 44 | 
            +
                requirements:
         | 
| 45 | 
            +
                - - "~>"
         | 
| 46 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            +
                    version: '1.3'
         | 
| 48 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 49 | 
            +
              name: rspec-rails
         | 
| 50 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 51 | 
            +
                requirements:
         | 
| 52 | 
            +
                - - "~>"
         | 
| 53 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            +
                    version: '2.14'
         | 
| 55 | 
            +
              type: :development
         | 
| 56 | 
            +
              prerelease: false
         | 
| 57 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 58 | 
            +
                requirements:
         | 
| 59 | 
            +
                - - "~>"
         | 
| 60 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 61 | 
            +
                    version: '2.14'
         | 
| 62 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 63 | 
            +
              name: factory_girl_rails
         | 
| 64 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 65 | 
            +
                requirements:
         | 
| 66 | 
            +
                - - "~>"
         | 
| 67 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 68 | 
            +
                    version: '4.4'
         | 
| 69 | 
            +
              type: :development
         | 
| 70 | 
            +
              prerelease: false
         | 
| 71 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 72 | 
            +
                requirements:
         | 
| 73 | 
            +
                - - "~>"
         | 
| 74 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 75 | 
            +
                    version: '4.4'
         | 
| 76 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 77 | 
            +
              name: capybara
         | 
| 78 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 79 | 
            +
                requirements:
         | 
| 80 | 
            +
                - - "~>"
         | 
| 81 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 82 | 
            +
                    version: '2.2'
         | 
| 83 | 
            +
              type: :development
         | 
| 84 | 
            +
              prerelease: false
         | 
| 85 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 86 | 
            +
                requirements:
         | 
| 87 | 
            +
                - - "~>"
         | 
| 88 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 89 | 
            +
                    version: '2.2'
         | 
| 90 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 91 | 
            +
              name: pry
         | 
| 92 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 93 | 
            +
                requirements:
         | 
| 94 | 
            +
                - - "~>"
         | 
| 95 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 96 | 
            +
                    version: '0.9'
         | 
| 97 | 
            +
              type: :development
         | 
| 98 | 
            +
              prerelease: false
         | 
| 99 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 100 | 
            +
                requirements:
         | 
| 101 | 
            +
                - - "~>"
         | 
| 102 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 103 | 
            +
                    version: '0.9'
         | 
| 104 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 105 | 
            +
              name: appraisal
         | 
| 106 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 107 | 
            +
                requirements:
         | 
| 108 | 
            +
                - - "~>"
         | 
| 109 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 110 | 
            +
                    version: '0.5'
         | 
| 111 | 
            +
              type: :development
         | 
| 112 | 
            +
              prerelease: false
         | 
| 113 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 114 | 
            +
                requirements:
         | 
| 115 | 
            +
                - - "~>"
         | 
| 116 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 117 | 
            +
                    version: '0.5'
         | 
| 118 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 119 | 
            +
              name: shoulda-matchers
         | 
| 120 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 121 | 
            +
                requirements:
         | 
| 122 | 
            +
                - - "~>"
         | 
| 123 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 124 | 
            +
                    version: '2.6'
         | 
| 125 | 
            +
              type: :development
         | 
| 126 | 
            +
              prerelease: false
         | 
| 127 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 128 | 
            +
                requirements:
         | 
| 129 | 
            +
                - - "~>"
         | 
| 130 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 131 | 
            +
                    version: '2.6'
         | 
| 31 132 | 
             
            description: Edit live website copy.
         | 
| 32 133 | 
             
            email:
         | 
| 33 134 | 
             
            - info@vermonster.com
         | 
| @@ -35,6 +136,9 @@ executables: [] | |
| 35 136 | 
             
            extensions: []
         | 
| 36 137 | 
             
            extra_rdoc_files: []
         | 
| 37 138 | 
             
            files:
         | 
| 139 | 
            +
            - MIT-LICENSE
         | 
| 140 | 
            +
            - README.md
         | 
| 141 | 
            +
            - Rakefile
         | 
| 38 142 | 
             
            - app/assets/stylesheets/copycat_engine.css
         | 
| 39 143 | 
             
            - app/controllers/copycat_translations_controller.rb
         | 
| 40 144 | 
             
            - app/models/copycat_translation.rb
         | 
| @@ -45,16 +149,14 @@ files: | |
| 45 149 | 
             
            - app/views/layouts/copycat.html.erb
         | 
| 46 150 | 
             
            - config/routes.rb
         | 
| 47 151 | 
             
            - db/migrate/20120313191745_create_copycat_translations.rb
         | 
| 152 | 
            +
            - lib/copycat.rb
         | 
| 48 153 | 
             
            - lib/copycat/engine.rb
         | 
| 49 154 | 
             
            - lib/copycat/implementation.rb
         | 
| 50 155 | 
             
            - lib/copycat/routes.rb
         | 
| 51 156 | 
             
            - lib/copycat/simple.rb
         | 
| 52 157 | 
             
            - lib/copycat/version.rb
         | 
| 53 | 
            -
            - lib/copycat.rb
         | 
| 54 158 | 
             
            - lib/tasks/copycat_tasks.rake
         | 
| 55 | 
            -
            -  | 
| 56 | 
            -
            - Rakefile
         | 
| 57 | 
            -
            - README.md
         | 
| 159 | 
            +
            - spec/dummy/Rakefile
         | 
| 58 160 | 
             
            - spec/dummy/app/assets/javascripts/application.js
         | 
| 59 161 | 
             
            - spec/dummy/app/assets/stylesheets/application.css
         | 
| 60 162 | 
             
            - spec/dummy/app/controllers/application_controller.rb
         | 
| @@ -62,6 +164,7 @@ files: | |
| 62 164 | 
             
            - spec/dummy/app/helpers/application_helper.rb
         | 
| 63 165 | 
             
            - spec/dummy/app/views/layouts/application.html.erb
         | 
| 64 166 | 
             
            - spec/dummy/app/views/site/index.html.erb
         | 
| 167 | 
            +
            - spec/dummy/config.ru
         | 
| 65 168 | 
             
            - spec/dummy/config/application.rb
         | 
| 66 169 | 
             
            - spec/dummy/config/boot.rb
         | 
| 67 170 | 
             
            - spec/dummy/config/database.yml
         | 
| @@ -78,9 +181,8 @@ files: | |
| 78 181 | 
             
            - spec/dummy/config/initializers/wrap_parameters.rb
         | 
| 79 182 | 
             
            - spec/dummy/config/locales/en.yml
         | 
| 80 183 | 
             
            - spec/dummy/config/routes.rb
         | 
| 81 | 
            -
            - spec/dummy/config.ru
         | 
| 82 184 | 
             
            - spec/dummy/db/development.sqlite3
         | 
| 83 | 
            -
            - spec/dummy/db/migrate/ | 
| 185 | 
            +
            - spec/dummy/db/migrate/20150824125132_create_copycat_translations.copycat_engine.rb
         | 
| 84 186 | 
             
            - spec/dummy/db/schema.rb
         | 
| 85 187 | 
             
            - spec/dummy/db/test.sqlite3
         | 
| 86 188 | 
             
            - spec/dummy/log/development.log
         | 
| @@ -89,48 +191,44 @@ files: | |
| 89 191 | 
             
            - spec/dummy/public/422.html
         | 
| 90 192 | 
             
            - spec/dummy/public/500.html
         | 
| 91 193 | 
             
            - spec/dummy/public/favicon.ico
         | 
| 92 | 
            -
            - spec/dummy/Rakefile
         | 
| 93 194 | 
             
            - spec/dummy/script/rails
         | 
| 94 | 
            -
            - spec/dummy/tmp/cache/assets/ | 
| 95 | 
            -
            - spec/dummy/tmp/cache/assets/ | 
| 96 | 
            -
            - spec/dummy/tmp/cache/assets/ | 
| 97 | 
            -
            - spec/dummy/tmp/cache/assets/ | 
| 98 | 
            -
            - spec/dummy/tmp/cache/assets/ | 
| 99 | 
            -
            - spec/dummy/tmp/cache/assets/ | 
| 100 | 
            -
            - spec/dummy/tmp/cache/assets/ | 
| 101 | 
            -
            - spec/dummy/tmp/cache/assets/ | 
| 102 | 
            -
            - spec/dummy/tmp/cache/assets/DBD/220/sprockets%2F0cbff5c1a349439c1c444cbb4a57acc4
         | 
| 103 | 
            -
            - spec/dummy/tmp/cache/assets/DDD/780/sprockets%2Fe7880b84c3ecb507fabc99b9ef6b70e3
         | 
| 104 | 
            -
            - spec/dummy/tmp/cache/assets/DF8/310/sprockets%2Fccb12c4009c2f876d51dee8bae4c64ec
         | 
| 195 | 
            +
            - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/5pjjE7UQ1zT-W3Rm7l8onDEWZV9b-lyRmeW9nFAbLoU.cache
         | 
| 196 | 
            +
            - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/9ZnyF5L7jalLFn0sk_WNwUCeeXBylJBp2yRgFPQE3ho.cache
         | 
| 197 | 
            +
            - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/IfC1KmXTw1ppvrXEYn3N4C2stMo3ing1GipxNQ0oML4.cache
         | 
| 198 | 
            +
            - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/YQfOnucF3bHs51e6OOpX6Gh8ih98sfqcSc88X90cxYg.cache
         | 
| 199 | 
            +
            - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/bUaVNTYJb9Cp-33TI2vIHrdmO8U0fOh3szyB6M4K7BY.cache
         | 
| 200 | 
            +
            - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/j2gYDVPsuXlIFLdHtvLu9pJtjz2Z1dmLFVDQp9jNEwc.cache
         | 
| 201 | 
            +
            - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/qGrLWZnG1ElHmKVImQl1l5olVVtVeDSZ13_9Ll1qeYU.cache
         | 
| 202 | 
            +
            - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/zQEVaz1UlfTQQY8e-XT2PRLny8dybtFJeuDtPTwwS2E.cache
         | 
| 105 203 | 
             
            - spec/factories/copycat_translations.rb
         | 
| 106 | 
            -
            - spec/ | 
| 107 | 
            -
            - spec/ | 
| 204 | 
            +
            - spec/features/copycat_spec.rb
         | 
| 205 | 
            +
            - spec/features/dummy_spec.rb
         | 
| 108 206 | 
             
            - spec/lib/copycat_spec.rb
         | 
| 109 207 | 
             
            - spec/models/copycat_translation_spec.rb
         | 
| 110 208 | 
             
            - spec/spec_helper.rb
         | 
| 209 | 
            +
            - spec/support/export.yml
         | 
| 111 210 | 
             
            homepage: https://github.com/Vermonster/copycat
         | 
| 112 211 | 
             
            licenses: []
         | 
| 212 | 
            +
            metadata: {}
         | 
| 113 213 | 
             
            post_install_message: 
         | 
| 114 214 | 
             
            rdoc_options: []
         | 
| 115 215 | 
             
            require_paths:
         | 
| 116 216 | 
             
            - lib
         | 
| 117 217 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 118 | 
            -
              none: false
         | 
| 119 218 | 
             
              requirements:
         | 
| 120 | 
            -
              - -  | 
| 219 | 
            +
              - - ">="
         | 
| 121 220 | 
             
                - !ruby/object:Gem::Version
         | 
| 122 221 | 
             
                  version: '0'
         | 
| 123 222 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 124 | 
            -
              none: false
         | 
| 125 223 | 
             
              requirements:
         | 
| 126 | 
            -
              - -  | 
| 224 | 
            +
              - - ">="
         | 
| 127 225 | 
             
                - !ruby/object:Gem::Version
         | 
| 128 226 | 
             
                  version: '0'
         | 
| 129 227 | 
             
            requirements: []
         | 
| 130 228 | 
             
            rubyforge_project: 
         | 
| 131 | 
            -
            rubygems_version:  | 
| 229 | 
            +
            rubygems_version: 2.2.2
         | 
| 132 230 | 
             
            signing_key: 
         | 
| 133 | 
            -
            specification_version:  | 
| 231 | 
            +
            specification_version: 4
         | 
| 134 232 | 
             
            summary: Rails engine for editing live website copy.
         | 
| 135 233 | 
             
            test_files:
         | 
| 136 234 | 
             
            - spec/dummy/app/assets/javascripts/application.js
         | 
| @@ -158,7 +256,7 @@ test_files: | |
| 158 256 | 
             
            - spec/dummy/config/routes.rb
         | 
| 159 257 | 
             
            - spec/dummy/config.ru
         | 
| 160 258 | 
             
            - spec/dummy/db/development.sqlite3
         | 
| 161 | 
            -
            - spec/dummy/db/migrate/ | 
| 259 | 
            +
            - spec/dummy/db/migrate/20150824125132_create_copycat_translations.copycat_engine.rb
         | 
| 162 260 | 
             
            - spec/dummy/db/schema.rb
         | 
| 163 261 | 
             
            - spec/dummy/db/test.sqlite3
         | 
| 164 262 | 
             
            - spec/dummy/log/development.log
         | 
| @@ -169,20 +267,18 @@ test_files: | |
| 169 267 | 
             
            - spec/dummy/public/favicon.ico
         | 
| 170 268 | 
             
            - spec/dummy/Rakefile
         | 
| 171 269 | 
             
            - spec/dummy/script/rails
         | 
| 172 | 
            -
            - spec/dummy/tmp/cache/assets/ | 
| 173 | 
            -
            - spec/dummy/tmp/cache/assets/ | 
| 174 | 
            -
            - spec/dummy/tmp/cache/assets/ | 
| 175 | 
            -
            - spec/dummy/tmp/cache/assets/ | 
| 176 | 
            -
            - spec/dummy/tmp/cache/assets/ | 
| 177 | 
            -
            - spec/dummy/tmp/cache/assets/ | 
| 178 | 
            -
            - spec/dummy/tmp/cache/assets/ | 
| 179 | 
            -
            - spec/dummy/tmp/cache/assets/ | 
| 180 | 
            -
            - spec/dummy/tmp/cache/assets/DBD/220/sprockets%2F0cbff5c1a349439c1c444cbb4a57acc4
         | 
| 181 | 
            -
            - spec/dummy/tmp/cache/assets/DDD/780/sprockets%2Fe7880b84c3ecb507fabc99b9ef6b70e3
         | 
| 182 | 
            -
            - spec/dummy/tmp/cache/assets/DF8/310/sprockets%2Fccb12c4009c2f876d51dee8bae4c64ec
         | 
| 270 | 
            +
            - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/5pjjE7UQ1zT-W3Rm7l8onDEWZV9b-lyRmeW9nFAbLoU.cache
         | 
| 271 | 
            +
            - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/9ZnyF5L7jalLFn0sk_WNwUCeeXBylJBp2yRgFPQE3ho.cache
         | 
| 272 | 
            +
            - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/bUaVNTYJb9Cp-33TI2vIHrdmO8U0fOh3szyB6M4K7BY.cache
         | 
| 273 | 
            +
            - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/IfC1KmXTw1ppvrXEYn3N4C2stMo3ing1GipxNQ0oML4.cache
         | 
| 274 | 
            +
            - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/j2gYDVPsuXlIFLdHtvLu9pJtjz2Z1dmLFVDQp9jNEwc.cache
         | 
| 275 | 
            +
            - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/qGrLWZnG1ElHmKVImQl1l5olVVtVeDSZ13_9Ll1qeYU.cache
         | 
| 276 | 
            +
            - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/YQfOnucF3bHs51e6OOpX6Gh8ih98sfqcSc88X90cxYg.cache
         | 
| 277 | 
            +
            - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/zQEVaz1UlfTQQY8e-XT2PRLny8dybtFJeuDtPTwwS2E.cache
         | 
| 183 278 | 
             
            - spec/factories/copycat_translations.rb
         | 
| 184 | 
            -
            - spec/ | 
| 185 | 
            -
            - spec/ | 
| 279 | 
            +
            - spec/features/copycat_spec.rb
         | 
| 280 | 
            +
            - spec/features/dummy_spec.rb
         | 
| 186 281 | 
             
            - spec/lib/copycat_spec.rb
         | 
| 187 282 | 
             
            - spec/models/copycat_translation_spec.rb
         | 
| 188 283 | 
             
            - spec/spec_helper.rb
         | 
| 284 | 
            +
            - spec/support/export.yml
         |