locale 2.0.3 → 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
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
-