phrasing 3.2.0 → 3.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +3 -1
  3. data/Gemfile.lock +21 -3
  4. data/app/assets/javascripts/phrasing.js.erb +0 -1
  5. data/app/assets/stylesheets/phrasing_edit_mode_bubble.css.scss +6 -0
  6. data/app/helpers/inline_helper.rb +1 -1
  7. data/app/models/phrasing_phrase.rb +16 -7
  8. data/lib/phrasing/implementation.rb +3 -6
  9. data/lib/phrasing/version.rb +1 -1
  10. data/phrasing.gemspec +2 -0
  11. data/spec/dummy/app/views/site/index.html.erb +2 -0
  12. data/spec/dummy/config/locales/en.yml +1 -0
  13. data/spec/dummy/log/test.log +55916 -0
  14. data/spec/features/dummy_spec.rb +23 -9
  15. metadata +33 -47
  16. data/app/assets/javascripts/spin.js +0 -355
  17. data/spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  18. data/spec/dummy/tmp/cache/assets/test/sprockets/1524a8ae0986ae8836d789001277cb2a +0 -0
  19. data/spec/dummy/tmp/cache/assets/test/sprockets/2577540db9b91552e445c6f71fe549a5 +0 -0
  20. data/spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  21. data/spec/dummy/tmp/cache/assets/test/sprockets/5e5dccf46135893ba5aa04b2f6dcb9c2 +0 -0
  22. data/spec/dummy/tmp/cache/assets/test/sprockets/61d7673b6096c7fe71678968db1270e8 +0 -0
  23. data/spec/dummy/tmp/cache/assets/test/sprockets/668ce79999306d7c256f7c849c29384a +0 -0
  24. data/spec/dummy/tmp/cache/assets/test/sprockets/7f0eeee40ad7d0ee3deb01c58a3c9604 +0 -0
  25. data/spec/dummy/tmp/cache/assets/test/sprockets/9bb92a90f001d659da46cceb6760405d +0 -0
  26. data/spec/dummy/tmp/cache/assets/test/sprockets/b247b072c0cb3d44ce31c524e74253c9 +0 -0
  27. data/spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  28. data/spec/dummy/tmp/cache/assets/test/sprockets/e1058f33db77649b2d01d1c4e7a32cbc +0 -0
  29. data/spec/dummy/tmp/cache/assets/test/sprockets/e64cfbce519bf7c3f6b387e85dabc7b7 +0 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c7efc7bcebc790fc33dc2ad4a7364d2bd08b7d35
4
+ data.tar.gz: aeba9e1bb51923ad1bc3237378cc5806a15c5ff2
5
+ SHA512:
6
+ metadata.gz: 25e0c5c1a418044a56c768eb831ac06b18d1293632d1c216734cdde54c0a3ee041ba7492e978ea9086468c7f379721fa8d5833b54b0838210c2519666d8f0c14
7
+ data.tar.gz: e8d102720009260e083de23a020f26b315ceb64c486349f03a5b45cf6c43f8d31ff280bfd85db1824fac3016d54428cb3215f901d2ff3dcbbdaee467dde36dca
data/.gitignore CHANGED
@@ -1,2 +1,4 @@
1
1
  *.gem
2
- .ruby-version
2
+ .ruby-version
3
+ spec/dummy/log/test.log
4
+ tmp
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- phrasing (3.0.2)
4
+ phrasing (3.2.1)
5
5
  haml-rails
6
6
  jquery-cookie-rails
7
7
  jquery-rails
@@ -48,6 +48,14 @@ GEM
48
48
  xpath (~> 1.0.0)
49
49
  childprocess (0.3.9)
50
50
  ffi (~> 1.0, >= 1.0.11)
51
+ coderay (1.1.0)
52
+ columnize (0.3.6)
53
+ debugger (1.6.5)
54
+ columnize (>= 0.3.1)
55
+ debugger-linecache (~> 1.2.0)
56
+ debugger-ruby_core_source (~> 1.3.1)
57
+ debugger-linecache (1.2.0)
58
+ debugger-ruby_core_source (1.3.1)
51
59
  diff-lcs (1.2.4)
52
60
  erubis (2.7.0)
53
61
  factory_girl (4.2.0)
@@ -73,6 +81,7 @@ GEM
73
81
  mail (2.5.4)
74
82
  mime-types (~> 1.16)
75
83
  treetop (~> 1.4.8)
84
+ method_source (0.8.2)
76
85
  mime-types (1.24)
77
86
  mini_portile (0.5.1)
78
87
  minitest (4.7.5)
@@ -80,6 +89,13 @@ GEM
80
89
  nokogiri (1.6.0)
81
90
  mini_portile (~> 0.5.0)
82
91
  polyglot (0.3.3)
92
+ pry (0.9.12.4)
93
+ coderay (~> 1.0)
94
+ method_source (~> 0.8)
95
+ slop (~> 3.4)
96
+ pry-debugger (0.2.2)
97
+ debugger (~> 1.3)
98
+ pry (~> 0.9.10)
83
99
  rack (1.5.2)
84
100
  rack-test (0.6.2)
85
101
  rack (>= 1.0)
