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.
Files changed (40) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +6 -0
  3. data/app/models/copycat_translation.rb +37 -45
  4. data/lib/copycat/version.rb +1 -1
  5. data/spec/dummy/config/application.rb +2 -0
  6. data/spec/dummy/config/initializers/copycat.rb +2 -2
  7. data/spec/dummy/db/development.sqlite3 +0 -0
  8. data/spec/dummy/db/migrate/{20120320194234_create_copycat_translations.copycat_engine.rb → 20150824125132_create_copycat_translations.copycat_engine.rb} +0 -0
  9. data/spec/dummy/db/schema.rb +1 -1
  10. data/spec/dummy/db/test.sqlite3 +0 -0
  11. data/spec/dummy/log/development.log +18 -2052
  12. data/spec/dummy/log/test.log +841 -27512
  13. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/5pjjE7UQ1zT-W3Rm7l8onDEWZV9b-lyRmeW9nFAbLoU.cache +2 -0
  14. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/9ZnyF5L7jalLFn0sk_WNwUCeeXBylJBp2yRgFPQE3ho.cache +1 -0
  15. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/IfC1KmXTw1ppvrXEYn3N4C2stMo3ing1GipxNQ0oML4.cache +0 -0
  16. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/YQfOnucF3bHs51e6OOpX6Gh8ih98sfqcSc88X90cxYg.cache +1 -0
  17. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/bUaVNTYJb9Cp-33TI2vIHrdmO8U0fOh3szyB6M4K7BY.cache +3 -0
  18. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/j2gYDVPsuXlIFLdHtvLu9pJtjz2Z1dmLFVDQp9jNEwc.cache +0 -0
  19. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/qGrLWZnG1ElHmKVImQl1l5olVVtVeDSZ13_9Ll1qeYU.cache +1 -0
  20. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/zQEVaz1UlfTQQY8e-XT2PRLny8dybtFJeuDtPTwwS2E.cache +1 -0
  21. data/spec/factories/copycat_translations.rb +3 -3
  22. data/spec/{integration → features}/copycat_spec.rb +78 -78
  23. data/spec/features/dummy_spec.rb +92 -0
  24. data/spec/lib/copycat_spec.rb +5 -5
  25. data/spec/models/copycat_translation_spec.rb +50 -69
  26. data/spec/spec_helper.rb +5 -2
  27. data/spec/support/export.yml +10 -0
  28. metadata +143 -47
  29. data/spec/dummy/tmp/cache/assets/C19/060/sprockets%2F125436f53217b7f564aa5016d1168709 +0 -0
  30. data/spec/dummy/tmp/cache/assets/CB3/6E0/sprockets%2F0f4c96b04436bf7ae900561753947d4c +0 -0
  31. data/spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  32. data/spec/dummy/tmp/cache/assets/D09/190/sprockets%2Fb2bddd007999a56d8b20c92301ea1983 +0 -0
  33. data/spec/dummy/tmp/cache/assets/D1A/DB0/sprockets%2F26d700197b8d25f954d56d8f31f2c8bc +0 -0
  34. data/spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  35. data/spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  36. data/spec/dummy/tmp/cache/assets/DA4/EE0/sprockets%2Fcd39e3d56788faea331e0f5bac67329b +0 -0
  37. data/spec/dummy/tmp/cache/assets/DBD/220/sprockets%2F0cbff5c1a349439c1c444cbb4a57acc4 +0 -0
  38. data/spec/dummy/tmp/cache/assets/DDD/780/sprockets%2Fe7880b84c3ecb507fabc99b9ef6b70e3 +0 -0
  39. data/spec/dummy/tmp/cache/assets/DF8/310/sprockets%2Fccb12c4009c2f876d51dee8bae4c64ec +0 -0
  40. data/spec/integration/dummy_spec.rb +0 -92
@@ -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, '').should == "translation missing"
30
+ expect(base.lookup(nil, '')).to eq("translation missing")
31
31
  end
32
32
  it "returns copycat_translation if present" do
33
- cct = FactoryGirl.create(:copycat_translation)
34
- base.lookup(cct.locale, cct.key).should == cct.value
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').should be_empty
37
+ expect(CopycatTranslation.where(locale: 'en', key: 'foo')).to be_empty
38
38
  base.lookup('en', 'foo')
