Sha256: ee0f7ee7aad2a8360c01d2dbcabf1d931d81a4b99ee02a2cac8fcf16e0c9c79b
Contents?: true
Size: 1.94 KB
Versions: 4
Compression:
Stored size: 1.94 KB
Contents
require 'shoulda/matchers/util/word_wrap' module Shoulda module Matchers # @private module Util def self.deconstantize(path) if defined?(ActiveSupport::Inflector) && ActiveSupport::Inflector.respond_to?(:deconstantize) ActiveSupport::Inflector.deconstantize(path) else path.to_s[0...(path.to_s.rindex('::') || 0)] end end def self.safe_constantize(camel_cased_word) if defined?(ActiveSupport::Inflector) && ActiveSupport::Inflector.respond_to?(:safe_constantize) ActiveSupport::Inflector.safe_constantize(camel_cased_word) else begin camel_cased_word.constantize rescue NameError nil end end end def self.indent(string, width) indentation = ' ' * width string.split(/[\n\r]/).map { |line| indentation + line }.join("\n") end def self.a_or_an(next_word) if next_word =~ /\A[aeiou]/i "an #{next_word}" else "a #{next_word}" end end def self.inspect_value(value) "‹#{value.inspect}›" end def self.inspect_values(values) values.map { |value| inspect_value(value) } end def self.inspect_range(range) "#{inspect_value(range.first)} to #{inspect_value(range.last)}" end def self.dummy_value_for(column_type, array: false) if array [dummy_value_for(column_type, array: false)] else case column_type when :integer 0 when :date Date.new(2100, 1, 1) when :datetime, :timestamp DateTime.new(2100, 1, 1) when :time Time.new(2100, 1, 1) when :uuid SecureRandom.uuid when :boolean true else 'dummy value' end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems