rs_russian 0.8.0 → 0.8.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: 80452e0a70379a3be0c00f012348d6758ff8f7ee
4
- data.tar.gz: 1cd940bfa860213f677628438a039a3a869ce7df
3
+ metadata.gz: 1115b061a56c17e49b2669ebed20e3e1c3204598
4
+ data.tar.gz: daac96ea23fb9044af33f4d1629daca1289e9d4e
5
5
  SHA512:
6
- metadata.gz: 26f60135a60b34914a3c202e2ab856507013b99e22c3a2e3d1527558a539f18c7b5ffc2304b08e24743b0b110b24e8499cae75885ab50dfd3f6ba7672406be8f
7
- data.tar.gz: 4c97a3aec46be40a4f6af5ea6c3f65a72036706c136d915fa9a35a4723d82418b5e284a7e134cd58428fe4b2400a89a7e6631ad13647c9a4fcf0588ad6bfad29
6
+ metadata.gz: 554ca6cc31d9403ddfd36c09eb5dd56785e706c95517c034a99ea716ac616f61d819d031eec5f735c57f570aeccaebbbbc052e222365a67a589eba6ba8143b5d
7
+ data.tar.gz: 4612f146f776c494ba2f4dba4526df6c50bf502667e36204de079153f9cfea5b88aab3fe2d370475932c3ce2049380fe87d67873709a7bfd8c1b775be6c98d72
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.1.2
1
+ 2.1.5
data/Gemfile.lock CHANGED
@@ -1,24 +1,25 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rs_russian (0.8.0)
4
+ rs_russian (0.8.1)
5
+ activesupport (>= 3.0.0, < 5.0.0)
5
6
  i18n (>= 0.6.0, < 0.8.0)
6
7
  unicode (~> 0.4.4)
7
8
 
8
9
  GEM
9
10
  remote: https://rubygems.org/
10
11
  specs:
11
- activesupport (4.1.5)
12
- i18n (~> 0.6, >= 0.6.9)
12
+ activesupport (4.2.0)
13
+ i18n (~> 0.7)
13
14
  json (~> 1.7, >= 1.7.7)
14
15
  minitest (~> 5.1)
15
- thread_safe (~> 0.1)
16
+ thread_safe (~> 0.3, >= 0.3.4)
16
17
  tzinfo (~> 1.1)
17
18
  diff-lcs (1.2.5)
18
- i18n (0.7.0.beta1)
19
+ i18n (0.7.0)
19
20
  json (1.8.1)
20
- minitest (5.4.0)
21
- rake (10.3.2)
21
+ minitest (5.5.0)
22
+ rake (10.4.2)
22
23
  rspec (2.99.0)
23
24
  rspec-core (~> 2.99.0)
24
25
  rspec-expectations (~> 2.99.0)
@@ -30,13 +31,12 @@ GEM
30
31
  thread_safe (0.3.4)
31
32
  tzinfo (1.2.2)
32
33
  thread_safe (~> 0.1)
33
- unicode (0.4.4.1)
34
+ unicode (0.4.4.2)
34
35
 
35
36
  PLATFORMS
36
37
  ruby
37
38
 
38
39
  DEPENDENCIES
39
- activesupport (>= 3.0.0, < 5.0.0)
40
40
  bundler (~> 1.7)
41
41
  rake
42
42
  rs_russian!
@@ -8,63 +8,41 @@ if defined?(ActiveModel::Errors)
8
8
  # Non-base messages are prefixed with the attribute name as usual UNLESS they begin with '^'
9
9
  # in which case the attribute name is omitted.
10
10
  # E.g. validates_acceptance_of :accepted_terms, :message => '^Please accept the terms of service'
