Sha256: 486fcc6048342b601446a6e0bc22f5b4da942b10d39a557b7bce4a5daad62f70

Contents?: true

Size: 1014 Bytes

Versions: 5

Compression:

Stored size: 1014 Bytes

Contents

module Rich
  module I18n
    module Core
      module String
        module Inflections

          # -- start FIXME: these methods are also defined in rich_pluralization

          def upcase_first
            empty? ?
              self :
              self[0].chr.capitalize + self[1, size]
          end

          def cp_case(s)
            send((:downcase unless s.dup.downcase!) || (:upcase unless s.dup.upcase!) || (:upcase_first unless s.dup.upcase_first!) || :to_s)
          end

          def upcase_first!
            self == (result = upcase_first) ? nil : replace(result)
          end

          def cp_case!(s)
            self == (result = cp_case(s))   ? nil : replace(result)
          end

          # -- end

          def singularize!
            downcase == (result = singularize).downcase ? nil : replace(result)
          end

          def pluralize!
            downcase == (result = pluralize).downcase   ? nil : replace(result)
          end

        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rich_i18n-1.3.4 lib/rich/i18n/core/string/inflections.rb
rich_i18n-1.3.3 lib/rich/i18n/core/string/inflections.rb
rich_i18n-1.3.2 lib/rich/i18n/core/string/inflections.rb
rich_i18n-1.3.1 lib/rich/i18n/core/string/inflections.rb
rich_i18n-1.3.0 lib/rich/i18n/core/string/inflections.rb