lit 0.2.5 → 0.2.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 7da8c1d5b37a875b54f3640e3767b5101a9aaf15
4
- data.tar.gz: b14573576174aa805d17189bd1c2b9e9419d0d71
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NTgyNTU3OTU2YmIwNDY3OTBjZTNkMzcyMGE4MWNkYjQyYWE3MjMyZg==
5
+ data.tar.gz: !binary |-
6
+ YzY5NzAwMmU5MTM3OGIyMzY4ZThhNzBjM2Q3NzYyMjNjMWU2YzhmNw==
5
7
  SHA512:
6
- metadata.gz: 170e2b67f08b84f893b5a0f1ce7c94122aaa39798835ab6cc1fe754e236785946f02d3d293dedc47dce0b325165aba039376e2ee69f32fdd67e09c59f91f0a01
7
- data.tar.gz: eb22474f0ec620b6d1ed2219da048b01231ea2bbd2c541c405d86099e1d1faa6b4b6c5ffa9647b22c81dedad19e8564bfa20b4e3415467e141ec337f17917b9d
8
+ metadata.gz: !binary |-
9
+ NzM2ZjJlNjg3OTllNmEyM2I1OWQ1NzBkNTA3ZDBlMjMwODA4NjVkZjk5Mjhh
10
+ MmRiZmYxNmNiNWQ4MGZiMDJjZmFhMGFjNDc2YjJjNDg0YjI1MmNiODA2OTg0
11
+ M2YxNTBiMTc0Yzc2NjI3Mjk1YzQ2Y2JmZjYyNGZkYjViM2Q2NTA=
12
+ data.tar.gz: !binary |-
13
+ OWE5MWJmNGYyYWJhNWRhZGYzMjY0MWQ5YWExM2M5NjZiZjRlYzdjM2FhMWI2
14
+ NDc0NWEyN2NmZTM4Nzc4OWUxMGZlNzE2YzIxNmU3MDcyMGJiMDZiMWYyNmJj
15
+ MGFlMDIxN2VhMzU4ODY3MWJiM2Y3MDhlNDU4MmZhZjUyZjI3MjI=
@@ -79,11 +79,12 @@ module Lit
79
79
  end
80
80
  if options[:key].present?
81
81
  q = "%#{options[:key]}%"
82
+ q_underscore = "%#{options[:key].parameterize.underscore}%"
82
83
  cond = localization_key_col.matches(q).or(
83
84
  default_value_col.matches(q).or(
84
85
  translated_value_col.matches(q)
85
86
  )
86
- )
87
+ ).or(localization_key_col.matches(q_underscore))
87
88
  s = s.joins([:localizations]).where(cond)
88
89
  end
89
90
  unless options[:include_completed].to_i == 1
@@ -0,0 +1,8 @@
1
+ test:
2
+ adapter: postgresql
3
+ database: lit_test
4
+ username: ebin
5
+ password: ebin
6
+ host: localhost
7
+ pool: 5
8
+ timeout: 5000
@@ -178,40 +178,43 @@ module Lit
178
178
 
179
179
  def find_localization(locale, key_without_locale, value = nil, force_array = false, update_value = false)
180
180
  unless value.is_a?(Hash)
181
- localization_key = find_localization_key(key_without_locale)
182
- localization = Lit::Localization.where(locale_id: locale.id).
183
- where(localization_key_id: localization_key.id).first_or_initialize
184
- if update_value || localization.new_record?
185
- if value.is_a?(Array)
186
- unless force_array
187
- new_value = nil
188
- value_clone = value.dup
189
- while (v = value_clone.shift) && v.present?
190
- pv = parse_value(v, locale)
191
- new_value = pv unless pv.nil?
181
+ ActiveRecord::Base.transaction do
182
+ localization_key = find_localization_key(key_without_locale)
183
+ localization = Lit::Localization.where(locale_id: locale.id).
184
+ where(localization_key_id: localization_key.id).first_or_initialize
185
+ if update_value || localization.new_record?
186
+ if value.is_a?(Array)
187
+ unless force_array
188
+ new_value = nil
189
+ value_clone = value.dup
190
+ while (v = value_clone.shift) && v.present?
191
+ pv = parse_value(v, locale)
192
+ new_value = pv unless pv.nil?
193
+ end
194
+ value = new_value
192
195
  end
193
- value = new_value
196
+ else
197
+ value = parse_value(value, locale) unless value.nil?
194
198
  end
