phrasing 3.0.2 → 3.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile.lock +3 -1
  3. data/app/helpers/inline_helper.rb +1 -1
  4. data/lib/phrasing/version.rb +1 -1
  5. data/spec/dummy/Rakefile +7 -0
  6. data/spec/dummy/app/assets/javascripts/application.js +9 -0
  7. data/spec/dummy/app/assets/stylesheets/application.css +7 -0
  8. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  9. data/spec/dummy/app/controllers/site_controller.rb +5 -0
  10. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  11. data/spec/dummy/app/helpers/phrasing_helper.rb +12 -0
  12. data/spec/dummy/app/mailers/.gitkeep +0 -0
  13. data/spec/dummy/app/models/.gitkeep +0 -0
  14. data/spec/dummy/app/views/layouts/application.html.erb +12 -0
  15. data/spec/dummy/app/views/site/index.html.erb +3 -0
  16. data/spec/dummy/config.ru +4 -0
  17. data/spec/dummy/config/application.rb +45 -0
  18. data/spec/dummy/config/boot.rb +10 -0
  19. data/spec/dummy/config/database.yml +25 -0
  20. data/spec/dummy/config/environment.rb +5 -0
  21. data/spec/dummy/config/environments/development.rb +28 -0
  22. data/spec/dummy/config/environments/production.rb +61 -0
  23. data/spec/dummy/config/environments/test.rb +39 -0
  24. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  25. data/spec/dummy/config/initializers/inflections.rb +10 -0
  26. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  27. data/spec/dummy/config/initializers/phrasing.rb +8 -0
  28. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  29. data/spec/dummy/config/initializers/session_store.rb +8 -0
  30. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  31. data/spec/dummy/config/locales/en.yml +7 -0
  32. data/spec/dummy/config/routes.rb +3 -0
  33. data/spec/dummy/db/.gitkeep +0 -0
  34. data/spec/dummy/db/development.sqlite3 +0 -0
  35. data/spec/dummy/db/migrate/20131120000855_create_phrasing_phrases.phrasing_rails_engine.rb +11 -0
  36. data/spec/dummy/db/migrate/20131120000856_create_phrasing_phrase_versions.phrasing_rails_engine.rb +10 -0
  37. data/spec/dummy/db/schema.rb +31 -0
  38. data/spec/dummy/db/test.sqlite3 +0 -0
  39. data/spec/dummy/lib/assets/.gitkeep +0 -0
  40. data/spec/dummy/log/.gitkeep +0 -0
  41. data/spec/dummy/log/development.log +26 -0
  42. data/spec/dummy/log/test.log +53313 -0
  43. data/spec/dummy/public/404.html +26 -0
  44. data/spec/dummy/public/422.html +26 -0
  45. data/spec/dummy/public/500.html +26 -0
  46. data/spec/dummy/public/favicon.ico +0 -0
  47. data/spec/dummy/script/rails +6 -0
  48. data/spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  49. data/spec/dummy/tmp/cache/assets/test/sprockets/1524a8ae0986ae8836d789001277cb2a +0 -0
  50. data/spec/dummy/tmp/cache/assets/test/sprockets/2577540db9b91552e445c6f71fe549a5 +0 -0
  51. data/spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  52. data/spec/dummy/tmp/cache/assets/test/sprockets/5e5dccf46135893ba5aa04b2f6dcb9c2 +0 -0
  53. data/spec/dummy/tmp/cache/assets/test/sprockets/61d7673b6096c7fe71678968db1270e8 +0 -0
  54. data/spec/dummy/tmp/cache/assets/test/sprockets/668ce79999306d7c256f7c849c29384a +0 -0
  55. data/spec/dummy/tmp/cache/assets/test/sprockets/7f0eeee40ad7d0ee3deb01c58a3c9604 +0 -0
  56. data/spec/dummy/tmp/cache/assets/test/sprockets/9bb92a90f001d659da46cceb6760405d +0 -0
  57. data/spec/dummy/tmp/cache/assets/test/sprockets/b247b072c0cb3d44ce31c524e74253c9 +0 -0
  58. data/spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  59. data/spec/dummy/tmp/cache/assets/test/sprockets/e1058f33db77649b2d01d1c4e7a32cbc +0 -0
  60. data/spec/dummy/tmp/cache/assets/test/sprockets/e64cfbce519bf7c3f6b387e85dabc7b7 +0 -0
  61. data/spec/factories/phrasing_phrases.rb +12 -0
  62. data/spec/features/dummy_spec.rb +77 -0
  63. data/spec/features/phrasing_spec.rb +314 -0
  64. data/spec/lib/phrasing_spec.rb +50 -0
  65. data/spec/models/phrasing_phrase_spec.rb +50 -0
  66. data/spec/spec_helper.rb +12 -0
  67. metadata +81 -33