39
- CopycatTranslation.where(locale: 'en', key: 'foo').should_not be_empty
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
- describe "database constraints" do
7
- it "validates uniqueness of key & locale" do
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
- it "fattens hashes" do
24
- hash = {"a" => {"b" => "c", "d" => "e"}, "f" => {"g" => {"h" => "i"}, "l" => "m"}}
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
- it "imports YAML" do
33
- FactoryGirl.create(:copycat_translation, :key => "sample_copy", :value => "copyfoo")
34
- FactoryGirl.create(:copycat_translation, :key => "sample_copy2", :value => "copybaz")
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
- assert CopycatTranslation.find_by_key("sample_copy").value == "copyfoo"
37
- assert CopycatTranslation.find_by_key("sample_copy2").value == "copybaz"
38
- assert CopycatTranslation.find_by_key("hello").nil?
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
- sample_copy: "lorem ipsum"
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
- assert CopycatTranslation.find_by_key("sample_copy").value == "lorem ipsum"
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
- describe "export YAML" do
53
- it "can be consumed by i18N" do
54
- I18n.t('site.title').should_not == 'My Blog'
55
- CopycatTranslation.destroy_all
56
- CopycatTranslation.create(key: 'site.title', value: 'My Blog', locale: 'en')
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 "exports YAML" do
65
- FactoryGirl.create(:copycat_translation, :key => "sample_copy", :value => "copyfoo")
66
- FactoryGirl.create(:copycat_translation, :key => "sample_copy2", :value => "copybaz")
67
- yaml = CopycatTranslation.export_yaml
68
- assert yaml =~ /sample_copy: copyfoo\n\s*sample_copy2: copybaz/
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
- it "exports and then imports complicated YAML" do
77
- key = "moby_dick"
78
- value = %|<p>Lorem ipsum</p><p class="highlight">∆'≈:</p>|
79
- FactoryGirl.create(:copycat_translation, key: key, value: value)
80
- yaml = CopycatTranslation.export_yaml
81
- CopycatTranslation.destroy_all
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
- Dir["#{File.dirname(__FILE__)}/factories/**/*.rb"].each { |f| require f }
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
@@ -0,0 +1,10 @@
1
+ ---
2
+ en:
3
+ site:
4
+ title: My Blog
5
+ blogs:
6
+ index:
7
+ markup: <p>Lorem ipsum</p><p class="highlight">∆'≈:</p>
8
+ apple: Apple
9
+ es:
10
+ apple: Manzana
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.6
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: 2012-08-13 00:00:00.000000000 Z
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
- - MIT-LICENSE
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/20120320194234_create_copycat_translations.copycat_engine.rb
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/C19/060/sprockets%2F125436f53217b7f564aa5016d1168709
95
- - spec/dummy/tmp/cache/assets/CB3/6E0/sprockets%2F0f4c96b04436bf7ae900561753947d4c
96
- - spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
97
- - spec/dummy/tmp/cache/assets/D09/190/sprockets%2Fb2bddd007999a56d8b20c92301ea1983
98
- - spec/dummy/tmp/cache/assets/D1A/DB0/sprockets%2F26d700197b8d25f954d56d8f31f2c8bc
99
- - spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
100
- - spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
101
- - spec/dummy/tmp/cache/assets/DA4/EE0/sprockets%2Fcd39e3d56788faea331e0f5bac67329b
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/integration/copycat_spec.rb
107
- - spec/integration/dummy_spec.rb
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: 1.8.24
229
+ rubygems_version: 2.2.2
132
230
  signing_key:
133
- specification_version: 3
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/20120320194234_create_copycat_translations.copycat_engine.rb
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/C19/060/sprockets%2F125436f53217b7f564aa5016d1168709
173
- - spec/dummy/tmp/cache/assets/CB3/6E0/sprockets%2F0f4c96b04436bf7ae900561753947d4c
174
- - spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
175
- - spec/dummy/tmp/cache/assets/D09/190/sprockets%2Fb2bddd007999a56d8b20c92301ea1983
176
- - spec/dummy/tmp/cache/assets/D1A/DB0/sprockets%2F26d700197b8d25f954d56d8f31f2c8bc
177
- - spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
178
- - spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
179
- - spec/dummy/tmp/cache/assets/DA4/EE0/sprockets%2Fcd39e3d56788faea331e0f5bac67329b
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/integration/copycat_spec.rb
185
- - spec/integration/dummy_spec.rb
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