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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4297d3391e67e66042c2a6572edf9e8928bdd39a
4
- data.tar.gz: 3d9c1f1a8c2efb1b012a008a7ee12fb145543af5
3
+ metadata.gz: 36df0e8c9fc4729c1a3b35160b0ca48488f1ce4d
4
+ data.tar.gz: 3531cab5054df5ae098321d3d78aad6a95eb4b48
5
5
  SHA512:
6
- metadata.gz: 3c071cda64b47acf5fbb7653edb39c5bebe920a823dee0b28847120a5c1c584fc525ea2f1323d09349b888de58317d5b09bfa8a9a2a5547547b634b1942a3413
7
- data.tar.gz: 449f8cd93ddc4c1fac4a435d0b189ed9afe3f496c73d18b93957326f47bcc6cf6dbab74ef37fecb3bfb4542c33269b311589b98601a7064bbd5e575f1a8fa175
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
- ### Example
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[:locale] ||= I18n.default_locale
10
- scope = Phrase.where(locale: params[:locale])
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], flash: {success: t('idioma.record_updated')}
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 => phrase.i18n_value}, :escape => false)
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 :locale, options_for_select(Idioma.configuration.locales, selected: params[:locale]), class: "form-control"
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
- attr_accessor :default_locale, :locales, :ignore_keys, :redis_backend
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
@@ -1,3 +1,3 @@
1
1
  module Idioma
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -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
  Idioma::Phrase Load (0.9ms) SELECT "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
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
+ ActiveRecord::SchemaMigration Load (0.5ms) SELECT "schema_migrations".* FROM "schema_migrations"
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
+ Idioma::Phrase Load (1.0ms) SELECT "idioma_phrases".* FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en' LIMIT 30 OFFSET 0
25650
+  (0.3ms) SELECT COUNT(*) FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en'
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
+ Idioma::Phrase Load (1.6ms) 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
+ Idioma::Phrase Load (0.5ms) SELECT "idioma_phrases".* FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en' LIMIT 30 OFFSET 0
25787
+  (0.3ms) 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
+ Idioma::Phrase Load (0.9ms) SELECT "idioma_phrases".* FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en' AND (i18n_key ilike '%idioma%' OR i18n_value ilike '%idioma%') LIMIT 30 OFFSET 0
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
+ Idioma::Phrase Load (0.3ms) SELECT "idioma_phrases".* FROM "idioma_phrases" WHERE "idioma_phrases"."id" = $1 LIMIT 1 [["id", 123]]
25924
+  (0.1ms) BEGIN
25925
+ Idioma::Phrase Exists (0.7ms) 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
+ SQL (4.7ms) UPDATE "idioma_phrases" SET "i18n_value" = $1, "updated_at" = $2 WHERE "idioma_phrases"."id" = 123 [["i18n_value", "Find"], ["updated_at", "2014-11-17 14:09:52.699666"]]
25927
+  (1.3ms) 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
+ Idioma::Phrase Load (1.2ms) SELECT "idioma_phrases".* FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en' AND (i18n_key ilike '%idioma%' OR i18n_value ilike '%idioma%') LIMIT 30 OFFSET 0
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
+ Idioma::Phrase Load (0.5ms) SELECT "idioma_phrases".* FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en' LIMIT 30 OFFSET 0
26003
+  (0.2ms) SELECT COUNT(*) FROM "idioma_phrases" WHERE "idioma_phrases"."locale" = 'en'
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