copycat 0.0.1 → 0.0.2
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.
- data/MIT-LICENSE +1 -1
- data/README.md +53 -0
- data/Rakefile +3 -13
- data/app/assets/stylesheets/copycat/copycat.css +44 -0
- data/app/controllers/copycat_translations_controller.rb +45 -0
- data/app/models/copycat_translation.rb +27 -0
- data/app/views/copycat_translations/edit.html.erb +7 -0
- data/app/views/copycat_translations/index.html.erb +26 -0
- data/app/views/copycat_translations/readme.html.erb +41 -0
- data/app/views/copycat_translations/upload.html.erb +18 -0
- data/config/routes.rb +7 -0
- data/db/migrate/20120313191745_create_copycat_translations.rb +13 -0
- data/lib/copycat/engine.rb +4 -0
- data/lib/copycat/version.rb +1 -1
- data/lib/copycat.rb +91 -0
- data/{test → spec}/dummy/Rakefile +0 -0
- data/spec/dummy/app/assets/javascripts/application.js +9 -0
- data/spec/dummy/app/assets/stylesheets/application.css +7 -0
- data/spec/dummy/app/assets/stylesheets/copycat.css +44 -0
- data/{test → spec}/dummy/app/controllers/application_controller.rb +0 -0
- data/spec/dummy/app/controllers/site_controller.rb +5 -0
- data/{test → spec}/dummy/app/helpers/application_helper.rb +0 -0
- data/spec/dummy/app/views/layouts/application.html.erb +12 -0
- data/spec/dummy/app/views/site/index.html.erb +3 -0
- data/{test → spec}/dummy/config/application.rb +0 -11
- data/{test → spec}/dummy/config/boot.rb +0 -0
- data/{test → spec}/dummy/config/database.yml +0 -0
- data/{test → spec}/dummy/config/environment.rb +0 -0
- data/{test → spec}/dummy/config/environments/development.rb +1 -8
- data/{test → spec}/dummy/config/environments/production.rb +1 -8
- data/{test → spec}/dummy/config/environments/test.rb +6 -4
- data/{test → spec}/dummy/config/initializers/backtrace_silencers.rb +0 -0
- data/{test → spec}/dummy/config/initializers/inflections.rb +0 -5
- data/{test → spec}/dummy/config/initializers/mime_types.rb +0 -0
- data/{test → spec}/dummy/config/initializers/secret_token.rb +1 -1
- data/{test → spec}/dummy/config/initializers/session_store.rb +0 -0
- data/{test → spec}/dummy/config/initializers/wrap_parameters.rb +0 -0
- data/{test → spec}/dummy/config/locales/en.yml +3 -1
- data/spec/dummy/config/routes.rb +3 -0
- data/{test → spec}/dummy/config.ru +0 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20120313192639_create_copycat_translations.copycat_engine.rb +14 -0
- data/spec/dummy/db/schema.rb +23 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +113 -0
- data/spec/dummy/log/test.log +5715 -0
- data/{test → spec}/dummy/public/404.html +0 -0
- data/{test → spec}/dummy/public/422.html +0 -0
- data/{test → spec}/dummy/public/500.html +1 -0
- data/{test → spec}/dummy/public/favicon.ico +0 -0
- data/{test → spec}/dummy/script/rails +0 -0
- data/spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +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/DDD/780/sprockets%2Fe7880b84c3ecb507fabc99b9ef6b70e3 +0 -0
- data/spec/factories/copycat_translations.rb +11 -0
- data/spec/integration/copycat_spec.rb +83 -0
- data/spec/lib/copycat_spec.rb +61 -0
- data/spec/models/copycat_translation_spec.rb +64 -0
- data/spec/spec_helper.rb +11 -0
- metadata +115 -89
- data/README.rdoc +0 -3
- data/test/copycat_test.rb +0 -7
- data/test/dummy/README.rdoc +0 -261
- data/test/dummy/app/assets/javascripts/application.js +0 -15
- data/test/dummy/app/assets/stylesheets/application.css +0 -13
- data/test/dummy/app/views/layouts/application.html.erb +0 -14
- data/test/dummy/config/routes.rb +0 -58
- data/test/test_helper.rb +0 -10
File without changes
|
File without changes
|
File without changes
|
File without changes
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,83 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
feature "use #t" do
|
4
|
+
|
5
|
+
it "uses i18n.t" do
|
6
|
+
visit root_path
|
7
|
+
page.should have_content 'The Header'
|
8
|
+
page.should have_content 'site.index.intro'
|
9
|
+
end
|
10
|
+
|
11
|
+
it "creates a copycat_translation if the yaml has an entry" do
|
12
|
+
CopycatTranslation.find_by_key('site.index.header').should be_nil
|
13
|
+
visit root_path
|
14
|
+
CopycatTranslation.find_by_key('site.index.header').should_not be_nil
|
15
|
+
end
|
16
|
+
|
17
|
+
it "creates a copycat_translation if the yaml does not have an entry" do
|
18
|
+
CopycatTranslation.find_by_key('site.index.intro').should be_nil
|
19
|
+
visit root_path
|
20
|
+
CopycatTranslation.find_by_key('site.index.intro').should_not be_nil
|
21
|
+
end
|
22
|
+
|
23
|
+
it "shows the copycat_translation instead of the yaml" do
|
24
|
+
FactoryGirl.create(:copycat_translation, key: 'site.index.header', value: 'A different header')
|
25
|
+
visit root_path
|
26
|
+
page.should_not have_content 'The Header'
|
27
|
+
page.should have_content 'A different header'
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
require 'tempfile'
|
33
|
+
|
34
|
+
feature "downloading and uploading yaml files" do
|
35
|
+
|
36
|
+
it "round-trips the YAML" do
|
37
|
+
Factory(:copycat_translation, :key => "a.foo1", :value => "bar1")
|
38
|
+
Factory(:copycat_translation, :key => "a.foo2:", :value => "bar2")
|
39
|
+
Factory(:copycat_translation, :key => "a.b.foo3", :value => "bar3")
|
40
|
+
Factory(:copycat_translation, :key => "c.foo4", :value => "bar4")
|
41
|
+
Factory(:copycat_translation, :key => 2, :value => "bar5")
|
42
|
+
assert CopycatTranslation.count == 5
|
43
|
+
|
44
|
+
visit "/copycat_translations.yaml"
|
45
|
+
CopycatTranslation.destroy_all
|
46
|
+
assert CopycatTranslation.count == 0
|
47
|
+
|
48
|
+
yaml = page.text
|
49
|
+
file = Tempfile.new 'copycat'
|
50
|
+
file.write yaml
|
51
|
+
file.close
|
52
|
+
|
53
|
+
visit upload_copycat_translations_path
|
54
|
+
attach_file "file", file.path
|
55
|
+
click_button "Upload"
|
56
|
+
file.unlink
|
57
|
+
|
58
|
+
assert CopycatTranslation.count == 5
|
59
|
+
assert CopycatTranslation.find_by_key("a.foo1").value == "bar1"
|
60
|
+
assert CopycatTranslation.find_by_key("a.foo2:").value == "bar2"
|
61
|
+
assert CopycatTranslation.find_by_key("a.b.foo3").value == "bar3"
|
62
|
+
assert CopycatTranslation.find_by_key("c.foo4").value == "bar4"
|
63
|
+
assert CopycatTranslation.find_by_key(2).value == "bar5"
|
64
|
+
end
|
65
|
+
|
66
|
+
it "gives 400 on bad upload" do
|
67
|
+
visit "/copycat_translations.yaml"
|
68
|
+
|
69
|
+
file = Tempfile.new 'copycat'
|
70
|
+
file.write "<<<%%#$W%s"
|
71
|
+
file.close
|
72
|
+
|
73
|
+
visit upload_copycat_translations_path
|
74
|
+
attach_file "file", file.path
|
75
|
+
click_button "Upload"
|
76
|
+
file.unlink
|
77
|
+
page.status_code.should == 400
|
78
|
+
page.should have_content("There was an error processing your upload!")
|
79
|
+
assert CopycatTranslation.count == 0
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
83
|
+
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Copycat do
|
4
|
+
|
5
|
+
let(:Base) do
|
6
|
+
Class.new.tap do |b|
|
7
|
+
b.class_eval do
|
8
|
+
module SimpleImplementation
|
9
|
+
def lookup(*args)
|
10
|
+
42
|
11
|
+
end
|
12
|
+
end
|
13
|
+
include SimpleImplementation
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
let(:base) do
|
19
|
+
Base().new
|
20
|
+
end
|
21
|
+
|
22
|
+
before do
|
23
|
+
Base().class_eval do
|
24
|
+
include CopycatImplementation
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe ".lookup" do
|
29
|
+
it "returns simple lookup if copycat_translation missing" do
|
30
|
+
base.lookup(nil, nil).should == 42
|
31
|
+
end
|
32
|
+
it "returns copycat_translation if present" do
|
33
|
+
cct = FactoryGirl.create(:copycat_translation)
|
34
|
+
base.lookup(nil, cct.key).should == cct.value
|
35
|
+
end
|
36
|
+
it "creates copycat_translation if one is missing" do
|
37
|
+
CopycatTranslation.find_by_key('foo').should be_nil
|
38
|
+
base.lookup(nil, 'foo')
|
39
|
+
CopycatTranslation.find_by_key('foo').should_not be_nil
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe "#hash_flatten" do
|
44
|
+
it "flattens hashes" do
|
45
|
+
before = {"a" => {"b" => "c", "d" => "e"}, "f" => {"g" => {"h" => "i", "j" => "k"}, "l" => "m"}}
|
46
|
+
after = Copycat.hash_flatten(before)
|
47
|
+
assert after == {"a.b" => "c", "a.d" => "e", "f.g.h" => "i", "f.g.j" => "k", "f.l" => "m"}
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe "#hash_fatten" do
|
52
|
+
it "fattens hashes" do
|
53
|
+
before = {"a" => {"b" => "c", "d" => "e"}, "f" => {"g" => {"h" => "i"}, "l" => "m"}}
|
54
|
+
keys = "f.g.j".split(".")
|
55
|
+
value = "k"
|
56
|
+
after = Copycat.hash_fatten(before, keys, value)
|
57
|
+
assert after == {"a" => {"b" => "c", "d" => "e"}, "f" => {"g" => {"h" => "i", "j" => "k"}, "l" => "m"}}
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe CopycatTranslation do
|
5
|
+
|
6
|
+
it "imports YAML" do
|
7
|
+
Factory(:copycat_translation, :key => "sample_copy", :value => "copyfoo")
|
8
|
+
Factory(:copycat_translation, :key => "sample_copy2", :value => "copybaz")
|
9
|
+
|
10
|
+
assert CopycatTranslation.find_by_key("sample_copy").value == "copyfoo"
|
11
|
+
assert CopycatTranslation.find_by_key("sample_copy2").value == "copybaz"
|
12
|
+
assert CopycatTranslation.find_by_key("hello").nil?
|
13
|
+
|
14
|
+
yaml = <<-YAML
|
15
|
+
en:
|
16
|
+
hello: "Hello world"
|
17
|
+
sample_copy: "lorem ipsum"
|
18
|
+
YAML
|
19
|
+
CopycatTranslation.import_yaml(StringIO.new(yaml))
|
20
|
+
|
21
|
+
assert CopycatTranslation.find_by_key("sample_copy").value == "lorem ipsum"
|
22
|
+
assert CopycatTranslation.find_by_key("sample_copy2").value == "copybaz"
|
23
|
+
assert CopycatTranslation.find_by_key("hello").value == "Hello world"
|
24
|
+
end
|
25
|
+
|
26
|
+
describe "export YAML" do
|
27
|
+
it "can be consumed by i18N" do
|
28
|
+
I18n.t('site.title').should_not == 'My Blog'
|
29
|
+
CopycatTranslation.destroy_all
|
30
|
+
CopycatTranslation.create(key: 'site.title', value: 'My Blog')
|
31
|
+
data = YAML.load(CopycatTranslation.export_yaml)
|
32
|
+
CopycatTranslation.destroy_all
|
33
|
+
data.each { |locale, d| I18n.backend.store_translations(locale, d || {}) } #i18n/backend/base.rb:159
|
34
|
+
I18n.t('site.title').should == 'My Blog'
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
it "exports YAML" do
|
39
|
+
Factory(:copycat_translation, :key => "sample_copy", :value => "copyfoo")
|
40
|
+
Factory(:copycat_translation, :key => "sample_copy2", :value => "copybaz")
|
41
|
+
yaml = CopycatTranslation.export_yaml
|
42
|
+
assert yaml =~ /sample_copy: copyfoo\n\s*sample_copy2: copybaz/
|
43
|
+
|
44
|
+
Factory(:copycat_translation, :key => "a.sample_copy3", :value => "copyfoo")
|
45
|
+
Factory(:copycat_translation, :key => "a.sample_copy4", :value => "copybaz")
|
46
|
+
yaml = CopycatTranslation.export_yaml
|
47
|
+
assert yaml =~ /a:\n\s*sample_copy3: copyfoo\n\s* sample_copy4: copybaz/
|
48
|
+
end
|
49
|
+
|
50
|
+
it "exports and then imports complicated YAML" do
|
51
|
+
key = "moby_dick"
|
52
|
+
value = %|<p>Lorem ipsum</p><p class="highlight">∆'≈:</p>|
|
53
|
+
Factory(:copycat_translation, key: key, value: value)
|
54
|
+
yaml = CopycatTranslation.export_yaml
|
55
|
+
CopycatTranslation.destroy_all
|
56
|
+
CopycatTranslation.import_yaml(StringIO.new(yaml))
|
57
|
+
CopycatTranslation.find_by_key(key).value.should == value
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
|
63
|
+
|
64
|
+
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
ENV["RAILS_ENV"] = 'test'
|
2
|
+
require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
3
|
+
require 'rspec/rails'
|
4
|
+
require 'capybara/rspec'
|
5
|
+
|
6
|
+
Dir["#{File.dirname(__FILE__)}/factories/**/*.rb"].each { |f| require f }
|
7
|
+
|
8
|
+
RSpec.configure do |config|
|
9
|
+
config.mock_with :rspec
|
10
|
+
config.use_transactional_fixtures = true
|
11
|
+
end
|
metadata
CHANGED
@@ -1,82 +1,98 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: copycat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
|
-
-
|
8
|
+
- Andrew Ross
|
9
|
+
- Steve Masterman
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
13
|
+
date: 2012-03-15 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: rails
|
16
|
-
requirement: &
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: 3.2.2
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: *2152881840
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: sqlite3
|
27
|
-
requirement: &2152881200 !ruby/object:Gem::Requirement
|
17
|
+
requirement: &2151799720 !ruby/object:Gem::Requirement
|
28
18
|
none: false
|
29
19
|
requirements:
|
30
20
|
- - ! '>='
|
31
21
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
33
|
-
type: :
|
22
|
+
version: 3.0.0
|
23
|
+
type: :runtime
|
34
24
|
prerelease: false
|
35
|
-
version_requirements: *
|
36
|
-
description:
|
25
|
+
version_requirements: *2151799720
|
26
|
+
description: Edit live website copy.
|
37
27
|
email:
|
38
28
|
- info@vermonster.com
|
39
29
|
executables: []
|
40
30
|
extensions: []
|
41
31
|
extra_rdoc_files: []
|
42
32
|
files:
|
33
|
+
- app/assets/stylesheets/copycat/copycat.css
|
34
|
+
- app/controllers/copycat_translations_controller.rb
|
35
|
+
- app/models/copycat_translation.rb
|
36
|
+
- app/views/copycat_translations/edit.html.erb
|
37
|
+
- app/views/copycat_translations/index.html.erb
|
38
|
+
- app/views/copycat_translations/readme.html.erb
|
39
|
+
- app/views/copycat_translations/upload.html.erb
|
40
|
+
- config/routes.rb
|
41
|
+
- db/migrate/20120313191745_create_copycat_translations.rb
|
42
|
+
- lib/copycat/engine.rb
|
43
43
|
- lib/copycat/version.rb
|
44
44
|
- lib/copycat.rb
|
45
45
|
- lib/tasks/copycat_tasks.rake
|
46
46
|
- MIT-LICENSE
|
47
47
|
- Rakefile
|
48
|
-
- README.
|
49
|
-
-
|
50
|
-
-
|
51
|
-
-
|
52
|
-
-
|
53
|
-
-
|
54
|
-
-
|
55
|
-
-
|
56
|
-
-
|
57
|
-
-
|
58
|
-
-
|
59
|
-
-
|
60
|
-
-
|
61
|
-
-
|
62
|
-
-
|
63
|
-
-
|
64
|
-
-
|
65
|
-
-
|
66
|
-
-
|
67
|
-
-
|
68
|
-
-
|
69
|
-
-
|
70
|
-
-
|
71
|
-
-
|
72
|
-
-
|
73
|
-
-
|
74
|
-
-
|
75
|
-
-
|
76
|
-
-
|
77
|
-
-
|
78
|
-
- test
|
79
|
-
|
48
|
+
- README.md
|
49
|
+
- spec/dummy/app/assets/javascripts/application.js
|
50
|
+
- spec/dummy/app/assets/stylesheets/application.css
|
51
|
+
- spec/dummy/app/assets/stylesheets/copycat.css
|
52
|
+
- spec/dummy/app/controllers/application_controller.rb
|
53
|
+
- spec/dummy/app/controllers/site_controller.rb
|
54
|
+
- spec/dummy/app/helpers/application_helper.rb
|
55
|
+
- spec/dummy/app/views/layouts/application.html.erb
|
56
|
+
- spec/dummy/app/views/site/index.html.erb
|
57
|
+
- spec/dummy/config/application.rb
|
58
|
+
- spec/dummy/config/boot.rb
|
59
|
+
- spec/dummy/config/database.yml
|
60
|
+
- spec/dummy/config/environment.rb
|
61
|
+
- spec/dummy/config/environments/development.rb
|
62
|
+
- spec/dummy/config/environments/production.rb
|
63
|
+
- spec/dummy/config/environments/test.rb
|
64
|
+
- spec/dummy/config/initializers/backtrace_silencers.rb
|
65
|
+
- spec/dummy/config/initializers/inflections.rb
|
66
|
+
- spec/dummy/config/initializers/mime_types.rb
|
67
|
+
- spec/dummy/config/initializers/secret_token.rb
|
68
|
+
- spec/dummy/config/initializers/session_store.rb
|
69
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
70
|
+
- spec/dummy/config/locales/en.yml
|
71
|
+
- spec/dummy/config/routes.rb
|
72
|
+
- spec/dummy/config.ru
|
73
|
+
- spec/dummy/db/development.sqlite3
|
74
|
+
- spec/dummy/db/migrate/20120313192639_create_copycat_translations.copycat_engine.rb
|
75
|
+
- spec/dummy/db/schema.rb
|
76
|
+
- spec/dummy/db/test.sqlite3
|
77
|
+
- spec/dummy/log/development.log
|
78
|
+
- spec/dummy/log/test.log
|
79
|
+
- spec/dummy/public/404.html
|
80
|
+
- spec/dummy/public/422.html
|
81
|
+
- spec/dummy/public/500.html
|
82
|
+
- spec/dummy/public/favicon.ico
|
83
|
+
- spec/dummy/Rakefile
|
84
|
+
- spec/dummy/script/rails
|
85
|
+
- spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
|
86
|
+
- spec/dummy/tmp/cache/assets/D1A/DB0/sprockets%2F26d700197b8d25f954d56d8f31f2c8bc
|
87
|
+
- spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
|
88
|
+
- spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
|
89
|
+
- spec/dummy/tmp/cache/assets/DDD/780/sprockets%2Fe7880b84c3ecb507fabc99b9ef6b70e3
|
90
|
+
- spec/factories/copycat_translations.rb
|
91
|
+
- spec/integration/copycat_spec.rb
|
92
|
+
- spec/lib/copycat_spec.rb
|
93
|
+
- spec/models/copycat_translation_spec.rb
|
94
|
+
- spec/spec_helper.rb
|
95
|
+
homepage: https://github.com/Vermonster/copycat
|
80
96
|
licenses: []
|
81
97
|
post_install_message:
|
82
98
|
rdoc_options: []
|
@@ -88,52 +104,62 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
88
104
|
- - ! '>='
|
89
105
|
- !ruby/object:Gem::Version
|
90
106
|
version: '0'
|
91
|
-
segments:
|
92
|
-
- 0
|
93
|
-
hash: 2817236768775132721
|
94
107
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
108
|
none: false
|
96
109
|
requirements:
|
97
110
|
- - ! '>='
|
98
111
|
- !ruby/object:Gem::Version
|
99
112
|
version: '0'
|
100
|
-
segments:
|
101
|
-
- 0
|
102
|
-
hash: 2817236768775132721
|
103
113
|
requirements: []
|
104
114
|
rubyforge_project:
|
105
|
-
rubygems_version: 1.8.
|
115
|
+
rubygems_version: 1.8.17
|
106
116
|
signing_key:
|
107
117
|
specification_version: 3
|
108
|
-
summary:
|
118
|
+
summary: Rails engine for editing live website copy.
|
109
119
|
test_files:
|
110
|
-
-
|
111
|
-
-
|
112
|
-
-
|
113
|
-
-
|
114
|
-
-
|
115
|
-
-
|
116
|
-
-
|
117
|
-
-
|
118
|
-
-
|
119
|
-
-
|
120
|
-
-
|
121
|
-
-
|
122
|
-
-
|
123
|
-
-
|
124
|
-
-
|
125
|
-
-
|
126
|
-
-
|
127
|
-
-
|
128
|
-
-
|
129
|
-
-
|
130
|
-
-
|
131
|
-
-
|
132
|
-
-
|
133
|
-
-
|
134
|
-
-
|
135
|
-
-
|
136
|
-
-
|
137
|
-
-
|
138
|
-
-
|
139
|
-
- test
|
120
|
+
- spec/dummy/app/assets/javascripts/application.js
|
121
|
+
- spec/dummy/app/assets/stylesheets/application.css
|
122
|
+
- spec/dummy/app/assets/stylesheets/copycat.css
|
123
|
+
- spec/dummy/app/controllers/application_controller.rb
|
124
|
+
- spec/dummy/app/controllers/site_controller.rb
|
125
|
+
- spec/dummy/app/helpers/application_helper.rb
|
126
|
+
- spec/dummy/app/views/layouts/application.html.erb
|
127
|
+
- spec/dummy/app/views/site/index.html.erb
|
128
|
+
- spec/dummy/config/application.rb
|
129
|
+
- spec/dummy/config/boot.rb
|
130
|
+
- spec/dummy/config/database.yml
|
131
|
+
- spec/dummy/config/environment.rb
|
132
|
+
- spec/dummy/config/environments/development.rb
|
133
|
+
- spec/dummy/config/environments/production.rb
|
134
|
+
- spec/dummy/config/environments/test.rb
|
135
|
+
- spec/dummy/config/initializers/backtrace_silencers.rb
|
136
|
+
- spec/dummy/config/initializers/inflections.rb
|
137
|
+
- spec/dummy/config/initializers/mime_types.rb
|
138
|
+
- spec/dummy/config/initializers/secret_token.rb
|
139
|
+
- spec/dummy/config/initializers/session_store.rb
|
140
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
141
|
+
- spec/dummy/config/locales/en.yml
|
142
|
+
- spec/dummy/config/routes.rb
|
143
|
+
- spec/dummy/config.ru
|
144
|
+
- spec/dummy/db/development.sqlite3
|
145
|
+
- spec/dummy/db/migrate/20120313192639_create_copycat_translations.copycat_engine.rb
|
146
|
+
- spec/dummy/db/schema.rb
|
147
|
+
- spec/dummy/db/test.sqlite3
|
148
|
+
- spec/dummy/log/development.log
|
149
|
+
- spec/dummy/log/test.log
|
150
|
+
- spec/dummy/public/404.html
|
151
|
+
- spec/dummy/public/422.html
|
152
|
+
- spec/dummy/public/500.html
|
153
|
+
- spec/dummy/public/favicon.ico
|
154
|
+
- spec/dummy/Rakefile
|
155
|
+
- spec/dummy/script/rails
|
156
|
+
- spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
|
157
|
+
- spec/dummy/tmp/cache/assets/D1A/DB0/sprockets%2F26d700197b8d25f954d56d8f31f2c8bc
|
158
|
+
- spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
|
159
|
+
- spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
|
160
|
+
- spec/dummy/tmp/cache/assets/DDD/780/sprockets%2Fe7880b84c3ecb507fabc99b9ef6b70e3
|
161
|
+
- spec/factories/copycat_translations.rb
|
162
|
+
- spec/integration/copycat_spec.rb
|
163
|
+
- spec/lib/copycat_spec.rb
|
164
|
+
- spec/models/copycat_translation_spec.rb
|
165
|
+
- spec/spec_helper.rb
|
data/README.rdoc
DELETED