@@ -109,13 +125,14 @@ GEM
109
125
  rspec-expectations (~> 2.14.0)
110
126
  rspec-mocks (~> 2.14.0)
111
127
  rubyzip (0.9.9)
112
- sass (3.2.12)
128
+ sass (3.2.13)
113
129
  selenium-webdriver (2.35.0)
114
130
  childprocess (>= 0.2.5)
115
131
  multi_json (~> 1.0)
116
132
  rubyzip
117
133
  websocket (~> 1.0.4)
118
- sprockets (2.10.0)
134
+ slop (3.4.7)
135
+ sprockets (2.10.1)
119
136
  hike (~> 1.2)
120
137
  multi_json (~> 1.0)
121
138
  rack (~> 1.0)
@@ -145,5 +162,6 @@ DEPENDENCIES
145
162
  factory_girl_rails
146
163
  haml-rails
147
164
  phrasing!
165
+ pry-debugger
148
166
  rspec-rails
149
167
  sqlite3
@@ -1,5 +1,4 @@
1
1
  //= require head
2
- //= require spin
3
2
  //= require jquery
4
3
  //= require jquery_ujs
5
4
  //= require jquery.cookie
@@ -29,6 +29,12 @@
29
29
  height:32px;
30
30
  margin-top:10px;
31
31
  }
32
+ #phrasing-edit-mode-headline, #phrasing-edit-all-phrases-headline, #phrasing-saved-status-headline{
33
+ p{
34
+ display: inline;
35
+ }
36
+ }
37
+
32
38
  #phrasing-edit-mode-headline{
33
39
  height:30px;
34
40
  width:45px;
@@ -37,7 +37,7 @@ module InlineHelper
37
37
  def phrasing_phrase(key, options = {})
38
38
  key = key.to_s
39
39
  if can_edit_phrases?
40
- @record = PhrasingPhrase.where(key: key, locale: I18n.locale.to_s).first || PhrasingPhrase.create_phrase(key)
40
+ @record = PhrasingPhrase.where(key: key, locale: I18n.locale.to_s).first || PhrasingPhrase.search_i18n_and_create_phrase(key)
41
41
  inline(@record, :value, options || {})
42
42
  else
43
43
  options.try(:[], :interpolation) ? t(key, options[:interpolation]).html_safe : t(key).html_safe
@@ -8,13 +8,22 @@ class PhrasingPhrase < ActiveRecord::Base
8
8
 
9
9
  after_update :version_it
10
10
 
11
- def self.create_phrase(key)
12
- phrasing_phrase = PhrasingPhrase.new
13
- phrasing_phrase.locale = I18n.locale.to_s
14
- phrasing_phrase.key = key.to_s
15
- phrasing_phrase.value = key.to_s
16
- phrasing_phrase.save!
17
- phrasing_phrase
11
+ def self.search_i18n_and_create_phrase key
12
+ begin
13
+ value = I18n.t key, raise: true
14
+ PhrasingPhrase.where(key: key, locale: I18n.locale).first
15
+ rescue I18n::MissingTranslationData
16
+ create_phrase(key)
17
+ end
18
+ end
19
+
20
+ def self.create_phrase key, value = nil
21
+ phrasing_phrase = PhrasingPhrase.new
22
+ phrasing_phrase.locale = I18n.locale.to_s
23
+ phrasing_phrase.key = key.to_s
24
+ phrasing_phrase.value = value || key.to_s
25
+ phrasing_phrase.save
26
+ phrasing_phrase
18
27
  end
19
28
 
20
29
  module Serialize
@@ -10,12 +10,9 @@ module Phrasing
10
10
  return cct.value if cct
11
11
 
12
12
  value = super(locale, key, scope, options)
13
- if value.is_a?(String) || value.nil?
14
- phrasing_phrase = PhrasingPhrase.new
15
- phrasing_phrase.locale = locale.to_s
16
- phrasing_phrase.key = scoped_key
17
- phrasing_phrase.value = value
18
- phrasing_phrase.save
13
+ if value
14
+ #creation in background no matter if developer user the I18n#t or phrase helper
15
+ PhrasingPhrase.create_phrase(scoped_key, value)
19
16
  end
20
17
  value
21
18
  end
@@ -1,3 +1,3 @@
1
1
  module Phrasing
2
- VERSION = "3.2.0"
2
+ VERSION = "3.2.1"
3
3
  end
data/phrasing.gemspec CHANGED
@@ -22,4 +22,6 @@ Gem::Specification.new do |s|
22
22
  s.add_dependency "jquery-rails"
23
23
  s.add_dependency "jquery-cookie-rails"
24
24
  s.add_dependency "sass"
25
+
26
+ s.add_development_dependency 'pry-debugger'
25
27
  end
@@ -1,3 +1,5 @@
1
1
  <h2><%= phrase('site.index.header') %></h2>
2
2
 
3
3
  <div><%= phrase('site.index.intro') %></div>
4
+
5
+ <div><%= t('site.index.footer') %></div>
@@ -5,3 +5,4 @@ en:
5
5
  site:
6
6
  index:
7
7
  header: "The Header"
8
+ footer: "The Footer"