lit 0.2.5 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
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