@@ -0,0 +1,50 @@
1
+ require 'spec_helper'
2
+
3
+ describe Phrasing 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
+ "translation missing"
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 Phrasing::Implementation
25
+ end
26
+ end
27
+
28
+ describe ".lookup" do
29
+ it "returns simple lookup if phrasing_phrase missing" do
30
+ base.lookup(nil, '').should == "translation missing"
31
+ end
32
+
33
+ it "returns phrasing_phrase if present" do
34
+ cct = FactoryGirl.create(:phrasing_phrase)
35
+ base.lookup(cct.locale, cct.key).should == cct.value
36
+ end
37
+
38
+ it "creates phrasing_phrase if one is missing" do
39
+ PhrasingPhrase.where(locale: 'en', key: 'foo').should be_empty
40
+ base.lookup('en', 'foo')
41
+ PhrasingPhrase.where(locale: 'en', key: 'foo').should_not be_empty
42
+ end
43
+
44
+ it "creates scoped phrasing_phrase if one is missing" do
45
+ PhrasingPhrase.where(locale: 'en', key: 'the_scope.foo').should be_empty
46
+ base.lookup('en', 'foo', :"the_scope")
47
+ PhrasingPhrase.where(locale: 'en', key: 'the_scope.foo').should_not be_empty
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,50 @@
1
+ #encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe PhrasingPhrase do
5
+
6
+ describe "database constraints" do
7
+ it "validates uniqueness of key & locale" do
8
+ PhrasingPhrase.new(key: "foo", locale: "en", value: "bar").save
9
+ # a = PhrasingPhrase.new(key: "foo", locale: "en", value: "bar2")
10
+ # expect { a.save }.to raise_error
11
+ b = PhrasingPhrase.new(key: "foo", locale: "fa", value: "bar")
12
+ expect { b.save }.not_to raise_error
13
+ end
14
+ end
15
+
16
+ it "imports YAML" do
17
+ FactoryGirl.create(:phrasing_phrase, :key => "sample_copy", :value => "copyfoo")
18
+ FactoryGirl.create(:phrasing_phrase, :key => "sample_copy2", :value => "copybaz")
19
+
20
+ assert PhrasingPhrase.find_by_key("sample_copy").value == "copyfoo"
21
+ assert PhrasingPhrase.find_by_key("sample_copy2").value == "copybaz"
22
+ assert PhrasingPhrase.find_by_key("hello").nil?
23
+
24
+ yaml = <<-YAML
25
+ en:
26
+ hello: "Hello world"
27
+ sample_copy: "lorem ipsum"
28
+ YAML
29
+ PhrasingPhrase.import_yaml(StringIO.new(yaml))
30
+
31
+ assert PhrasingPhrase.find_by_key("sample_copy").value == "lorem ipsum"
32
+ assert PhrasingPhrase.find_by_key("sample_copy2").value == "copybaz"
33
+ assert PhrasingPhrase.find_by_key("hello").value == "Hello world"
34
+ end
35
+
36
+ it "exports and then imports complicated YAML" do
37
+ key = "moby_dick"
38
+ value = %|<p>Lorem ipsum</p><p class="highlight">∆'≈:</p>|
39
+ FactoryGirl.create(:phrasing_phrase, key: key, value: value)
40
+ yaml = PhrasingPhrase.export_yaml
41
+ PhrasingPhrase.destroy_all
42
+ PhrasingPhrase.import_yaml(StringIO.new(yaml))
43
+ PhrasingPhrase.find_by_key(key).value.should == value
44
+ end
45
+
46
+ end
47
+
48
+
49
+
50
+
@@ -0,0 +1,12 @@
1
+ ENV["RAILS_ENV"] = 'test'
2
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
3
+ require 'rspec/rails'
4
+ require 'capybara/rspec'
5
+ require 'tempfile'
6
+
7
+ Dir["#{File.dirname(__FILE__)}/factories/**/*.rb"].each { |f| require f }
8
+
9
+ RSpec.configure do |config|
10
+ config.mock_with :rspec
11
+ config.use_transactional_fixtures = true
12
+ end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phrasing
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
5
- prerelease:
4
+ version: 3.0.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Tomislav Car
@@ -10,102 +9,90 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-11-12 00:00:00.000000000 Z
12
+ date: 2013-11-20 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.1.0
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ! '>='
25
+ - - '>='
29
26
  - !ruby/object:Gem::Version
