phrasing 3.0.2 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []