rs_russian 0.9.1 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 248a411f86b214a401416342ea41e062cdb18153
4
- data.tar.gz: cb1b1ee82e4cdaa0eb7aa97e10e1b24e7035fe09
3
+ metadata.gz: f295ea63db240fb3c88171a84fb4fe382b06b15e
4
+ data.tar.gz: 964f4a1c737c49c9192e626dc51311c25cb19822
5
5
  SHA512:
6
- metadata.gz: c802ad863ed8023ba8819b4d1696fe5a83e3193fc93d491f69dbd99aa59037e983f50469a32104dd2f33c3d90bfb153829d54754f8c82b7e64e98a803ce3862d
7
- data.tar.gz: 3fc4bc908d5eee5f3fef505031eae07779c586f4ad7e259ca78f7e0b40c9f73686805bdc1783e4b4a8638c89373b03c09826ac8d36a49b9879fa8c6725a97d15
6
+ metadata.gz: fba8338eb610117b005814c079649d953fb8db53ced331a98e0775f9c9750358f35ef2be2e248bd49ed9e49fc694c8df8592741f2f1eab025990f45fbaecce3d
7
+ data.tar.gz: fd886e2f2b41ba97e584db222986ca9d59fc471947c61d8b0d172287272c7956a14f5c2753665f0ea5f2f645dac1c6939b7f25398db5a656aedecc2a3e95d285
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rs_russian (0.9.1)
4
+ rs_russian (0.9.2)
5
5
  activesupport (>= 3.0.0, < 5.0.0)
6
6
  i18n (>= 0.6.0, < 0.8.0)
7
7
  unicode (~> 0.4.4)
@@ -7,28 +7,28 @@
7
7
  :ru => {
8
8
  :date => {
9
9
  :abbr_day_names => lambda { |key, options|
10
- if options[:format] && options[:format] =~ Russian::LOCALIZE_STANDALONE_ABBR_DAY_NAMES_MATCH
10
+ if options[:format] && options[:format] =~ Russian::LOCALIZE_STANDALONE_ABBR_DAY_NAMES_MATCH && !Russian.force_standalone
11
11
  :'date.common_abbr_day_names'
12
12
  else
13
13
  :'date.standalone_abbr_day_names'
14
14
  end
15
15
  },
16
16
  :day_names => lambda { |key, options|
17
- if options[:format] && options[:format] =~ Russian::LOCALIZE_STANDALONE_DAY_NAMES_MATCH
17
+ if options[:format] && options[:format] =~ Russian::LOCALIZE_STANDALONE_DAY_NAMES_MATCH && !Russian.force_standalone
18
18
  :'date.standalone_day_names'
19
19
  else
20
20
  :'date.common_day_names'
21
21
  end
22
22
  },
23
23
  :abbr_month_names => lambda { |key, options|
24
- if options[:format] && options[:format] =~ Russian::LOCALIZE_ABBR_MONTH_NAMES_MATCH
24
+ if options[:format] && options[:format] =~ Russian::LOCALIZE_ABBR_MONTH_NAMES_MATCH && !Russian.force_standalone
25
25
  :'date.common_abbr_month_names'
26
26
  else
27
27
  :'date.standalone_abbr_month_names'
28
28
  end
29
29
  },
30
30
  :month_names => lambda { |key, options|
31
- if options[:format] && options[:format] =~ Russian::LOCALIZE_MONTH_NAMES_MATCH
31
+ if options[:format] && options[:format] =~ Russian::LOCALIZE_MONTH_NAMES_MATCH && !Russian.force_standalone
32
32
  :'date.common_month_names'
33
33
  else
34
34
  :'date.standalone_month_names'
@@ -0,0 +1,43 @@
1
+ require 'rails_admin/config/fields/types/datetime'
2
+
3
+ module RailsAdmin
4
+ module Config
5
+ module Fields
6
+ module Types
7
+ class Datetime < RailsAdmin::Config::Fields::Base
8
+ def parse_input(params)
9
+ str = params[name]
10
+ unless I18n.locale == :en
11
+ strftime_format.to_s.scan(/%[AaBbp]/) do |match|
12
+ case match
13
+ when '%B'
14
+ english = I18n.t('date.month_names', :locale => :en)[1..-1]
15
+ common_month_names = I18n.t('date.common_month_names')[1..-1]
16
+ common_month_names.each_with_index {|m, i| str = str.gsub(/#{m}/i, english[i]) }
17
+ when '%b'
18
+ english = I18n.t('date.abbr_month_names', :locale => :en)[1..-1]
19
+ common_abbr_month_names = I18n.t('date.common_abbr_month_names')[1..-1]
20
+ common_abbr_month_names.each_with_index {|m, i| str = str.gsub(/#{m}/i, english[i]) }
21
+ end
22
+ end
23
+ end
24
+ params[name] = parser.parse_string(str) if params[name]
25
+ end
26
+
27
+ register_instance_option :formatted_value do
28
+ ret = if time = (value || default_value)
29
+ opt = {format: strftime_format, standalone: true}
30
+ Russian.force_standalone = true
31
+ r = ::I18n.l(time, opt)
32
+ Russian.force_standalone = false
33
+ r
34
+ else
35
+ ''.html_safe
36
+ end
37
+ ret
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -1,3 +1,3 @@
1
1
  module Russian
2
- VERSION = "0.9.1"
2
+ VERSION = "0.9.2"
3
3
  end
data/lib/russian.rb CHANGED
@@ -18,6 +18,8 @@ module Russian
18
18
 
19
19
  autoload :Transliteration, 'transliteration'
20
20
 
21
+ cattr_accessor :force_standalone
22
+
21
23
  # Russian locale
22
24
  LOCALE = :'ru'
23
25
 
@@ -120,3 +122,7 @@ end
120
122
 
121
123
  Russian.init_i18n
122
124
 
125
+ if Object.const_defined?('RailsAdmin')
126
+ require 'rails_admin_datetime'
127
+ end
128
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rs_russian
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - glebtv
@@ -138,6 +138,7 @@ files:
138
138
  - lib/russian/locale/datetime.yml
139
139
  - lib/russian/locale/pluralization.rb
140
140
  - lib/russian/locale/transliterator.rb
141
+ - lib/russian/rails_admin_datetime.rb
141
142
  - lib/russian/russian_rails.rb
142
143
  - lib/russian/transliteration.rb
143
144
  - lib/russian/version.rb