Sha256: 6a1b430bddec111b840e70e99556c513effa2ba3db3a24344ef55de1be139209

Contents?: true

Size: 637 Bytes

Versions: 14

Compression:

Stored size: 637 Bytes

Contents

module DuckPuncher
  module Ducks
    module String
      def pluralize(count)
        "#{self}#{'s' if count != 1}"
      end unless method_defined?(:pluralize)

      def underscore
        gsub(/\B([A-Z])([a-z_0-9])/, '_\1\2').gsub('::', '/').downcase
      end unless method_defined?(:underscore)

      def to_boolean(strict = false)
        @boolean_map ||= begin
          truths, falsities = %w(true 1 yes y on), ['false', '0', 'no', 'n', 'off', '']
          ::Hash[truths.product([true]) + falsities.product([false])]
        end
        strict ? !downcase.in?(falsities) : !!@boolean_map[downcase]
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
duck_puncher-2.14.0 lib/duck_puncher/ducks/string.rb
duck_puncher-2.13.0 lib/duck_puncher/ducks/string.rb
duck_puncher-2.12.1 lib/duck_puncher/ducks/string.rb
duck_puncher-2.12.0 lib/duck_puncher/ducks/string.rb
duck_puncher-2.11.0 lib/duck_puncher/ducks/string.rb
duck_puncher-2.10.2 lib/duck_puncher/ducks/string.rb
duck_puncher-2.10.1 lib/duck_puncher/ducks/string.rb
duck_puncher-2.10.0 lib/duck_puncher/ducks/string.rb
duck_puncher-2.9.3 lib/duck_puncher/ducks/string.rb
duck_puncher-2.9.2 lib/duck_puncher/ducks/string.rb
duck_puncher-2.9.1 lib/duck_puncher/ducks/string.rb
duck_puncher-2.9.0 lib/duck_puncher/ducks/string.rb
duck_puncher-2.8.0 lib/duck_puncher/ducks/string.rb
duck_puncher-2.7.0 lib/duck_puncher/ducks/string.rb