lib/remarkable/messages.rb in remarkable-3.1.8 vs lib/remarkable/messages.rb in remarkable-3.1.9
- old
+ new
@@ -1,103 +1,103 @@
-module Remarkable
- # Holds the methods required by rspec for each matcher plus a collection of
- # helpers to deal with I18n.
- #
- module Messages
-
- # Provides a default description message. Overwrite it if needed.
- # By default it uses default i18n options, but without the subjects, which
- # usually are not available when description is called.
- #
- def description(options={})
- options = default_i18n_options.merge(options)
-
- # Remove subject keys
- options.delete(:subject_name)
- options.delete(:subject_inspect)
-
- Remarkable.t 'description', options
- end
-
- # Provides a default failure message. Overwrite it if needed.
- #
- def failure_message_for_should
- Remarkable.t 'remarkable.core.failure_message_for_should', :expectation => @expectation
- end
- alias :failure_message :failure_message_for_should
-
- # Provides a default negative failure message. Overwrite it if needed.
- #
- def failure_message_for_should_not
- Remarkable.t 'remarkable.core.failure_message_for_should_not', :expectation => @expectation
- end
- alias :negative_failure_message :failure_message_for_should_not
-
- private
-
- # Returns the matcher scope in I18n.
- #
- # If the matcher is Remarkable::ActiveRecord::Matchers::ValidatePresenceOfMatcher
- # the default scope will be:
- #
- # 'remarkable.active_record.validate_presence_of'
- #
- def matcher_i18n_scope
- @matcher_i18n_scope ||= self.class.name.to_s.
- gsub(/::Matchers::/, '::').
- gsub(/::/, '.').
- gsub(/Matcher$/, '').
- gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
- gsub(/([a-z\d])([A-Z])/,'\1_\2').
- tr("-", "_").
- downcase
- end
-
- # Matcher i18n options used in description, failure_message and
- # negative_failure_message. It provides by default the subject_name and
- # the subject_inspect value. But when used with DSL, it provides a whole
- # bunch of options (check dsl/matches.rb for more information).
- #
- def default_i18n_options
- interpolation_options.update(
- :scope => matcher_i18n_scope,
- :subject_name => subject_name,
- :subject_inspect => @subject.inspect
- )
- end
-
- # Method to be overwritten if user wants to provide more interpolation
- # options to I18n.
- #
- def interpolation_options
- {}
- end
-
- # Returns the not word from I18n API.
- #
- def not_word
- Remarkable.t('remarkable.core.not', :default => 'not') + " "
- end
-
- # Converts an array to a sentence
- #
- def array_to_sentence(array, inspect=false, empty_default='')
- words_connector = Remarkable.t 'remarkable.core.helpers.words_connector'
- two_words_connector = Remarkable.t 'remarkable.core.helpers.two_words_connector'
- last_word_connector = Remarkable.t 'remarkable.core.helpers.last_word_connector'
-
- array = array.map { |i| i.inspect } if inspect
-
- case array.length
- when 0
- empty_default
- when 1
- array[0].to_s
- when 2
- "#{array[0]}#{two_words_connector}#{array[1]}"
- else
- "#{array[0...-1].join(words_connector)}#{last_word_connector}#{array[-1]}"
- end
- end
-
- end
-end
+module Remarkable
+ # Holds the methods required by rspec for each matcher plus a collection of
+ # helpers to deal with I18n.
+ #
+ module Messages
+
+ # Provides a default description message. Overwrite it if needed.
+ # By default it uses default i18n options, but without the subjects, which
+ # usually are not available when description is called.
+ #
+ def description(options={})
+ options = default_i18n_options.merge(options)
+
+ # Remove subject keys
+ options.delete(:subject_name)
+ options.delete(:subject_inspect)
+
+ Remarkable.t 'description', options
+ end
+
+ # Provides a default failure message. Overwrite it if needed.
+ #
+ def failure_message_for_should
+ Remarkable.t 'remarkable.core.failure_message_for_should', :expectation => @expectation
+ end
+ alias :failure_message :failure_message_for_should
+
+ # Provides a default negative failure message. Overwrite it if needed.
+ #
+ def failure_message_for_should_not
+ Remarkable.t 'remarkable.core.failure_message_for_should_not', :expectation => @expectation
+ end
+ alias :negative_failure_message :failure_message_for_should_not
+
+ private
+
+ # Returns the matcher scope in I18n.
+ #
+ # If the matcher is Remarkable::ActiveRecord::Matchers::ValidatePresenceOfMatcher
+ # the default scope will be:
+ #
+ # 'remarkable.active_record.validate_presence_of'
+ #
+ def matcher_i18n_scope
+ @matcher_i18n_scope ||= self.class.name.to_s.
+ gsub(/::Matchers::/, '::').
+ gsub(/::/, '.').
+ gsub(/Matcher$/, '').
+ gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
+ gsub(/([a-z\d])([A-Z])/,'\1_\2').
+ tr("-", "_").
+ downcase
+ end
+
+ # Matcher i18n options used in description, failure_message and
+ # negative_failure_message. It provides by default the subject_name and
+ # the subject_inspect value. But when used with DSL, it provides a whole
+ # bunch of options (check dsl/matches.rb for more information).
+ #
+ def default_i18n_options
+ interpolation_options.update(
+ :scope => matcher_i18n_scope,
+ :subject_name => subject_name,
+ :subject_inspect => @subject.inspect
+ )
+ end
+
+ # Method to be overwritten if user wants to provide more interpolation
+ # options to I18n.
+ #
+ def interpolation_options
+ {}
+ end
+
+ # Returns the not word from I18n API.
+ #
+ def not_word
+ Remarkable.t('remarkable.core.not', :default => 'not') + " "
+ end
+
+ # Converts an array to a sentence
+ #
+ def array_to_sentence(array, inspect=false, empty_default='')
+ words_connector = Remarkable.t 'remarkable.core.helpers.words_connector'
+ two_words_connector = Remarkable.t 'remarkable.core.helpers.two_words_connector'
+ last_word_connector = Remarkable.t 'remarkable.core.helpers.last_word_connector'
+
+ array = array.map { |i| i.inspect } if inspect
+
+ case array.length
+ when 0
+ empty_default
+ when 1
+ array[0].to_s
+ when 2
+ "#{array[0]}#{two_words_connector}#{array[1]}"
+ else
+ "#{array[0...-1].join(words_connector)}#{last_word_connector}#{array[-1]}"
+ end
+ end
+
+ end
+end