195
- else
196
- value = parse_value(value, locale) unless value.nil?
197
- end
198
- if value.nil?
199
- if Lit.fallback
200
- @locale_cache.keys.each do |lc|
201
- if lc != locale.locale
202
- nk = "#{lc}.#{key_without_locale}"
203
- v = localizations[nk]
204
- value = v if v.present? && value.nil?
199
+ if value.nil?
200
+ if Lit.fallback
201
+ @locale_cache.keys.each do |lc|
202
+ if lc != locale.locale
203
+ nk = "#{lc}.#{key_without_locale}"
204
+ v = localizations[nk]
205
+ value = v if v.present? && value.nil?
206
+ end
205
207
  end
206
208
  end
209
+ if value.nil? && Lit.humanize_key
210
+ value = key_without_locale.split('.').last.humanize
211
+ end
207
212
  end
208
- if value.nil? && Lit.humanize_key
209
- value = key_without_locale.split('.').last.humanize
210
- end
213
+ localization.update_default_value(value)
211
214
  end
212
- localization.update_default_value(value)
215
+ return localization
216
+
213
217
  end
214
- return localization
215
218
  else
216
219
  nil
217
220
  end
@@ -41,7 +41,9 @@ module Lit
41
41
  # @param [Hash] data nested key-value pairs to be added as blurbs
42
42
  def store_translations(locale, data, options = {})
43
43
  super
44
- store_item(locale, data) if store_items? && valid_locale?(locale)
44
+ ActiveRecord::Base.transaction do
45
+ store_item(locale, data)
46
+ end if store_items? && valid_locale?(locale)
45
47
  end
46
48
 
47
49
  private
@@ -83,9 +85,11 @@ module Lit
83
85
 
84
86
  def store_item(locale, data, scope = [])
85
87
  if data.respond_to?(:to_hash)
86
- data.to_hash.each do |key, value|
87
- store_item(locale, value, scope + [key])
88
- end
88
+ # ActiveRecord::Base.transaction do
89
+ data.to_hash.each do |key, value|
90
+ store_item(locale, value, scope + [key])
91
+ end
92
+ # end
89
93
  elsif data.respond_to?(:to_str)
90
94
  key = ([locale] + scope).join('.')
91
95
  @cache[key] ||= data
@@ -96,8 +100,10 @@ module Lit
96
100
  end
97
101
 
98
102
  def load_translations_to_cache
99
- (@translations || {}).each do |locale, data|
103
+ ActiveRecord::Base.transaction do
104
+ (@translations || {}).each do |locale, data|
100
105
  store_item(locale, data) if valid_locale?(locale)
106
+ end
101
107
  end
102
108
  end
103
109
 
@@ -1,3 +1,3 @@
1
1
  module Lit
2
- VERSION = '0.2.5'
2
+ VERSION = '0.2.6'
3
3
  end
metadata CHANGED
@@ -1,88 +1,88 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Litwiniuk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-19 00:00:00.000000000 Z
11
+ date: 2016-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">"
17
+ - - ! '>'
18
18
  - !ruby/object:Gem::Version
19
19
  version: 3.1.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">"
24
+ - - ! '>'
25
25
  - !ruby/object:Gem::Version
26
26
  version: 3.1.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: i18n
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: 0.7.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.7.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: jquery-rails
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pg
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - ! '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: devise
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - ! '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - ! '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- description: 'Translate your apps with pleasure (sort of...) and for free. It''s simple
84
- i18n web interface, build on top of twitter bootstrap, that one may find helpful
85
- in translating app by non-technicals. '
83
+ description: ! 'Translate your apps with pleasure (sort of...) and for free. It''s
84
+ simple i18n web interface, build on top of twitter bootstrap, that one may find
85
+ helpful in translating app by non-technicals. '
86
86
  email:
87
87
  - maciej@litwiniuk.net
88
88
  executables: []
@@ -403,6 +403,7 @@ files:
403
403
  - app/views/lit/sources/index.html.erb
404
404
  - app/views/lit/sources/new.html.erb
405
405
  - app/views/lit/sources/show.html.erb
406
+ - config/database.yml
406
407
  - config/routes.rb
407
408
  - db/migrate/20121103144612_create_lit_locales.rb
408
409
  - db/migrate/20121103174049_create_lit_localization_keys.rb
@@ -435,17 +436,17 @@ require_paths:
435
436
  - lib
436
437
  required_ruby_version: !ruby/object:Gem::Requirement
437
438
  requirements:
438
- - - ">="
439
+ - - ! '>='
439
440
  - !ruby/object:Gem::Version
440
441
  version: '0'
441
442
  required_rubygems_version: !ruby/object:Gem::Requirement
442
443
  requirements:
443
- - - ">="
444
+ - - ! '>='
444
445
  - !ruby/object:Gem::Version
445
446
  version: '0'
446
447
  requirements: []
447
448
  rubyforge_project:
448
- rubygems_version: 2.4.5.1
449
+ rubygems_version: 2.4.8
449
450
  signing_key:
450
451
  specification_version: 4
451
452
  summary: Database powered i18n backend with web gui