Sha256: f8dbdbbff47f1878b683f2c6d2240803c6457abb840c9cbebffa9916f02aad37

Contents?: true

Size: 1.41 KB

Versions: 31

Compression:

Stored size: 1.41 KB

Contents

#	This file is part of the "Utopia Framework" project, and is licensed under the GNU AGPLv3.
#	Copyright 2010 Samuel Williams. All rights reserved.
#	See <utopia.rb> for licensing details.

module Utopia
	module Middleware
		class Localization
			
			module Name
				def self.nonlocalized(resource_name, all_locales)
					resource_name = resource_name.split(".") unless resource_name.kind_of? Array

					# We either have a file extension or an existing locale
					if all_locales.include?(resource_name[-1])
						resource_name.delete_at(-1)
					elsif all_locales.include?(resource_name[-2])
						resource_name.delete_at(-2)
					end

					resource_name
				end

				def self.extract_locale(resource_name, all_locales)
					resource_name = resource_name.split(".") unless resource_name.kind_of? Array

					# We either have a file extension or an existing locale
					if all_locales.include?(resource_name[-1])
						return resource_name[-1]
					elsif all_locales.include?(resource_name[-2])
						return resource_name[-2]
					end
					
					return nil
				end

				def self.localized(resource_name, locale, all_locales)
					nonlocalized_name = nonlocalized(resource_name, all_locales)

					if locale == nil
						return nonlocalized_name
					end

					if nonlocalized_name.size == 1
						return nonlocalized_name.push(locale)
					else
						return nonlocalized_name.insert(-2, locale)
					end
				end
			end
			
		end
	end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
utopia-0.9.58 lib/utopia/middleware/localization/name.rb
utopia-0.9.57 lib/utopia/middleware/localization/name.rb
utopia-0.9.56 lib/utopia/middleware/localization/name.rb
utopia-0.9.55 lib/utopia/middleware/localization/name.rb
utopia-0.9.54 lib/utopia/middleware/localization/name.rb
utopia-0.9.53 lib/utopia/middleware/localization/name.rb
utopia-0.9.52 lib/utopia/middleware/localization/name.rb
utopia-0.9.51 lib/utopia/middleware/localization/name.rb
utopia-0.9.50 lib/utopia/middleware/localization/name.rb
utopia-0.9.49 lib/utopia/middleware/localization/name.rb
utopia-0.9.48 lib/utopia/middleware/localization/name.rb
utopia-0.9.47 lib/utopia/middleware/localization/name.rb
utopia-0.9.46 lib/utopia/middleware/localization/name.rb
utopia-0.9.45 lib/utopia/middleware/localization/name.rb
utopia-0.9.43 lib/utopia/middleware/localization/name.rb
utopia-0.9.42 lib/utopia/middleware/localization/name.rb
utopia-0.9.41 lib/utopia/middleware/localization/name.rb
utopia-0.9.40 lib/utopia/middleware/localization/name.rb
utopia-0.9.39 lib/utopia/middleware/localization/name.rb
utopia-0.9.38 lib/utopia/middleware/localization/name.rb