lit 0.2.6 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +5 -13
  2. data/README.md +93 -12
  3. data/Rakefile +1 -0
  4. data/app/assets/javascripts/lit/application.js +1 -2
  5. data/app/assets/javascripts/lit/{bootstrap.js.coffee → backend/bootstrap.js.coffee} +0 -0
  6. data/app/assets/javascripts/lit/{dashboard.js → backend/dashboard.js} +0 -0
  7. data/app/assets/javascripts/lit/{jquery-te-1.4.0.min.js → backend/jquery-te-1.4.0.min.js} +0 -0
  8. data/app/assets/javascripts/lit/{localizations.js.coffee → backend/localizations.js.coffee} +2 -0
  9. data/app/assets/javascripts/lit/backend/sources.js.coffee +24 -0
  10. data/app/assets/javascripts/lit/lit_frontend.js +103 -0
  11. data/app/assets/javascripts/lit/mousetrap.js +1044 -0
  12. data/app/assets/stylesheets/lit/application.css +7 -1
  13. data/app/assets/stylesheets/lit/{jquery-te-1.4.0.css.scss → backend/jquery-te-1.4.0.css.scss} +0 -0
  14. data/app/assets/stylesheets/lit/lit_frontend.css +86 -0
  15. data/app/controllers/lit/api/v1/base_controller.rb +1 -1
  16. data/app/controllers/lit/application_controller.rb +7 -3
  17. data/app/controllers/lit/concerns/request_info_store.rb +16 -0
  18. data/app/controllers/lit/concerns/request_keys_store.rb +16 -0
  19. data/app/controllers/lit/incomming_localizations_controller.rb +2 -2
  20. data/app/controllers/lit/locales_controller.rb +1 -1
  21. data/app/controllers/lit/localization_keys_controller.rb +22 -9
  22. data/app/controllers/lit/localizations_controller.rb +19 -6
  23. data/app/controllers/lit/sources_controller.rb +11 -1
  24. data/app/helpers/lit/frontend_helper.rb +71 -0
  25. data/app/helpers/lit/localization_keys_helper.rb +5 -0
  26. data/app/helpers/lit/sources_helper.rb +3 -0
  27. data/app/jobs/lit/synchronize_source_job.rb +11 -0
  28. data/app/models/lit/localization.rb +17 -10
  29. data/app/models/lit/localization_key.rb +6 -2
  30. data/app/models/lit/source.rb +4 -3
  31. data/app/views/layouts/lit/application.html.erb +6 -6
  32. data/app/views/lit/incomming_localizations/index.html.erb +22 -17
  33. data/app/views/lit/localization_keys/_localization_row.html.erb +1 -1
  34. data/app/views/lit/localization_keys/index.html.erb +27 -8
  35. data/app/views/lit/localizations/_form.html.erb +5 -5
  36. data/app/views/lit/localizations/_previous_versions_rows.html.erb +1 -1
  37. data/app/views/lit/localizations/edit.js.erb +2 -2
  38. data/app/views/lit/localizations/previous_versions.js.erb +1 -1
  39. data/app/views/lit/localizations/update.js.erb +2 -2
  40. data/config/routes.rb +12 -12
  41. data/db/migrate/20180101010101_lit_create_lit_locales.rb +16 -0
  42. data/db/migrate/20180101010102_lit_create_lit_localization_keys.rb +18 -0
  43. data/db/migrate/20180101010103_lit_create_lit_localizations.rb +24 -0
  44. data/db/migrate/20180101010104_lit_add_is_completed_and_is_starred_to_localization_keys.rb +17 -0
  45. data/db/migrate/20180101010105_lit_add_is_hidden_to_locales.rb +12 -0
  46. data/db/migrate/20180101010106_lit_create_lit_localization_versions.rb +20 -0
  47. data/db/migrate/20180101010107_lit_create_lit_sources.rb +19 -0
  48. data/db/migrate/20180101010108_lit_create_lit_incomming_localizations.rb +34 -0
  49. data/db/migrate/20180101010109_lit_add_sync_complete_to_lit_sources.rb +12 -0
  50. data/lib/generators/lit/install/templates/initializer.rb +17 -6
  51. data/lib/generators/lit/install_generator.rb +0 -7
  52. data/lib/lit.rb +15 -8
  53. data/lib/lit/adapters/hash_storage.rb +4 -0
  54. data/lib/lit/adapters/redis_storage.rb +9 -3
  55. data/lib/lit/cache.rb +126 -70
  56. data/lib/lit/engine.rb +20 -1
  57. data/lib/lit/i18n_backend.rb +66 -26
  58. data/lib/lit/version.rb +1 -1
  59. data/lib/tasks/lit_tasks.rake +21 -3
  60. metadata +67 -43
  61. data/app/assets/stylesheets/lit/dashboard.css +0 -4
  62. data/config/database.yml +0 -8
  63. data/db/migrate/20121103144612_create_lit_locales.rb +0 -9
  64. data/db/migrate/20121103174049_create_lit_localization_keys.rb +0 -10
  65. data/db/migrate/20121103182106_create_lit_localizations.rb +0 -15
  66. data/db/migrate/20121225112100_add_is_completed_and_is_starred_to_localization_keys.rb +0 -6
  67. data/db/migrate/20130511111904_add_is_hidden_to_locales.rb +0 -5
  68. data/db/migrate/20130921071304_create_lit_localization_versions.rb +0 -11
  69. data/db/migrate/20130923162141_create_lit_sources.rb +0 -12
  70. data/db/migrate/20130924151910_create_lit_incomming_localizations.rb +0 -21
@@ -1,9 +1,28 @@
1
1
  module Lit
2
2
  class Engine < ::Rails::Engine
3
+ require 'jquery-rails'
4
+
5
+ config.autoload_paths += %W[#{Lit::Engine.root}/app/controllers/lit/concerns]
6
+
3
7
  isolate_namespace Lit
4
8
 
5
9
  initializer 'lit.assets.precompile' do |app|
6
- app.config.assets.precompile += %w(lit/application.css lit/application.js)
10
+ app.config.assets.precompile += %w[lit/application.css lit/application.js]
11
+ app.config.assets.precompile += %w[lit/lit_frontend.css lit/lit_frontend.js]
12
+ # add language flags to list of precompiled assets
13
+ if app.config.i18n.available_locales
14
+ app.config.i18n.available_locales.each do |l|
15
+ app.config.assets.precompile << "lit/famfamfam_flags/#{l.to_s[0,2]}.png"
16
+ end
17
+ end
18
+ end
19
+
20
+ initializer 'lit.migrations.append' do |app|
21
+ unless app.root.to_s.include?(root.to_s)
22
+ config.paths['db/migrate'].expanded.each do |expanded_path|
23
+ app.config.paths['db/migrate'] << expanded_path
24
+ end
25
+ end
7
26
  end
8
27
  end
9
28
  end
@@ -9,10 +9,16 @@ module Lit
9
9
  def initialize(cache)
10
10
  @cache = cache
11
11
  @available_locales_cache = nil
12
+ @translations = {}
13
+ reserved_keys = I18n.const_get :RESERVED_KEYS
14
+ reserved_keys << :lit_default_copy
15
+ I18n.send(:remove_const, :RESERVED_KEYS)
16
+ I18n.const_set(:RESERVED_KEYS, reserved_keys)
12
17
  end
13
18
 
14
19
  def translate(locale, key, options = {})
15
- content = super(locale, key, options.merge(fallback: Lit.fallback))
20
+ options[:lit_default_copy] = options[:default].dup if can_dup_default(options)
21
+ content = super(locale, key, options)
16
22
  if Lit.all_translations_are_html_safe && content.respond_to?(:html_safe)
17
23
  content.html_safe
18
24
  else
@@ -22,9 +28,9 @@ module Lit
22
28
 
23
29
  def available_locales
24
30
  return @available_locales_cache unless @available_locales_cache.nil?
25
- locales = ::Rails.configuration.i18n.available_locales
26
- if locales && !locales.empty?
27
- @available_locales_cache = locales.map(&:to_sym)
31
+ @locales ||= ::Rails.configuration.i18n.available_locales
32
+ if @locales && !@locales.empty?
33
+ @available_locales_cache = @locales.map(&:to_sym)
28
34
  else
29
35
  @available_locales_cache = Lit::Locale.ordered.visible.map { |l| l.locale.to_sym }
30
36
  end
@@ -48,6 +54,15 @@ module Lit
48
54
 
49
55
  private
50
56
 
57
+ def can_dup_default(options = {})
58
+ return false unless options.key?(:default)
59
+ return true if options[:default].is_a?(String)
60
+ return true if options[:default].is_a?(Array) && \
61
+ (options[:default].first.is_a?(String) || \
62
+ options[:default].first.is_a?(Symbol))
63
+ false
64
+ end
65
+
51
66
  def lookup(locale, key, scope = [], options = {})
52
67
  init_translations unless initialized?
53
68
 
@@ -58,42 +73,67 @@ module Lit
58
73
  content = @cache[key_with_locale] || super
59
74
  return content if parts.size <= 1
60
75
 
61
- if should_cache?(key_with_locale)
76
+ if content.nil? && should_cache?(key_with_locale)
62
77
  new_content = @cache.init_key_with_value(key_with_locale, content)
63
78
  content = new_content if content.nil? # Content can change when Lit.humanize is true for example
64
-
65
- if content.nil? && options[:default].present?
66
- if options[:default].is_a?(Array)
67
- default = options[:default].map do |key|
68
- if key.is_a?(Symbol)
69
- I18n.normalize_keys(nil, key.to_s, options[:scope], options[:separator]).join('.').to_sym
70
- else
71
- key
79
+ # so there is no content in cache - it might not be if ie. we're doing
80
+ # fallback to already existing language
81
+ if content.nil?
82
+ # check if default was provided
83
+ if options[:lit_default_copy].present?
84
+ # default most likely will be an array
85
+ if options[:lit_default_copy].is_a?(Array)
86
+ default = options[:lit_default_copy].map do |key_or_value|
87
+ if key_or_value.is_a?(Symbol)
88
+ I18n.normalize_keys(nil, key_or_value.to_s, options[:scope], options[:separator]).join('.').to_sym
89
+ else
90
+ key_or_value
91
+ end
72
92
  end
93
+ default = default.first if default.is_a?(Array)
94
+ else
95
+ default = options[:lit_default_copy]
96
+ end
97
+ content = default
98
+ end
99
+ # if we have content now, let's store it in cache
100
+ if content.present?
101
+ @cache[key_with_locale] = content
102
+ content = @cache[key_with_locale]
103
+ end
104
+ # content might be nil - default value passed to cache was in fact
105
+ # useless.
106
+ # if content is still nil, we may try to humanize it. Rails will do
107
+ # it anyway if we return nil, but then it will wrap it also in
108
+ # translation_missing span.
109
+ # Humanizing key should be last resort
110
+ if content.nil? && Lit.humanize_key
111
+ content = key.to_s.split('.').last.humanize
112
+ if content.present?
113
+ @cache[key_with_locale] = content
114
+ content = @cache[key_with_locale]
73
115
  end
74
- else
75
- default = options[:default]
76
116
  end
77
-
78
- @cache[key_with_locale] = default
79
- content = @cache[key_with_locale]
80
117
  end
81
118
  end
82
119
  ## return translated content
83
120
  content
84
121
  end
85
122
 
86
- def store_item(locale, data, scope = [])
123
+ def store_item(locale, data, scope = [], startup_process = false)
124
+ key = ([locale] + scope).join('.')
87
125
  if data.respond_to?(:to_hash)
88
126
  # ActiveRecord::Base.transaction do
89
127
  data.to_hash.each do |key, value|
90
- store_item(locale, value, scope + [key])
128
+ store_item(locale, value, scope + [key], startup_process)
91
129
  end
92
130
  # end
93
- elsif data.respond_to?(:to_str)
131
+ elsif data.respond_to?(:to_str) || data.is_a?(Array)
94
132
  key = ([locale] + scope).join('.')
95
- @cache[key] ||= data
133
+ return if startup_process && @cache.keys.member?(key) && Lit.ignore_yaml_on_startup
134
+ @cache.update_locale(key, data, data.is_a?(Array), startup_process)
96
135
  elsif data.nil?
136
+ return if startup_process
97
137
  key = ([locale] + scope).join('.')
98
138
  @cache.delete_locale(key)
99
139
  end
@@ -102,7 +142,7 @@ module Lit
102
142
  def load_translations_to_cache
103
143
  ActiveRecord::Base.transaction do
104
144
  (@translations || {}).each do |locale, data|
105
- store_item(locale, data) if valid_locale?(locale)
145
+ store_item(locale, data, [], true) if valid_locale?(locale)
106
146
  end
107
147
  end
108
148
  end
@@ -128,12 +168,12 @@ module Lit
128
168
  end
129
169
 
130
170
  def store_items?
131
- @store_items.nil? || @store_items
171
+ !instance_variable_defined?(:@store_items) || @store_items
132
172
  end
133
173
 
134
174
  def valid_locale?(locale)
135
- locales = ::Rails.configuration.i18n.available_locales
136
- !locales || locales.map(&:to_s).include?(locale.to_s)
175
+ @locales ||= ::Rails.configuration.i18n.available_locales
176
+ !@locales || @locales.map(&:to_s).include?(locale.to_s)
137
177
  end
138
178
 
139
179
  def is_ignored_key(key_without_locale)
@@ -1,3 +1,3 @@
1
1
  module Lit
2
- VERSION = '0.2.6'
2
+ VERSION = '0.3.0'.freeze
3
3
  end
@@ -2,9 +2,27 @@ namespace :lit do
2
2
  desc 'Exports translated strings from lit to config/locales/lit.yml file.'
3
3
  task export: :environment do
4
4
  if yml = Lit.init.cache.export
5
- PATH = 'config/locales/lit.yml'
6
- File.new("#{Rails.root}/#{PATH}", 'w').write(yml)
7
- puts "Successfully exported #{PATH}."
5
+ path = Rails.root.join('config', 'locales', 'lit.yml')
6
+ File.new(path, 'w').write(yml)
7
+ puts "Successfully exported #{path}."
8
+ end
9
+ end
10
+
11
+ desc 'Reads config/locales/#{ENV["FILES"]} files and calls I18n.t() on keys forcing Lit to import given LOCALE to cache / to display them in UI'
12
+ task raw_import: :environment do
13
+ return 'you need to define FILES env' if ENV['FILES'].blank?
14
+ return 'you need to define LOCALE env' if ENV['LOCALE'].blank?
15
+ files = ENV['FILES'].to_s.split(',')
16
+ locale = ENV['LOCALE'].to_s
17
+ I18n.with_locale(locale) do
18
+ files.each do |file|
19
+ locale_file = File.open(Rails.root.join('config', 'locales', file))
20
+ yml = YAML.load(locale_file)[locale]
21
+ Hash[*Lit::Cache.flatten_hash(yml)].each do |key, default_translation|
22
+ puts key
23
+ I18n.t(key, default: default_translation)
24
+ end
25
+ end
8
26
  end
9
27
  end
10
28
  end
metadata CHANGED
@@ -1,88 +1,104 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Litwiniuk
8
+ - Piotr Boniecki
9
+ - Michał Buszkiewicz
8
10
  autorequire:
9
11
  bindir: bin
10
12
  cert_chain: []
11
- date: 2016-05-12 00:00:00.000000000 Z
13
+ date: 2018-01-29 00:00:00.000000000 Z
12
14
  dependencies:
13
15
  - !ruby/object:Gem::Dependency
14
- name: rails
16
+ name: i18n
15
17
  requirement: !ruby/object:Gem::Requirement
16
18
  requirements:
17
- - - ! '>'
19
+ - - "~>"
18
20
  - !ruby/object:Gem::Version
19
- version: 3.1.0
21
+ version: '0.7'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
23
25
  requirements:
24
- - - ! '>'
26
+ - - "~>"
25
27
  - !ruby/object:Gem::Version
26
- version: 3.1.0
28
+ version: '0.7'
27
29
  - !ruby/object:Gem::Dependency
28
- name: i18n
30
+ name: jquery-rails
29
31
  requirement: !ruby/object:Gem::Requirement
30
32
  requirements:
31
- - - ~>
33
+ - - ">="
32
34
  - !ruby/object:Gem::Version
33
- version: 0.7.0
35
+ version: '0'
34
36
  type: :runtime
35
37
  prerelease: false
36
38
  version_requirements: !ruby/object:Gem::Requirement
37
39
  requirements:
38
- - - ~>
40
+ - - ">="
39
41
  - !ruby/object:Gem::Version
40
- version: 0.7.0
42
+ version: '0'
41
43
  - !ruby/object:Gem::Dependency
42
- name: jquery-rails
44
+ name: rails
43
45
  requirement: !ruby/object:Gem::Requirement
44
46
  requirements:
45
- - - ! '>='
47
+ - - ">="
46
48
  - !ruby/object:Gem::Version
47
- version: '0'
49
+ version: 4.2.0
48
50
  type: :runtime
49
51
  prerelease: false
50
52
  version_requirements: !ruby/object:Gem::Requirement
51
53
  requirements:
52
- - - ! '>='
54
+ - - ">="
53
55
  - !ruby/object:Gem::Version
54
- version: '0'
56
+ version: 4.2.0
55
57
  - !ruby/object:Gem::Dependency
56
- name: pg
58
+ name: appraisal
57
59
  requirement: !ruby/object:Gem::Requirement
58
60
  requirements:
59
- - - ! '>='
61
+ - - ">="
60
62
  - !ruby/object:Gem::Version
61
63
  version: '0'
62
64
  type: :development
63
65
  prerelease: false
64
66
  version_requirements: !ruby/object:Gem::Requirement
65
67
  requirements:
66
- - - ! '>='
68
+ - - ">="
67
69
  - !ruby/object:Gem::Version
68
70
  version: '0'
69
71
  - !ruby/object:Gem::Dependency
70
72
  name: devise
71
73
  requirement: !ruby/object:Gem::Requirement
72
74
  requirements:
73
- - - ! '>='
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ - !ruby/object:Gem::Dependency
86
+ name: pg
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
74
90
  - !ruby/object:Gem::Version
75
91
  version: '0'
76
92
  type: :development
77
93
  prerelease: false
78
94
  version_requirements: !ruby/object:Gem::Requirement
79
95
  requirements:
80
- - - ! '>='
96
+ - - ">="
81
97
  - !ruby/object:Gem::Version
82
98
  version: '0'
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. '
99
+ description: "Translate your apps with pleasure (sort of...) and for free.\n It's
100
+ simple i18n web interface, build on top of twitter\n bootstrap,
101
+ that one may find helpful in translating app by\n non-technicals. "
86
102
  email:
87
103
  - maciej@litwiniuk.net
88
104
  executables: []
@@ -344,18 +360,23 @@ files:
344
360
  - app/assets/images/lit/famfamfam_flags/zw.png
345
361
  - app/assets/images/lit/jquery-te.png
346
362
  - app/assets/javascripts/lit/application.js
347
- - app/assets/javascripts/lit/bootstrap.js.coffee
348
- - app/assets/javascripts/lit/dashboard.js
349
- - app/assets/javascripts/lit/jquery-te-1.4.0.min.js
350
- - app/assets/javascripts/lit/localizations.js.coffee
363
+ - app/assets/javascripts/lit/backend/bootstrap.js.coffee
364
+ - app/assets/javascripts/lit/backend/dashboard.js
365
+ - app/assets/javascripts/lit/backend/jquery-te-1.4.0.min.js
366
+ - app/assets/javascripts/lit/backend/localizations.js.coffee
367
+ - app/assets/javascripts/lit/backend/sources.js.coffee
368
+ - app/assets/javascripts/lit/lit_frontend.js
369
+ - app/assets/javascripts/lit/mousetrap.js
351
370
  - app/assets/stylesheets/lit/application.css
352
- - app/assets/stylesheets/lit/dashboard.css
353
- - app/assets/stylesheets/lit/jquery-te-1.4.0.css.scss
371
+ - app/assets/stylesheets/lit/backend/jquery-te-1.4.0.css.scss
372
+ - app/assets/stylesheets/lit/lit_frontend.css
354
373
  - app/controllers/lit/api/v1/base_controller.rb
355
374
  - app/controllers/lit/api/v1/locales_controller.rb
356
375
  - app/controllers/lit/api/v1/localization_keys_controller.rb
357
376
  - app/controllers/lit/api/v1/localizations_controller.rb
358
377
  - app/controllers/lit/application_controller.rb
378
+ - app/controllers/lit/concerns/request_info_store.rb
379
+ - app/controllers/lit/concerns/request_keys_store.rb
359
380
  - app/controllers/lit/dashboard_controller.rb
360
381
  - app/controllers/lit/incomming_localizations_controller.rb
361
382
  - app/controllers/lit/locales_controller.rb
@@ -364,8 +385,11 @@ files:
364
385
  - app/controllers/lit/sources_controller.rb
365
386
  - app/helpers/lit/application_helper.rb
366
387
  - app/helpers/lit/dashboard_helper.rb
388
+ - app/helpers/lit/frontend_helper.rb
389
+ - app/helpers/lit/localization_keys_helper.rb
367
390
  - app/helpers/lit/localizations_helper.rb
368
391
  - app/helpers/lit/sources_helper.rb
392
+ - app/jobs/lit/synchronize_source_job.rb
369
393
  - app/models/lit/incomming_localization.rb
370
394
  - app/models/lit/locale.rb
371
395
  - app/models/lit/localization.rb
@@ -403,16 +427,16 @@ files:
403
427
  - app/views/lit/sources/index.html.erb
404
428
  - app/views/lit/sources/new.html.erb
405
429
  - app/views/lit/sources/show.html.erb
406
- - config/database.yml
407
430
  - config/routes.rb
408
- - db/migrate/20121103144612_create_lit_locales.rb
409
- - db/migrate/20121103174049_create_lit_localization_keys.rb
410
- - db/migrate/20121103182106_create_lit_localizations.rb
411
- - db/migrate/20121225112100_add_is_completed_and_is_starred_to_localization_keys.rb
412
- - db/migrate/20130511111904_add_is_hidden_to_locales.rb
413
- - db/migrate/20130921071304_create_lit_localization_versions.rb
414
- - db/migrate/20130923162141_create_lit_sources.rb
415
- - db/migrate/20130924151910_create_lit_incomming_localizations.rb
431
+ - db/migrate/20180101010101_lit_create_lit_locales.rb
432
+ - db/migrate/20180101010102_lit_create_lit_localization_keys.rb
433
+ - db/migrate/20180101010103_lit_create_lit_localizations.rb
434
+ - db/migrate/20180101010104_lit_add_is_completed_and_is_starred_to_localization_keys.rb
435
+ - db/migrate/20180101010105_lit_add_is_hidden_to_locales.rb
436
+ - db/migrate/20180101010106_lit_create_lit_localization_versions.rb
437
+ - db/migrate/20180101010107_lit_create_lit_sources.rb
438
+ - db/migrate/20180101010108_lit_create_lit_incomming_localizations.rb
439
+ - db/migrate/20180101010109_lit_add_sync_complete_to_lit_sources.rb
416
440
  - lib/generators/lit/install/templates/initializer.rb
417
441
  - lib/generators/lit/install_generator.rb
418
442
  - lib/lit.rb
@@ -436,17 +460,17 @@ require_paths:
436
460
  - lib
437
461
  required_ruby_version: !ruby/object:Gem::Requirement
438
462
  requirements:
439
- - - ! '>='
463
+ - - ">="
440
464
  - !ruby/object:Gem::Version
441
465
  version: '0'
442
466
  required_rubygems_version: !ruby/object:Gem::Requirement
443
467
  requirements:
444
- - - ! '>='
468
+ - - ">="
445
469
  - !ruby/object:Gem::Version
446
470
  version: '0'
447
471
  requirements: []
448
472
  rubyforge_project:
449
- rubygems_version: 2.4.8
473
+ rubygems_version: 2.6.13
450
474
  signing_key:
451
475
  specification_version: 4
452
476
  summary: Database powered i18n backend with web gui
@@ -1,4 +0,0 @@
1
- /*
2
- Place all the styles related to the matching controller here.
3
- They will automatically be included in application.css.
4
- */
@@ -1,8 +0,0 @@
1
- test:
2
- adapter: postgresql
3
- database: lit_test
4
- username: ebin
5
- password: ebin
6
- host: localhost
7
- pool: 5
8
- timeout: 5000