idioma 0.1.0 → 0.1.1
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 +4 -4
- data/README.md +18 -8
- data/app/controllers/idioma/phrases_controller.rb +3 -3
- data/app/models/idioma/redis_backend.rb +27 -1
- data/app/views/idioma/phrases/index.html.haml +1 -5
- data/lib/idioma.rb +26 -1
- data/lib/idioma/version.rb +1 -1
- data/lib/tasks/idioma_tasks.rake +5 -0
- data/spec/dummy/log/development.log +428 -0
- data/spec/dummy/log/test.log +714 -0
- data/spec/models/redis_backend_spec.rb +47 -0
- metadata +22 -22
- data/spec/dummy/tmp/pids/server.pid +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36df0e8c9fc4729c1a3b35160b0ca48488f1ce4d
|
4
|
+
data.tar.gz: 3531cab5054df5ae098321d3d78aad6a95eb4b48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 571dd0934b36e5be2853d7fc6270b8885b6a482530c4f295b656b6797f677f712027ec5824769c9cfd68b8646ba9549f177f8fc691eaf3fc3203d77a3b5bab7c
|
7
|
+
data.tar.gz: 15970380e5411438a69d5c1190c331937204ce99bf743a9e95a59984824f8de6bfc89ece2d5b27b87617b91fcbf15b1e8680e409d5c66c9c12cd9f0f0536a2f1
|
data/README.md
CHANGED
@@ -55,15 +55,15 @@ end
|
|
55
55
|
```
|
56
56
|
|
57
57
|
### Configuration
|
58
|
-
Setting | Default | Description
|
59
|
-
------- | ------- | -----------
|
60
|
-
default_locale | :en | Used for showing the default translation (for translators to translate from) for a given phrase
|
61
|
-
locales | [:en] | Idioma will only import translations of locales in this list... ignoring the rest
|
62
|
-
ignore_keys | ["ransack", "simple_form"] | Gems sometimes bring their own phrases that you don't actually need translated
|
63
|
-
redis_backend | nil | Should be an I18n backend of a Redis store.
|
58
|
+
Setting | Default | Data Type | Description
|
59
|
+
------- | ------- | --------- | -----------
|
60
|
+
default_locale | :en | Symbol or lambda | Used for showing the default translation (for translators to translate from) for a given phrase
|
61
|
+
locales | [:en] | Array of symbols or lambda | Idioma will only import translations of locales in this list... ignoring the rest
|
62
|
+
ignore_keys | ["ransack", "simple_form"] | Array of strings | Gems sometimes bring their own phrases that you don't actually need translated
|
63
|
+
redis_backend | nil | I18n::Backend::KeyValue | Should be an I18n backend of a Redis store.
|
64
64
|
|
65
65
|
### Setup
|
66
|
-
Import the migrations into your application
|
66
|
+
Import the migrations into your application. These should be imported by default.
|
67
67
|
```
|
68
68
|
rake idioma:install:migrations
|
69
69
|
```
|
@@ -78,7 +78,7 @@ To duplicate all translations from a locale to a new locale (as untranslated).
|
|
78
78
|
rake idioma:duplicate_for_locales base_locale=en new_locale=es
|
79
79
|
```
|
80
80
|
|
81
|
-
###
|
81
|
+
### Examples
|
82
82
|
```ruby
|
83
83
|
$redis = Redis.new(:host => 'localhost', :port => 6379)
|
84
84
|
I18n.backend = I18n::Backend::KeyValue.new($redis)
|
@@ -89,3 +89,13 @@ Idioma.configure do |configure|
|
|
89
89
|
configure.redis_backend = I18n.backend
|
90
90
|
end
|
91
91
|
```
|
92
|
+
|
93
|
+
You can use procs for default_locale and locales options. If you'd like to query a database for these values.
|
94
|
+
```ruby
|
95
|
+
Idioma.configure do |configure|
|
96
|
+
configure.default_locale = :en
|
97
|
+
configure.locales = -> {
|
98
|
+
[:en, :es, :fr]
|
99
|
+
}
|
100
|
+
end
|
101
|
+
```
|
@@ -6,8 +6,8 @@ module Idioma
|
|
6
6
|
|
7
7
|
# GET /phrases
|
8
8
|
def index
|
9
|
-
params[:
|
10
|
-
scope = Phrase.where(locale: params[:
|
9
|
+
params[:locale_eq] ||= I18n.default_locale
|
10
|
+
scope = Phrase.where(locale: params[:locale_eq])
|
11
11
|
|
12
12
|
if params[:q].present?
|
13
13
|
scope = scope.where("i18n_key ilike ? OR i18n_value ilike ?", "%#{params[:q]}%", "%#{params[:q]}%")
|
@@ -55,7 +55,7 @@ module Idioma
|
|
55
55
|
respond_to do |format|
|
56
56
|
format.html {
|
57
57
|
if result
|
58
|
-
redirect_to [:edit, @phrase]
|
58
|
+
redirect_to [:edit, @phrase]
|
59
59
|
else
|
60
60
|
render :edit
|
61
61
|
end
|
@@ -15,8 +15,34 @@ module Idioma
|
|
15
15
|
# @param [Phrase] The Phrase to update or create
|
16
16
|
# @return [Boolean] Result of the store_translations command from the Redis backend (I18n::Backend)
|
17
17
|
def self.update_phrase(phrase)
|
18
|
+
value = self.parse_value(phrase.i18n_value)
|
19
|
+
|
18
20
|
Idioma.configuration.redis_backend.
|
19
|
-
store_translations(phrase.locale, {phrase.i18n_key =>
|
21
|
+
store_translations(phrase.locale, {phrase.i18n_key => value}, :escape => false)
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.integer?(input)
|
25
|
+
!!(input =~ /^-?\d+$/)
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.float?(input)
|
29
|
+
true if Float(input) rescue false
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.parse_value(value)
|
33
|
+
case
|
34
|
+
when (value =~ /^\[.*\]$/) || (value =~ /^\{.*\}$/)
|
35
|
+
eval(value)
|
36
|
+
when value == "nil"
|
37
|
+
nil
|
38
|
+
when self.integer?(value)
|
39
|
+
Integer(value)
|
40
|
+
when self.float?(value)
|
41
|
+
Float(value)
|
42
|
+
else
|
43
|
+
value
|
44
|
+
end
|
20
45
|
end
|
46
|
+
|
21
47
|
end
|
22
48
|
end
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
.highlight
|
12
12
|
= form_tag(phrases_path, method: :get, class: "form-inline search") do
|
13
|
-
= select_tag :
|
13
|
+
= select_tag :locale_eq, options_for_select(Idioma.configuration.locales, selected: params[:locale_eq]), class: "form-control"
|
14
14
|
= text_field_tag :q, params[:q], placeholder: t('idioma.key_value'), class: "form-control"
|
15
15
|
= submit_tag t('idioma.search'), class: "btn btn-default"
|
16
16
|
|
@@ -20,7 +20,6 @@
|
|
20
20
|
%th= t('idioma.locale')
|
21
21
|
%th= t('idioma.key')
|
22
22
|
%th= t('idioma.value')
|
23
|
-
%th
|
24
23
|
- @phrases.each do |phrase|
|
25
24
|
%tr
|
26
25
|
%td= phrase.locale
|
@@ -33,9 +32,6 @@
|
|
33
32
|
%br/
|
34
33
|
.form-group
|
35
34
|
%input.i18n_value.form-control.col-sm-12{id: "PhraseI18nValue#{phrase.id}", value: phrase.i18n_value, data: {url: phrase_url(phrase)}}
|
36
|
-
%td
|
37
|
-
- if phrase.untranslated?
|
38
|
-
%span.label.label-warning= t('idioma.untranslated')
|
39
35
|
|
40
36
|
= will_paginate @posts
|
41
37
|
|
data/lib/idioma.rb
CHANGED
@@ -3,19 +3,44 @@ require "idioma/engine"
|
|
3
3
|
module Idioma
|
4
4
|
|
5
5
|
class Configuration
|
6
|
-
|
6
|
+
attr_writer :locales, :default_locale
|
7
|
+
attr_accessor :default_locale, :ignore_keys, :redis_backend
|
7
8
|
|
8
9
|
def initialize
|
9
10
|
self.default_locale = :en
|
10
11
|
self.locales = [self.default_locale]
|
11
12
|
self.ignore_keys = ["ransack", "simple_form"]
|
12
13
|
end
|
14
|
+
|
15
|
+
def locales
|
16
|
+
proc_or_value(@locales)
|
17
|
+
end
|
18
|
+
|
19
|
+
def default_locale
|
20
|
+
proc_or_value(@default_locale)
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def proc_or_value(var)
|
26
|
+
case
|
27
|
+
when var.is_a?(Proc)
|
28
|
+
var.call
|
29
|
+
else
|
30
|
+
var
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
13
34
|
end
|
14
35
|
|
15
36
|
def self.configuration
|
16
37
|
@configuration ||= Configuration.new
|
17
38
|
end
|
18
39
|
|
40
|
+
def self.conf
|
41
|
+
self.configuration
|
42
|
+
end
|
43
|
+
|
19
44
|
def self.configure
|
20
45
|
yield(configuration) if block_given?
|
21
46
|
end
|
data/lib/idioma/version.rb
CHANGED
data/lib/tasks/idioma_tasks.rake
CHANGED
@@ -4,6 +4,11 @@ namespace :idioma do
|
|
4
4
|
Idioma::PhraseImporter.import_from_extraction
|
5
5
|
end
|
6
6
|
|
7
|
+
desc "Prime backend"
|
8
|
+
task :prime_backend => :environment do
|
9
|
+
Idioma::Phrase.prime_backend
|
10
|
+
end
|
11
|
+
|
7
12
|
# rake idioma:duplicate_for_locales base_locale=en new_locale=es
|
8
13
|
desc "Duplicate for locales"
|
9
14
|
task :duplicate_for_locales => :environment do
|
@@ -25635,3 +25635,431 @@ Processing by Idioma::PhrasesController#index as CSV
|
|
25635
25635
|
[1m[36mIdioma::Phrase Load (0.9ms)[0m [1mSELECT "idioma_phrases".* FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en' AND (i18n_key ilike '%errors%' OR i18n_value ilike '%errors%') ORDER BY "idioma_phrases"."id" ASC LIMIT 1000[0m
|
25636
25636
|
Rendered text template (0.0ms)
|
25637
25637
|
Completed 200 OK in 10ms (Views: 0.4ms | ActiveRecord: 0.9ms)
|
25638
|
+
|
25639
|
+
|
25640
|
+
Started GET "/" for 127.0.0.1 at 2014-11-17 09:09:23 -0500
|
25641
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.5ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
25642
|
+
Processing by Rails::WelcomeController#index as HTML
|
25643
|
+
Rendered /Users/lhalliday/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/railties-4.1.7/lib/rails/templates/rails/welcome/index.html.erb (2.4ms)
|
25644
|
+
Completed 200 OK in 11ms (Views: 10.4ms | ActiveRecord: 0.0ms)
|
25645
|
+
|
25646
|
+
|
25647
|
+
Started GET "/idioma" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25648
|
+
Processing by Idioma::PhrasesController#index as HTML
|
25649
|
+
[1m[35mIdioma::Phrase Load (1.0ms)[0m SELECT "idioma_phrases".* FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en' LIMIT 30 OFFSET 0
|
25650
|
+
[1m[36m (0.3ms)[0m [1mSELECT COUNT(*) FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en'[0m
|
25651
|
+
Rendered /Users/lhalliday/Sites/idioma/app/views/idioma/phrases/index.html.haml within layouts/idioma/application (101.2ms)
|
25652
|
+
Completed 200 OK in 340ms (Views: 329.4ms | ActiveRecord: 4.1ms)
|
25653
|
+
|
25654
|
+
|
25655
|
+
Started GET "/assets/idioma/forms.css?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25656
|
+
|
25657
|
+
|
25658
|
+
Started GET "/assets/idioma/phrases.css?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25659
|
+
|
25660
|
+
|
25661
|
+
Started GET "/assets/idioma/application.css?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25662
|
+
|
25663
|
+
|
25664
|
+
Started GET "/assets/idioma/phrases.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25665
|
+
|
25666
|
+
|
25667
|
+
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25668
|
+
|
25669
|
+
|
25670
|
+
Started GET "/assets/bootstrap/affix.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25671
|
+
|
25672
|
+
|
25673
|
+
Started GET "/assets/bootstrap/alert.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25674
|
+
|
25675
|
+
|
25676
|
+
Started GET "/assets/bootstrap/button.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25677
|
+
|
25678
|
+
|
25679
|
+
Started GET "/assets/bootstrap/carousel.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25680
|
+
|
25681
|
+
|
25682
|
+
Started GET "/assets/bootstrap/collapse.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25683
|
+
|
25684
|
+
|
25685
|
+
Started GET "/assets/bootstrap/dropdown.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25686
|
+
|
25687
|
+
|
25688
|
+
Started GET "/assets/bootstrap/tab.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25689
|
+
|
25690
|
+
|
25691
|
+
Started GET "/assets/bootstrap/transition.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25692
|
+
|
25693
|
+
|
25694
|
+
Started GET "/assets/bootstrap/scrollspy.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25695
|
+
|
25696
|
+
|
25697
|
+
Started GET "/assets/bootstrap/modal.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25698
|
+
|
25699
|
+
|
25700
|
+
Started GET "/assets/bootstrap/tooltip.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25701
|
+
|
25702
|
+
|
25703
|
+
Started GET "/assets/bootstrap/popover.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25704
|
+
|
25705
|
+
|
25706
|
+
Started GET "/assets/bootstrap-sprockets.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25707
|
+
|
25708
|
+
|
25709
|
+
Started GET "/assets/idioma/application.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25710
|
+
|
25711
|
+
|
25712
|
+
Started GET "/assets/bootstrap/glyphicons-halflings-regular.woff" for 127.0.0.1 at 2014-11-17 09:09:28 -0500
|
25713
|
+
|
25714
|
+
|
25715
|
+
Started GET "/idioma/phrases?utf8=%E2%9C%93&locale=en&q=date.formats&commit=Search" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25716
|
+
Processing by Idioma::PhrasesController#index as HTML
|
25717
|
+
Parameters: {"utf8"=>"✓", "locale"=>"en", "q"=>"date.formats", "commit"=>"Search"}
|
25718
|
+
[1m[35mIdioma::Phrase Load (1.6ms)[0m SELECT "idioma_phrases".* FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en' AND (i18n_key ilike '%date.formats%' OR i18n_value ilike '%date.formats%') LIMIT 30 OFFSET 0
|
25719
|
+
Rendered /Users/lhalliday/Sites/idioma/app/views/idioma/phrases/index.html.haml within layouts/idioma/application (8.9ms)
|
25720
|
+
Completed 200 OK in 94ms (Views: 91.5ms | ActiveRecord: 1.6ms)
|
25721
|
+
|
25722
|
+
|
25723
|
+
Started GET "/assets/idioma/forms.css?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25724
|
+
|
25725
|
+
|
25726
|
+
Started GET "/assets/idioma/application.css?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25727
|
+
|
25728
|
+
|
25729
|
+
Started GET "/assets/idioma/phrases.css?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25730
|
+
|
25731
|
+
|
25732
|
+
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25733
|
+
|
25734
|
+
|
25735
|
+
Started GET "/assets/bootstrap/affix.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25736
|
+
|
25737
|
+
|
25738
|
+
Started GET "/assets/idioma/phrases.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25739
|
+
|
25740
|
+
|
25741
|
+
Started GET "/assets/bootstrap/alert.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25742
|
+
|
25743
|
+
|
25744
|
+
Started GET "/assets/bootstrap/button.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25745
|
+
|
25746
|
+
|
25747
|
+
Started GET "/assets/bootstrap/carousel.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25748
|
+
|
25749
|
+
|
25750
|
+
Started GET "/assets/bootstrap/collapse.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25751
|
+
|
25752
|
+
|
25753
|
+
Started GET "/assets/bootstrap/dropdown.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25754
|
+
|
25755
|
+
|
25756
|
+
Started GET "/assets/bootstrap/tab.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25757
|
+
|
25758
|
+
|
25759
|
+
Started GET "/assets/bootstrap/transition.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25760
|
+
|
25761
|
+
|
25762
|
+
Started GET "/assets/bootstrap/scrollspy.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25763
|
+
|
25764
|
+
|
25765
|
+
Started GET "/assets/bootstrap/modal.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25766
|
+
|
25767
|
+
|
25768
|
+
Started GET "/assets/bootstrap/tooltip.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25769
|
+
|
25770
|
+
|
25771
|
+
Started GET "/assets/bootstrap/popover.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25772
|
+
|
25773
|
+
|
25774
|
+
Started GET "/assets/bootstrap-sprockets.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25775
|
+
|
25776
|
+
|
25777
|
+
Started GET "/assets/idioma/application.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25778
|
+
|
25779
|
+
|
25780
|
+
Started GET "/assets/bootstrap/glyphicons-halflings-regular.woff" for 127.0.0.1 at 2014-11-17 09:09:36 -0500
|
25781
|
+
|
25782
|
+
|
25783
|
+
Started GET "/idioma/phrases?utf8=%E2%9C%93&locale=en&q=&commit=Search" for 127.0.0.1 at 2014-11-17 09:09:44 -0500
|
25784
|
+
Processing by Idioma::PhrasesController#index as HTML
|
25785
|
+
Parameters: {"utf8"=>"✓", "locale"=>"en", "q"=>"", "commit"=>"Search"}
|
25786
|
+
[1m[36mIdioma::Phrase Load (0.5ms)[0m [1mSELECT "idioma_phrases".* FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en' LIMIT 30 OFFSET 0[0m
|
25787
|
+
[1m[35m (0.3ms)[0m SELECT COUNT(*) FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en'
|
25788
|
+
Rendered /Users/lhalliday/Sites/idioma/app/views/idioma/phrases/index.html.haml within layouts/idioma/application (17.2ms)
|
25789
|
+
Completed 200 OK in 104ms (Views: 102.9ms | ActiveRecord: 0.7ms)
|
25790
|
+
|
25791
|
+
|
25792
|
+
Started GET "/assets/idioma/forms.css?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25793
|
+
|
25794
|
+
|
25795
|
+
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25796
|
+
|
25797
|
+
|
25798
|
+
Started GET "/assets/idioma/phrases.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25799
|
+
|
25800
|
+
|
25801
|
+
Started GET "/assets/idioma/phrases.css?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25802
|
+
|
25803
|
+
|
25804
|
+
Started GET "/assets/idioma/application.css?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25805
|
+
|
25806
|
+
|
25807
|
+
Started GET "/assets/bootstrap/affix.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25808
|
+
|
25809
|
+
|
25810
|
+
Started GET "/assets/bootstrap/alert.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25811
|
+
|
25812
|
+
|
25813
|
+
Started GET "/assets/bootstrap/button.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25814
|
+
|
25815
|
+
|
25816
|
+
Started GET "/assets/bootstrap/carousel.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25817
|
+
|
25818
|
+
|
25819
|
+
Started GET "/assets/bootstrap/collapse.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25820
|
+
|
25821
|
+
|
25822
|
+
Started GET "/assets/bootstrap/dropdown.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25823
|
+
|
25824
|
+
|
25825
|
+
Started GET "/assets/bootstrap/tab.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25826
|
+
|
25827
|
+
|
25828
|
+
Started GET "/assets/bootstrap/transition.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25829
|
+
|
25830
|
+
|
25831
|
+
Started GET "/assets/bootstrap/scrollspy.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25832
|
+
|
25833
|
+
|
25834
|
+
Started GET "/assets/bootstrap/modal.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25835
|
+
|
25836
|
+
|
25837
|
+
Started GET "/assets/bootstrap/tooltip.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25838
|
+
|
25839
|
+
|
25840
|
+
Started GET "/assets/bootstrap/popover.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25841
|
+
|
25842
|
+
|
25843
|
+
Started GET "/assets/bootstrap-sprockets.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25844
|
+
|
25845
|
+
|
25846
|
+
Started GET "/assets/idioma/application.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25847
|
+
|
25848
|
+
|
25849
|
+
Started GET "/assets/bootstrap/glyphicons-halflings-regular.woff" for 127.0.0.1 at 2014-11-17 09:09:45 -0500
|
25850
|
+
|
25851
|
+
|
25852
|
+
Started GET "/idioma/phrases?utf8=%E2%9C%93&locale=en&q=idioma&commit=Search" for 127.0.0.1 at 2014-11-17 09:09:47 -0500
|
25853
|
+
Processing by Idioma::PhrasesController#index as HTML
|
25854
|
+
Parameters: {"utf8"=>"✓", "locale"=>"en", "q"=>"idioma", "commit"=>"Search"}
|
25855
|
+
[1m[36mIdioma::Phrase Load (0.9ms)[0m [1mSELECT "idioma_phrases".* FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en' AND (i18n_key ilike '%idioma%' OR i18n_value ilike '%idioma%') LIMIT 30 OFFSET 0[0m
|
25856
|
+
Rendered /Users/lhalliday/Sites/idioma/app/views/idioma/phrases/index.html.haml within layouts/idioma/application (12.3ms)
|
25857
|
+
Completed 200 OK in 99ms (Views: 97.7ms | ActiveRecord: 0.9ms)
|
25858
|
+
|
25859
|
+
|
25860
|
+
Started GET "/assets/idioma/forms.css?body=1" for 127.0.0.1 at 2014-11-17 09:09:47 -0500
|
25861
|
+
|
25862
|
+
|
25863
|
+
Started GET "/assets/idioma/phrases.css?body=1" for 127.0.0.1 at 2014-11-17 09:09:47 -0500
|
25864
|
+
|
25865
|
+
|
25866
|
+
Started GET "/assets/idioma/phrases.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:47 -0500
|
25867
|
+
|
25868
|
+
|
25869
|
+
Started GET "/assets/idioma/application.css?body=1" for 127.0.0.1 at 2014-11-17 09:09:47 -0500
|
25870
|
+
|
25871
|
+
|
25872
|
+
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:47 -0500
|
25873
|
+
|
25874
|
+
|
25875
|
+
Started GET "/assets/bootstrap/affix.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:47 -0500
|
25876
|
+
|
25877
|
+
|
25878
|
+
Started GET "/assets/bootstrap/alert.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:47 -0500
|
25879
|
+
|
25880
|
+
|
25881
|
+
Started GET "/assets/bootstrap/button.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:47 -0500
|
25882
|
+
|
25883
|
+
|
25884
|
+
Started GET "/assets/bootstrap/carousel.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:47 -0500
|
25885
|
+
|
25886
|
+
|
25887
|
+
Started GET "/assets/bootstrap/collapse.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:47 -0500
|
25888
|
+
|
25889
|
+
|
25890
|
+
Started GET "/assets/bootstrap/dropdown.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:48 -0500
|
25891
|
+
|
25892
|
+
|
25893
|
+
Started GET "/assets/bootstrap/tab.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:48 -0500
|
25894
|
+
|
25895
|
+
|
25896
|
+
Started GET "/assets/bootstrap/transition.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:48 -0500
|
25897
|
+
|
25898
|
+
|
25899
|
+
Started GET "/assets/bootstrap/scrollspy.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:48 -0500
|
25900
|
+
|
25901
|
+
|
25902
|
+
Started GET "/assets/bootstrap/modal.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:48 -0500
|
25903
|
+
|
25904
|
+
|
25905
|
+
Started GET "/assets/bootstrap/tooltip.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:48 -0500
|
25906
|
+
|
25907
|
+
|
25908
|
+
Started GET "/assets/bootstrap/popover.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:48 -0500
|
25909
|
+
|
25910
|
+
|
25911
|
+
Started GET "/assets/bootstrap-sprockets.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:48 -0500
|
25912
|
+
|
25913
|
+
|
25914
|
+
Started GET "/assets/idioma/application.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:48 -0500
|
25915
|
+
|
25916
|
+
|
25917
|
+
Started GET "/assets/bootstrap/glyphicons-halflings-regular.woff" for 127.0.0.1 at 2014-11-17 09:09:48 -0500
|
25918
|
+
|
25919
|
+
|
25920
|
+
Started PUT "/idioma/phrases/123" for 127.0.0.1 at 2014-11-17 09:09:52 -0500
|
25921
|
+
Processing by Idioma::PhrasesController#update as JSON
|
25922
|
+
Parameters: {"phrase"=>{"i18n_value"=>"Find"}, "id"=>"123"}
|
25923
|
+
[1m[35mIdioma::Phrase Load (0.3ms)[0m SELECT "idioma_phrases".* FROM "idioma_phrases" WHERE "idioma_phrases"."id" = $1 LIMIT 1 [["id", 123]]
|
25924
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
25925
|
+
[1m[35mIdioma::Phrase Exists (0.7ms)[0m SELECT 1 AS one FROM "idioma_phrases" WHERE ("idioma_phrases"."i18n_key" = 'idioma.search' AND "idioma_phrases"."id" != 123 AND "idioma_phrases"."locale" = 'en') LIMIT 1
|
25926
|
+
[1m[36mSQL (4.7ms)[0m [1mUPDATE "idioma_phrases" SET "i18n_value" = $1, "updated_at" = $2 WHERE "idioma_phrases"."id" = 123[0m [["i18n_value", "Find"], ["updated_at", "2014-11-17 14:09:52.699666"]]
|
25927
|
+
[1m[35m (1.3ms)[0m COMMIT
|
25928
|
+
Completed 200 OK in 25ms (Views: 0.5ms | ActiveRecord: 7.3ms)
|
25929
|
+
|
25930
|
+
|
25931
|
+
Started GET "/idioma/phrases?utf8=%E2%9C%93&locale=en&q=idioma&commit=Search" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25932
|
+
Processing by Idioma::PhrasesController#index as HTML
|
25933
|
+
Parameters: {"utf8"=>"✓", "locale"=>"en", "q"=>"idioma", "commit"=>"Search"}
|
25934
|
+
[1m[36mIdioma::Phrase Load (1.2ms)[0m [1mSELECT "idioma_phrases".* FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en' AND (i18n_key ilike '%idioma%' OR i18n_value ilike '%idioma%') LIMIT 30 OFFSET 0[0m
|
25935
|
+
Rendered /Users/lhalliday/Sites/idioma/app/views/idioma/phrases/index.html.haml within layouts/idioma/application (11.0ms)
|
25936
|
+
Completed 200 OK in 102ms (Views: 100.3ms | ActiveRecord: 1.2ms)
|
25937
|
+
|
25938
|
+
|
25939
|
+
Started GET "/assets/idioma/forms.css?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25940
|
+
|
25941
|
+
|
25942
|
+
Started GET "/assets/idioma/phrases.css?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25943
|
+
|
25944
|
+
|
25945
|
+
Started GET "/assets/idioma/application.css?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25946
|
+
|
25947
|
+
|
25948
|
+
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25949
|
+
|
25950
|
+
|
25951
|
+
Started GET "/assets/idioma/phrases.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25952
|
+
|
25953
|
+
|
25954
|
+
Started GET "/assets/bootstrap/affix.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25955
|
+
|
25956
|
+
|
25957
|
+
Started GET "/assets/bootstrap/alert.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25958
|
+
|
25959
|
+
|
25960
|
+
Started GET "/assets/bootstrap/button.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25961
|
+
|
25962
|
+
|
25963
|
+
Started GET "/assets/bootstrap/carousel.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25964
|
+
|
25965
|
+
|
25966
|
+
Started GET "/assets/bootstrap/collapse.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25967
|
+
|
25968
|
+
|
25969
|
+
Started GET "/assets/bootstrap/dropdown.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25970
|
+
|
25971
|
+
|
25972
|
+
Started GET "/assets/bootstrap/tab.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25973
|
+
|
25974
|
+
|
25975
|
+
Started GET "/assets/bootstrap/transition.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25976
|
+
|
25977
|
+
|
25978
|
+
Started GET "/assets/bootstrap/scrollspy.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25979
|
+
|
25980
|
+
|
25981
|
+
Started GET "/assets/bootstrap/modal.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25982
|
+
|
25983
|
+
|
25984
|
+
Started GET "/assets/bootstrap/tooltip.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25985
|
+
|
25986
|
+
|
25987
|
+
Started GET "/assets/bootstrap/popover.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25988
|
+
|
25989
|
+
|
25990
|
+
Started GET "/assets/bootstrap-sprockets.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25991
|
+
|
25992
|
+
|
25993
|
+
Started GET "/assets/idioma/application.js?body=1" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25994
|
+
|
25995
|
+
|
25996
|
+
Started GET "/assets/bootstrap/glyphicons-halflings-regular.woff" for 127.0.0.1 at 2014-11-17 09:09:55 -0500
|
25997
|
+
|
25998
|
+
|
25999
|
+
Started GET "/idioma/phrases?utf8=%E2%9C%93&locale=en&q=&commit=Find" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26000
|
+
Processing by Idioma::PhrasesController#index as HTML
|
26001
|
+
Parameters: {"utf8"=>"✓", "locale"=>"en", "q"=>"", "commit"=>"Find"}
|
26002
|
+
[1m[35mIdioma::Phrase Load (0.5ms)[0m SELECT "idioma_phrases".* FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en' LIMIT 30 OFFSET 0
|
26003
|
+
[1m[36m (0.2ms)[0m [1mSELECT COUNT(*) FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en'[0m
|
26004
|
+
Rendered /Users/lhalliday/Sites/idioma/app/views/idioma/phrases/index.html.haml within layouts/idioma/application (21.5ms)
|
26005
|
+
Completed 200 OK in 107ms (Views: 105.9ms | ActiveRecord: 0.7ms)
|
26006
|
+
|
26007
|
+
|
26008
|
+
Started GET "/assets/idioma/forms.css?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26009
|
+
|
26010
|
+
|
26011
|
+
Started GET "/assets/idioma/application.css?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26012
|
+
|
26013
|
+
|
26014
|
+
Started GET "/assets/idioma/phrases.css?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26015
|
+
|
26016
|
+
|
26017
|
+
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26018
|
+
|
26019
|
+
|
26020
|
+
Started GET "/assets/bootstrap/alert.js?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26021
|
+
|
26022
|
+
|
26023
|
+
Started GET "/assets/idioma/phrases.js?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26024
|
+
|
26025
|
+
|
26026
|
+
Started GET "/assets/bootstrap/affix.js?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26027
|
+
|
26028
|
+
|
26029
|
+
Started GET "/assets/bootstrap/button.js?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26030
|
+
|
26031
|
+
|
26032
|
+
Started GET "/assets/bootstrap/carousel.js?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26033
|
+
|
26034
|
+
|
26035
|
+
Started GET "/assets/bootstrap/collapse.js?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26036
|
+
|
26037
|
+
|
26038
|
+
Started GET "/assets/bootstrap/dropdown.js?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26039
|
+
|
26040
|
+
|
26041
|
+
Started GET "/assets/bootstrap/tab.js?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26042
|
+
|
26043
|
+
|
26044
|
+
Started GET "/assets/bootstrap/transition.js?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26045
|
+
|
26046
|
+
|
26047
|
+
Started GET "/assets/bootstrap/scrollspy.js?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26048
|
+
|
26049
|
+
|
26050
|
+
Started GET "/assets/bootstrap/modal.js?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26051
|
+
|
26052
|
+
|
26053
|
+
Started GET "/assets/bootstrap/tooltip.js?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26054
|
+
|
26055
|
+
|
26056
|
+
Started GET "/assets/bootstrap/popover.js?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26057
|
+
|
26058
|
+
|
26059
|
+
Started GET "/assets/bootstrap-sprockets.js?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26060
|
+
|
26061
|
+
|
26062
|
+
Started GET "/assets/idioma/application.js?body=1" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|
26063
|
+
|
26064
|
+
|
26065
|
+
Started GET "/assets/bootstrap/glyphicons-halflings-regular.woff" for 127.0.0.1 at 2014-11-17 09:11:50 -0500
|