30
27
  version: 3.1.0
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: railties
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
- - - ! '>='
32
+ - - '>='
37
33
  - !ruby/object:Gem::Version
38
34
  version: '3.1'
39
35
  type: :runtime
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
- - - ! '>='
39
+ - - '>='
45
40
  - !ruby/object:Gem::Version
46
41
  version: '3.1'
47
42
  - !ruby/object:Gem::Dependency
48
43
  name: haml-rails
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
- - - ! '>='
46
+ - - '>='
53
47
  - !ruby/object:Gem::Version
54
48
  version: '0'
55
49
  type: :runtime
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
52
  requirements:
60
- - - ! '>='
53
+ - - '>='
61
54
  - !ruby/object:Gem::Version
62
55
  version: '0'
63
56
  - !ruby/object:Gem::Dependency
64
57
  name: jquery-rails
65
58
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
- - - ! '>='
60
+ - - '>='
69
61
  - !ruby/object:Gem::Version
70
62
  version: '0'
71
63
  type: :runtime
72
64
  prerelease: false
73
65
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
66
  requirements:
76
- - - ! '>='
67
+ - - '>='
77
68
  - !ruby/object:Gem::Version
78
69
  version: '0'
79
70
  - !ruby/object:Gem::Dependency
80
71
  name: jquery-cookie-rails
81
72
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
73
  requirements:
84
- - - ! '>='
74
+ - - '>='
85
75
  - !ruby/object:Gem::Version
86
76
  version: '0'
87
77
  type: :runtime
88
78
  prerelease: false
89
79
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
80
  requirements:
92
- - - ! '>='
81
+ - - '>='
93
82
  - !ruby/object:Gem::Version
94
83
  version: '0'
95
84
  - !ruby/object:Gem::Dependency
96
85
  name: sass
97
86
  requirement: !ruby/object:Gem::Requirement
98
- none: false
99
87
  requirements:
100
- - - ! '>='
88
+ - - '>='
101
89
  - !ruby/object:Gem::Version
102
90
  version: '0'
103
91
  type: :runtime
104
92
  prerelease: false
105
93
  version_requirements: !ruby/object:Gem::Requirement
106
- none: false
107
94
  requirements:
108
- - - ! '>='
95
+ - - '>='
109
96
  - !ruby/object:Gem::Version
110
97
  version: '0'
111
98
  description: Phrasing!
@@ -158,29 +145,90 @@ files:
158
145
  - lib/phrasing/version.rb
159
146
  - lib/tasks/phrasing_tasks.rake
160
147
  - phrasing.gemspec
