locale 2.0.3 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. data/ChangeLog +6 -0
  2. data/Rakefile +82 -80
  3. data/lib/locale/driver/jruby.rb +4 -10
  4. data/lib/locale/driver/win32.rb +25 -6
  5. data/lib/locale/tag/irregular.rb +1 -1
  6. data/lib/locale/version.rb +1 -1
  7. data/test/test_driver_jruby.rb +43 -0
  8. data/test/test_driver_win32.rb +65 -0
  9. data/test/test_tag.rb +181 -120
  10. metadata +4 -76
  11. data/benchmark/benchmark.rb +0 -34
  12. data/benchmark/benchmark_2.0.1.txt +0 -7
  13. data/doc/classes/Locale.html +0 -1244
  14. data/doc/classes/Locale/Driver.html +0 -374
  15. data/doc/classes/Locale/Driver/CGI.html +0 -536
  16. data/doc/classes/Locale/Driver/Env.html +0 -439
  17. data/doc/classes/Locale/Driver/JRuby.html +0 -389
  18. data/doc/classes/Locale/Driver/Posix.html +0 -430
  19. data/doc/classes/Locale/Driver/Win32.html +0 -398
  20. data/doc/classes/Locale/Driver/Win32Table.html +0 -355
  21. data/doc/classes/Locale/Info.html +0 -585
  22. data/doc/classes/Locale/Info/Language.html +0 -763
  23. data/doc/classes/Locale/Info/Region.html +0 -470
  24. data/doc/classes/Locale/Tag.html +0 -433
  25. data/doc/classes/Locale/Tag/Cldr.html +0 -523
  26. data/doc/classes/Locale/Tag/Common.html +0 -624
  27. data/doc/classes/Locale/Tag/Irregular.html +0 -423
  28. data/doc/classes/Locale/Tag/Posix.html +0 -612
  29. data/doc/classes/Locale/Tag/Rfc.html +0 -581
  30. data/doc/classes/Locale/Tag/Simple.html +0 -721
  31. data/doc/classes/Locale/TagList.html +0 -826
  32. data/doc/classes/Locale/Util.html +0 -506
  33. data/doc/classes/Locale/Util/Memoizable.html +0 -355
  34. data/doc/created.rid +0 -1
  35. data/doc/files/ChangeLog.html +0 -537
  36. data/doc/files/README_rdoc.html +0 -565
  37. data/doc/files/lib/locale/driver/cgi_rb.html +0 -341
  38. data/doc/files/lib/locale/driver/env_rb.html +0 -353
  39. data/doc/files/lib/locale/driver/jruby_rb.html +0 -353
  40. data/doc/files/lib/locale/driver/posix_rb.html +0 -341
  41. data/doc/files/lib/locale/driver/win32_rb.html +0 -348
  42. data/doc/files/lib/locale/driver/win32_table_rb.html +0 -341
  43. data/doc/files/lib/locale/info/language_rb.html +0 -352
  44. data/doc/files/lib/locale/info/region_rb.html +0 -352
  45. data/doc/files/lib/locale/info_rb.html +0 -353
  46. data/doc/files/lib/locale/tag/cldr_rb.html +0 -348
  47. data/doc/files/lib/locale/tag/common_rb.html +0 -348
  48. data/doc/files/lib/locale/tag/irregular_rb.html +0 -348
  49. data/doc/files/lib/locale/tag/posix_rb.html +0 -341
  50. data/doc/files/lib/locale/tag/rfc_rb.html +0 -348
  51. data/doc/files/lib/locale/tag/simple_rb.html +0 -348
  52. data/doc/files/lib/locale/tag_rb.html +0 -378
  53. data/doc/files/lib/locale/taglist_rb.html +0 -348
  54. data/doc/files/lib/locale/util/memoizable_rb.html +0 -359
  55. data/doc/files/lib/locale/version_rb.html +0 -341
  56. data/doc/files/lib/locale_rb.html +0 -363
  57. data/doc/fr_class_index.html +0 -22
  58. data/doc/fr_file_index.html +0 -23
  59. data/doc/fr_method_index.html +0 -99
  60. data/doc/index.html +0 -1
  61. data/doc/rdoc-style.css +0 -320
  62. data/lib/locale/util/memoizable.rb.20090328 +0 -96
  63. data/lib/locale/util/memoizable.rb.old +0 -91
  64. data/replace.rb +0 -21
  65. data/test.rb +0 -28
  66. data/test/test.rb +0 -7
  67. data/test/tmp.txt +0 -20
  68. data/test2.rb +0 -14
  69. data/test3.rb +0 -12
@@ -1,96 +0,0 @@
1
- # Refer from activesupport-2.2.0.
2
- # * Remove the dependecies to activesupport.
3
- # * change the key to hash value of args.
4
- # * Not Thread safe
5
- # * Add the clear method.
6
- module Locale
7
- module Util
8
- module Memoizable
9
- MEMOIZED_IVAR = Proc.new do |symbol|
10
- "#{symbol.to_s.sub(/\?\Z/, '_query').sub(/!\Z/, '_bang')}".to_sym
11
- end
12
-
13
- def self.included(base)
14
- mod = self
15
- base.class_eval do
16
- extend mod
17
- end
18
- end
19
-
20
- alias :freeze_without_memoizable :freeze #:nodoc:
21
- def freeze #:nodoc:
22
- unless frozen?
23
- @_memoized_ivars = {}
24
- freeze_without_memoizable
25
- end
26
- end
27
-
28
- # Clear memoized values.
29
- def clear
30
- @_memoized_ivars = {}
31
- end
32
-
33
- # Cache the result of the methods.
34
- #
35
- # include Memoizable
36
- # def foo
37
- # ......
38
- # end
39
- # def bar(a, b)
40
- # ......
41
- # end
42
- # memoize :foo, :bar(a, b)
43
- #
44
- # To clear cache, #clear_foo, #clear_bar is also defined.
45
- #
46
- # (NOTE) Consider to use this with huge objects to avoid memory leaks.
47
- def memoize(*symbols)
48
- memoize_impl(false, symbols)
49
- end
50
-
51
- # memoize with dup. A copy object is returned.
52
- def memoize_dup(*symbols)
53
- memoize_impl(true, symbols)
54
- end
55
-
56
- def memoize_impl(is_dup, *symbols) #:nodoc:
57
- symbols.each do |symbol|
58
- original_method = "_unmemoized_#{symbol}"
59
- memoized_ivar = MEMOIZED_IVAR.call(symbol)
60
-
61
- class_eval <<-EOS, __FILE__, __LINE__
62
- alias #{original_method} #{symbol}
63
- def #{symbol}(*args)
64
- _memoize(#{is_dup}, :#{memoized_ivar}, args.hash) do
65
- #{original_method}(*args)
66
- end
67
- end
68
- EOS
69
- end
70
- end
71
-
72
- def _memoize(is_dup, ivar, key) #:nodoc:
73
- @_memoized_ivars ||= {}
74
- @_memoized_ivars[ivar] ||= {}
75
-
76
- ret = @_memoized_ivars[ivar][key]
77
- unless ret
78
- ret = yield
79
- ret.freeze
80
- @_memoized_ivars[ivar][key] = ret
81
- end
82
-
83
- return ret unless is_dup
84
- if ret
85
- if ret.kind_of? Array
86
- ret.map{|v| v.dup}.dup
87
- else
88
- ret.dup
89
- end
90
- else
91
- nil
92
- end
93
- end
94
- end
95
- end
96
- end
@@ -1,91 +0,0 @@
1
- # Refer from activesupport-2.2.0.
2
- # * Remove the dependecies to activesupport.
3
- # * change the key to hash value of args.
4
- # * Not Thread safe
5
- # * Add the clear method.
6
- module Locale
7
- module Util
8
- module Memoizable
9
- MEMOIZED_IVAR = Proc.new do |klass, symbol|
10
- "#{klass.name.gsub(/::/, "_")}_#{symbol.to_s.sub(/\?\Z/, '_query').sub(/!\Z/, '_bang')}".to_sym
11
- end
12
-
13
- def self.included(base)
14
- mod = self
15
- base.class_eval do
16
- extend mod
17
- end
18
- end
19
-
20
- alias :freeze_without_memoizable :freeze #:nodoc:
21
- def freeze #:nodoc:
22
- unless frozen?
23
- @_memoized_ivars = {}
24
- freeze_without_memoizable
25
- end
26
- end
27
-
28
- # Clear memoized values.
29
- def clear
30
- @_memoized_ivars = {}
31
- end
32
-
33
- # Cache the result of the methods.
34
- #
35
- # include Memoizable
36
- # def foo
37
- # ......
38
- # end
39
- # def bar(a, b)
40
- # ......
41
- # end
42
- # memoize :foo, :bar(a, b)
43
- #
44
- # To clear cache, #clear_foo, #clear_bar is also defined.
45
- #
46
- # (NOTE) Consider to use this with huge objects to avoid memory leaks.
47
- def memoize(*symbols)
48
- memoize_impl(false, symbols)
49
- end
50
-
51
- # memoize with dup. A copy object is returned.
52
- def memoize_dup(*symbols)
53
- memoize_impl(true, symbols)
54
- end
55
-
56
- def memoize_impl(is_dup, *symbols) #:nodoc:
57
- symbols.each do |symbol|
58
- original_method = "_unmemoized_#{symbol}"
59
- memoized_ivar = MEMOIZED_IVAR.call(self, symbol)
60
-
61
- class_eval <<-EOS, __FILE__, __LINE__
62
- alias #{original_method} #{symbol}
63
- def #{symbol}(*args)
64
- @_memoized_ivars ||= {}
65
- @_memoized_ivars[:#{memoized_ivar}] ||= {}
66
-
67
- key = args.hash
68
-
69
- ret = @_memoized_ivars[:#{memoized_ivar}][key]
70
- print String(key) + "#{original_method}, #{memoized_ivar}" + ret.to_s + "\n"
71
- if ret
72
- p 1
73
- ret
74
- else
75
- p @_memoized_ivars
76
- p 222222222
77
- p "#{original_method}(*args).freeze"
78
- if "Locale_Tag_Common_to_s" == "#{memoized_ivar}"
79
- p @_memoized_ivars[:#{memoized_ivar}][key] = super.#{original_method}(*args).freeze
80
- else
81
- p 11111111111
82
- @_memoized_ivars[:#{memoized_ivar}][key] = #{original_method}(*args).freeze
83
- end
84
- end
85
- end
86
- EOS
87
- end
88
- end
89
- end
90
- end
91
- end
data/replace.rb DELETED
@@ -1,21 +0,0 @@
1
- Dir.glob("**/*") do |v|
2
- lines = []
3
- changed = false
4
- next if File.directory? v
5
- IO.foreach(v) {|line|
6
- if line =~ /mutoh(at|@)highway.ne.jp/
7
- lines << line.gsub(/mutoh( at |@)highway.ne.jp/, "mutomasa at gmail.com")
8
- changed = true
9
- else
10
- lines << line
11
- end
12
- }
13
- if changed
14
- out = open(v, "w")
15
- lines.each {|l|
16
- out.write l
17
- }
18
- out.close
19
- end
20
- end
21
-
data/test.rb DELETED
@@ -1,28 +0,0 @@
1
- require 'locale/util/memoizable'
2
-
3
- class Test
4
- include Locale::Util::Memoizable
5
- def set_test(a)
6
- p "set_test"
7
- @a = a
8
- end
9
- memoize :set_test
10
- def test
11
- @a
12
- end
13
- end
14
-
15
- class Test2 < Test
16
- def set_test(a)
17
- p "set_test2"
18
- @a = a
19
- end
20
- memoize :set_test
21
- end
22
-
23
-
24
- a = Test.new
25
- a.set_test(1)
26
- a.set_test(1)
27
- a.set_test(1)
28
- p a.test
data/test/test.rb DELETED
@@ -1,7 +0,0 @@
1
- $LOAD_PATH.unshift "../lib"
2
-
3
- require 'locale'
4
-
5
- p a = Locale::Tag::Rfc.parse("ja-JP-MOBILE")
6
-
7
- p a.to_posix
data/test/tmp.txt DELETED
@@ -1,20 +0,0 @@
1
- -581759920_unmemoized_parse, _parse
2
- {:_parse=>{}}
3
- 222222222
4
- "_unmemoized_parse(*args).freeze"
5
- 11111111111
6
- 0_unmemoized_inspect, Locale_Tag_Simple_inspect
7
- {:Locale_Tag_Simple_inspect=>{}}
8
- 222222222
9
- "_unmemoized_inspect(*args).freeze"
10
- 11111111111
11
- 0_unmemoized_to_s, Locale_Tag_Rfc_to_s
12
- {:Locale_Tag_Simple_inspect=>{}, :Locale_Tag_Rfc_to_s=>{}}
13
- 222222222
14
- "_unmemoized_to_s(*args).freeze"
15
- 11111111111
16
- "rfc.to_s, 1"
17
- 0_unmemoized_to_s, Locale_Tag_Common_to_s
18
- {:Locale_Tag_Common_to_s=>{}, :Locale_Tag_Simple_inspect=>{}, :Locale_Tag_Rfc_to_s=>{}}
19
- 222222222
20
- "_unmemoized_to_s(*args).freeze"
data/test2.rb DELETED
@@ -1,14 +0,0 @@
1
- class Test
2
- def test(a)
3
- @a = a
4
- end
5
- alias :test_new :test
6
- end
7
-
8
- class Test2 < Test
9
- def test(a)
10
- @a = a + 1
11
- end
12
- end
13
-
14
- p Test2.new.test_new(1)
data/test3.rb DELETED
@@ -1,12 +0,0 @@
1
- $:.insert(0, "lib")
2
- #require 'benchmark'
3
- require 'locale'
4
-
5
- #Benchmark.bm(18){|x|
6
- # x.report("bindtextdomain"){ 100000.times{|i|
7
- (0...100000).each {
8
- Locale.candidates
9
- # }
10
- # }
11
- }
12
-