11
- #
12
- # Переопределяет метод ActiveModel::Errors.full_messages. Сообщения об ошибках для атрибутов
13
- # теперь не имеют префикса с названием атрибута если в сообщении об ошибке первым символом указан "^".
14
- #
15
- # Так, например,
16
- #
17
- # validates_acceptance_of :accepted_terms, :message => 'нужно принять соглашение'
18
- #
19
- # даст сообщение
20
- #
21
- # Accepted terms нужно принять соглашение
22
- #
23
- # однако,
24
- #
25
- # validates_acceptance_of :accepted_terms, :message => '^Нужно принять соглашение'
26
- #
27
- # даст сообщение
28
- #
29
- # Нужно принять соглашение
30
- #
31
- #
32
- # Returns all the full error messages in an array.
33
- #
34
- # class Company
35
- # validates_presence_of :name, :address, :email
36
- # validates_length_of :name, :in => 5..30
37
- # end
38
- #
39
- # company = Company.create(:address => '123 First St.')
40
- # company.errors.full_messages # =>
41
- # ["Name is too short (minimum is 5 characters)", "Name can't be blank", "Address can't be blank"]
42
- def full_messages
43
- full_messages = []
44
-
45
- each do |attribute, messages|
46
- messages = Array.wrap(messages)
47
- next if messages.empty?
48
-
49
- if attribute == :base
50
- messages.each {|m| full_messages << m }
51
- else
52
- attr_name = attribute.to_s.gsub('.', '_').humanize
53
- attr_name = @base.class.human_attribute_name(attribute, :default => attr_name)
54
- options = { :attribute => attr_name, :default => "%{attribute} %{message}" }
55
-
56
- messages.each do |m|
57
- if m =~ /^\^/
58
- full_messages << m[1..-1]
11
+
12
+ def full_message(attribute, message)
13
+ return message if attribute == :base
14
+ attr_name = attribute.to_s.tr('.', '_').humanize
15
+ attr_name = @base.class.human_attribute_name(attribute, default: attr_name)
16
+
17
+ if message =~ /^\^/
18
+ message[1..-1]
19
+ else
20
+ I18n.t(:"errors.format", {
21
+ default: "%{attribute} %{message}",
22
+ attribute: attr_name,
23
+ message: message
24
+ })
25
+ end
26
+ end
27
+
28
+ def to_hash(full_messages = false)
29
+ if full_messages
30
+ self.messages.each_with_object({}) do |(attribute, array), messages|
31
+ messages[attribute] = array.map { |message| full_message(attribute, message) }
32
+ end
33
+ else
34
+ self.messages.dup.map do |k, vs|
35
+ m = vs.map do |v|
36
+ if v =~ /^\^/
37
+ v[1..-1]
59
38
  else
60
- full_messages << I18n.t(:"errors.format", options.merge(:message => m))
39
+ v
61
40
  end
62
41
  end
63
- end
42
+ {k => m}
43
+ end.reduce(:merge)
64
44
  end
65
-
66
- full_messages
67
45
  end
68
46
  end
69
47
  end
70
- end # if defined?
48
+ end
@@ -1,3 +1,3 @@
1
1
  module Russian
2
- VERSION = "0.8.0"
2
+ VERSION = "0.8.1"
3
3
  end
data/russian.gemspec CHANGED
@@ -20,9 +20,9 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency 'i18n', [">= 0.6.0", "< 0.8.0"]
22
22
  spec.add_dependency 'unicode', '~> 0.4.4'
23
+ spec.add_dependency 'activesupport', ['>= 3.0.0', '< 5.0.0']
23
24
 
24
25
  spec.add_development_dependency 'bundler', '~> 1.7'
25
26
  spec.add_development_dependency 'rake'
26
27
  spec.add_development_dependency 'rspec', '~> 2.14'
27
- spec.add_development_dependency 'activesupport', ['>= 3.0.0', '< 5.0.0']
28
28
  end
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.8.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - glebtv
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-08-20 00:00:00.000000000 Z
12
+ date: 2014-12-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: i18n
@@ -45,6 +45,26 @@ dependencies:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.4.4
48
+ - !ruby/object:Gem::Dependency
49
+ name: activesupport
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 3.0.0
55
+ - - "<"
56
+ - !ruby/object:Gem::Version
57
+ version: 5.0.0
58
+ type: :runtime
59
+ prerelease: false
60
+ version_requirements: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 3.0.0
65
+ - - "<"
66
+ - !ruby/object:Gem::Version
67
+ version: 5.0.0
48
68
  - !ruby/object:Gem::Dependency
49
69
  name: bundler
50
70
  requirement: !ruby/object:Gem::Requirement
@@ -87,26 +107,6 @@ dependencies:
87
107
  - - "~>"
88
108
  - !ruby/object:Gem::Version
89
109
  version: '2.14'
90
- - !ruby/object:Gem::Dependency
91
- name: activesupport
92
- requirement: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: 3.0.0
97
- - - "<"
98
- - !ruby/object:Gem::Version
99
- version: 5.0.0
100
- type: :development
101
- prerelease: false
102
- version_requirements: !ruby/object:Gem::Requirement
103
- requirements:
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: 3.0.0
107
- - - "<"
108
- - !ruby/object:Gem::Version
109
- version: 5.0.0
110
110
  description: Russian language support for Ruby and Rails
111
111
  email:
112
112
  - glebtv@gmail.com