148
+ - spec/dummy/Rakefile
149
+ - spec/dummy/app/assets/javascripts/application.js
150
+ - spec/dummy/app/assets/stylesheets/application.css
151
+ - spec/dummy/app/controllers/application_controller.rb
152
+ - spec/dummy/app/controllers/site_controller.rb
153
+ - spec/dummy/app/helpers/application_helper.rb
154
+ - spec/dummy/app/helpers/phrasing_helper.rb
155
+ - spec/dummy/app/mailers/.gitkeep
156
+ - spec/dummy/app/models/.gitkeep
157
+ - spec/dummy/app/views/layouts/application.html.erb
158
+ - spec/dummy/app/views/site/index.html.erb
159
+ - spec/dummy/config.ru
160
+ - spec/dummy/config/application.rb
161
+ - spec/dummy/config/boot.rb
162
+ - spec/dummy/config/database.yml
163
+ - spec/dummy/config/environment.rb
164
+ - spec/dummy/config/environments/development.rb
165
+ - spec/dummy/config/environments/production.rb
166
+ - spec/dummy/config/environments/test.rb
167
+ - spec/dummy/config/initializers/backtrace_silencers.rb
168
+ - spec/dummy/config/initializers/inflections.rb
169
+ - spec/dummy/config/initializers/mime_types.rb
170
+ - spec/dummy/config/initializers/phrasing.rb
171
+ - spec/dummy/config/initializers/secret_token.rb
172
+ - spec/dummy/config/initializers/session_store.rb
173
+ - spec/dummy/config/initializers/wrap_parameters.rb
174
+ - spec/dummy/config/locales/en.yml
175
+ - spec/dummy/config/routes.rb
176
+ - spec/dummy/db/.gitkeep
177
+ - spec/dummy/db/development.sqlite3
178
+ - spec/dummy/db/migrate/20131120000855_create_phrasing_phrases.phrasing_rails_engine.rb
179
+ - spec/dummy/db/migrate/20131120000856_create_phrasing_phrase_versions.phrasing_rails_engine.rb
180
+ - spec/dummy/db/schema.rb
181
+ - spec/dummy/db/test.sqlite3
182
+ - spec/dummy/lib/assets/.gitkeep
183
+ - spec/dummy/log/.gitkeep
184
+ - spec/dummy/log/development.log
185
+ - spec/dummy/log/test.log
186
+ - spec/dummy/public/404.html
187
+ - spec/dummy/public/422.html
188
+ - spec/dummy/public/500.html
189
+ - spec/dummy/public/favicon.ico
190
+ - spec/dummy/script/rails
191
+ - spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
192
+ - spec/dummy/tmp/cache/assets/test/sprockets/1524a8ae0986ae8836d789001277cb2a
193
+ - spec/dummy/tmp/cache/assets/test/sprockets/2577540db9b91552e445c6f71fe549a5
194
+ - spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
195
+ - spec/dummy/tmp/cache/assets/test/sprockets/5e5dccf46135893ba5aa04b2f6dcb9c2
196
+ - spec/dummy/tmp/cache/assets/test/sprockets/61d7673b6096c7fe71678968db1270e8
197
+ - spec/dummy/tmp/cache/assets/test/sprockets/668ce79999306d7c256f7c849c29384a
198
+ - spec/dummy/tmp/cache/assets/test/sprockets/7f0eeee40ad7d0ee3deb01c58a3c9604
199
+ - spec/dummy/tmp/cache/assets/test/sprockets/9bb92a90f001d659da46cceb6760405d
200
+ - spec/dummy/tmp/cache/assets/test/sprockets/b247b072c0cb3d44ce31c524e74253c9
201
+ - spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
202
+ - spec/dummy/tmp/cache/assets/test/sprockets/e1058f33db77649b2d01d1c4e7a32cbc
203
+ - spec/dummy/tmp/cache/assets/test/sprockets/e64cfbce519bf7c3f6b387e85dabc7b7
204
+ - spec/factories/phrasing_phrases.rb
205
+ - spec/features/dummy_spec.rb
206
+ - spec/features/phrasing_spec.rb
207
+ - spec/lib/phrasing_spec.rb
208
+ - spec/models/phrasing_phrase_spec.rb
209
+ - spec/spec_helper.rb
161
210
  homepage: http://github.com/infinum/phrasing
162
211
  licenses:
163
212
  - MIT
213
+ metadata: {}
164
214
  post_install_message:
165
215
  rdoc_options: []
166
216
  require_paths:
167
217
  - lib
168
218
  required_ruby_version: !ruby/object:Gem::Requirement
169
- none: false
170
219
  requirements:
171
- - - ! '>='
220
+ - - '>='
172
221
  - !ruby/object:Gem::Version
173
222
  version: '0'
174
223
  required_rubygems_version: !ruby/object:Gem::Requirement
175
- none: false
176
224
  requirements:
177
- - - ! '>='
225
+ - - '>='
178
226
  - !ruby/object:Gem::Version
179
227
  version: '0'
180
228
  requirements: []
181
229
  rubyforge_project:
182
- rubygems_version: 1.8.23
230
+ rubygems_version: 2.1.5
183
231
  signing_key:
184
- specification_version: 3
232
+ specification_version: 4
185
233
  summary: Edit phrases inline for Rails applications!
186
234
  test_files: []