rapporteur 3.0.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NjZhNjRmZjgwNmMyZjAxMWMzNTAyYTZlYzYxNzI4NmI5ZDFkZWRiMQ==
4
+ MTAyZTdjMDkwMWE2NDczOTE5OTMxOGY2MTg0MDRlYTRmZGUyODQ3Yg==
5
5
  data.tar.gz: !binary |-
6
- Zjg4ZDViM2IwOTg3OTc3OWU5MmNkYTlmNjVhMjgxNDg5YWZlZWJiYg==
6
+ ODNkYzI0ZWVjN2E1MDc3MTIwZDQ0NTNlMTJjMmVmODNiNzlhMDRjMw==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- ODMxNTQ2ZjY1MjlmMTE1NDY2OTM3ZGZlYzIxMDY0MDE0ZGE3NDBhY2NmZWVl
10
- YjFlMWU2Zjg5ZmMwNDZhNjBmODc4YTFlMDNlODhmZDI2Yjg3MmEwNjRkOGFm
11
- ODkxZTM1MTJhMWJjMjI5NTU0MjU5ZWNlMzI1MmJkZjM0NjY0MzU=
9
+ NjBjOTBlYzU1NmU5ZDBhMzIxZjU1NTAxN2Q2NGZjNWY3YjU5YTVmNjliZGVj
10
+ YjkyY2IzOWIzMzRiYzQyM2RiZTU5MDQ2N2ZjZjhhZGI1OTM4YTg3YWQwMGMy
11
+ MWYwZWFmMTc3MDY4YmMyMWU2YTM2MGJlYzNlN2U4ZmJmNDZkNDU=
12
12
  data.tar.gz: !binary |-
13
- ZjU5MWUwNzA5YjYwNmE1OTc3NmQ1MTM0ZmYxMjNhYjdlN2NjY2JlMDYxODU1
14
- YWJkMWU4YmRmZmE3ODJhZWYyZmE1ZjIwOWU5MDBiNmEwMTNjMDI2MjIwNWRj
15
- YjU4MGU0ZmVmYTA5ODg4MzZlNzI5MjQwMGI0ODA2NTA5YjljZmE=
13
+ NmNjZGY0Y2YwOGVkYzMzYmQ1MmYwZWRhMjNhMTJjNTJhZjk2NTU2ZGM0ZTg0
14
+ NDk2NjdhNzg5YjJjZTE2NGY2ZDkxYThjYWJjMGEzODhjZGZiMjM2ZjE4MWM1
15
+ ODNhNGViZTFiMTU3YWU1YzllYzM1YWRmZDI1ZGYxNmE3NmFjNTQ=
data/CHANGELOG.md CHANGED
@@ -4,6 +4,11 @@
4
4
 
5
5
  * No significant changes.
6
6
 
7
+ ## [3.0.1][v3.0.1] / 2013-08-23
8
+
9
+ * Add back missing support for I18n interpolated values which was lost with the
10
+ customized message lists.
11
+
7
12
  ## [3.0.0][v3.0.0] / 2013-08-23
8
13
 
9
14
  * Fix/add Ruby 1.8 compatibility. Because this library was built to work with
@@ -72,7 +77,9 @@
72
77
  * Initial public release.
73
78
 
74
79
 
75
- [unreleased]: https://github.com/codeschool/rapporteur/compare/v2.1.0...master
80
+ [unreleased]: https://github.com/codeschool/rapporteur/compare/v3.0.1...master
81
+ [v3.0.1]: https://github.com/codeschool/rapporteur/compare/v3.0.0...v3.0.1
82
+ [v3.0.0]: https://github.com/codeschool/rapporteur/compare/v2.1.0...v3.0.0
76
83
  [v2.1.0]: https://github.com/codeschool/rapporteur/compare/v2.0.1...v2.1.0
77
84
  [v2.0.1]: https://github.com/codeschool/rapporteur/compare/v2.0.0...v2.0.1
78
85
  [v2.0.0]: https://github.com/codeschool/rapporteur/compare/v1.1.0...v2.0.0
@@ -90,21 +90,34 @@ module Rapporteur
90
90
  # is done with the pre-built checks. If you're using I18n, you'll need to
91
91
  # define `rapporteur.errors.<your key>.<your message>`.
92
92
  #
93
+ # name - A Symbol which indicates the attribute, name, or other identifier
94
+ # for the check being run.
95
+ # message - A String/Symbol/Proc to identify the message to provide in a
96
+ # check failure situation.
97
+ #
98
+ # A String is presented as given.
99
+ # A Symbol will attempt to translate through I18n or default to the String-form of the symbol.
100
+ # A Proc which will be called and the return value will be presented as returned.
101
+ # i18n_options - A Hash of options (likely variable key/value pairs) to
102
+ # pass to I18n during translation.
103
+ #
93
104
  # Examples
94
105
  #
95
106
  # checker.add_error(:you, "failed.")
96
107
  # checker.add_error(:using, :i18n_key_is_better)
108
+ # checker.add_error(:using, :i18n_with_variable, :custom_variable => 'pizza')
97
109
  #
98
110
  # en:
99
111
  # rapporteur:
100
112
  # errors:
101
113
  # using:
102
114
  # i18n_key_is_better: 'Look, localization!'
115
+ # i18n_with_variable: 'Look, %{custom_variable}!'
103
116
  #
104
117
  # Returns self.
105
118
  #
106
- def add_error(key, message, options={})
107
- @errors.add(key, message)
119
+ def add_error(name, message, i18n_options={})
120
+ @errors.add(name, message, i18n_options)
108
121
  self
109
122
  end
110
123
 
@@ -114,17 +127,24 @@ module Rapporteur
114
127
  # name - A String containing the name or identifier for your message. This
115
128
  # is unique and may be overriden by other checks using the name
116
129
  # message name key.
117
- # message - A String or Numeric for the value of the message.
130
+ #
131
+ # message - A String/Symbol/Proc containing the message to present to the
132
+ # user in a successful check sitaution.
133
+ #
134
+ # A String is presented as given.
135
+ # A Symbol will attempt to translate through I18n or default to the String-form of the symbol.
136
+ # A Proc which will be called and the return value will be presented as returned.
118
137
  #
119
138
  # Examples
120
139
  #
121
140
  # checker.add_message(:repository, 'git@github.com/user/repo.git')
122
141
  # checker.add_message(:load, 0.934)
142
+ # checker.add_message(:load, :too_high, :measurement => '0.934')
123
143
  #
124
144
  # Returns self.
125
145
  #
126
- def add_message(name, message)
127
- @messages.add(name, message)
146
+ def add_message(name, message, i18n_options={})
147
+ @messages.add(name, message, i18n_options)
128
148
  self
129
149
  end
130
150
 
@@ -45,17 +45,20 @@ module Rapporteur
45
45
  #
46
46
  # If a Proc is given, it is `.call`'d with no parameters. The
47
47
  # return value from the Proc is directly used for the message.
48
+ # i18n_options - A Hash of optional key/value pairs to pass to the I18n
49
+ # translator.
48
50
  #
49
51
  # Examples
50
52
  #
51
53
  # list.add(:time, '2013-08-23T12:34:00Z')
52
54
  # list.add(:time, :too_late)
55
+ # list.add(:time, :too_late, :time => 'midnight')
53
56
  # list.add(:time, lambda { Time.now.iso8601 })
54
57
  #
55
58
  # Returns the MessageList instance.
56
59
  #
57
- def add(attribute, message)
58
- @messages[attribute.to_sym].add(normalize_message(attribute, message))
60
+ def add(attribute, message, i18n_options = {})
61
+ @messages[attribute.to_sym].add(normalize_message(attribute, message, i18n_options))
59
62
  self
60
63
  end
61
64
 
@@ -108,17 +111,17 @@ module Rapporteur
108
111
  private
109
112
 
110
113
 
111
- def generate_message(key, type)
112
- I18n.translate(type, {
114
+ def generate_message(key, type, i18n_options)
115
+ I18n.translate(type, i18n_options.merge({
113
116
  :default => [type, type.to_s],
114
117
  :scope => [:rapporteur, @list_type, key]
115
- })
118
+ }))
116
119
  end
117
120
 
118
- def normalize_message(attribute, message)
121
+ def normalize_message(attribute, message, i18n_options)
119
122
  case message
120
123
  when Symbol
121
- generate_message(attribute, message)
124
+ generate_message(attribute, message, i18n_options)
122
125
  when Proc
123
126
  message.call
124
127
  else
@@ -1,3 +1,3 @@
1
1
  module Rapporteur
2
- VERSION = "3.0.0"
2
+ VERSION = "3.0.1"
3
3
  end
@@ -33,6 +33,12 @@ describe Rapporteur::MessageList do
33
33
  expect(list.full_messages).to include('test translated')
34
34
  end
35
35
 
36
+ it 'translates and adds recognized I18n keys with named parameters in the #full_messages' do
37
+ add_translation(:errors, :test, :i18n_message, 'translated %{language}')
38
+ list.add(:test, :i18n_message, :language => 'French')
39
+ expect(list.full_messages).to include('test translated French')
40
+ end
41
+
36
42
  it 'translates based on the initialized list type' do
37
43
  add_translation(:string, :test, :i18n_message, 'strings')
38
44
  add_translation(:messages, :test, :i18n_message, 'messages')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rapporteur
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Envy Labs