activeldap 1.2.2 → 1.2.3

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 (241) hide show
  1. data/CHANGES +24 -0
  2. data/README +9 -3
  3. data/Rakefile +24 -50
  4. data/examples/al-admin/Rakefile +6 -0
  5. data/examples/al-admin/app/controllers/application_controller.rb +9 -2
  6. data/examples/al-admin/config/environment.rb +9 -3
  7. data/examples/al-admin/config/initializers/fast_gettext.rb +3 -0
  8. data/examples/al-admin/config/session_secret.txt +1 -1
  9. data/lib/active_ldap.rb +6 -19
  10. data/lib/active_ldap/adapter/base.rb +22 -20
  11. data/lib/active_ldap/adapter/jndi.rb +2 -3
  12. data/lib/active_ldap/adapter/jndi_connection.rb +2 -2
  13. data/lib/active_ldap/adapter/ldap.rb +9 -4
  14. data/lib/active_ldap/adapter/net_ldap.rb +5 -4
  15. data/lib/active_ldap/base.rb +1 -1
  16. data/lib/active_ldap/get_text.rb +2 -2
  17. data/lib/active_ldap/get_text_fallback.rb +39 -32
  18. data/lib/active_ldap/get_text_support.rb +4 -2
  19. data/lib/active_ldap/operations.rb +3 -2
  20. data/lib/active_ldap/validations.rb +11 -21
  21. data/po/en/active-ldap.po +9 -9
  22. data/po/ja/active-ldap.po +18 -18
  23. data/test/run-test.rb +7 -1
  24. data/test/test_adapter.rb +1 -0
  25. data/test/test_base.rb +8 -1
  26. data/test/test_load.rb +2 -1
  27. data/test/test_user.rb +3 -4
  28. data/test/test_validation.rb +20 -23
  29. metadata +34 -228
  30. data/data/locale/en/LC_MESSAGES/active-ldap.mo +0 -0
  31. data/data/locale/ja/LC_MESSAGES/active-ldap.mo +0 -0
  32. data/examples/al-admin/config/initializers/gettext.rb +0 -1
  33. data/examples/al-admin/lib/tasks/gettext.rake +0 -36
  34. data/examples/al-admin/locale/en/LC_MESSAGES/al-admin.mo +0 -0
  35. data/examples/al-admin/locale/ja/LC_MESSAGES/al-admin.mo +0 -0
  36. data/examples/al-admin/locale/nl/LC_MESSAGES/al-admin.mo +0 -0
  37. data/examples/al-admin/po/al-admin.pot +0 -344
  38. data/examples/al-admin/public/images/active-ldap.png +0 -0
  39. data/examples/al-admin/vendor/locale_rails/.gitignore +0 -6
  40. data/examples/al-admin/vendor/locale_rails/COPYING +0 -56
  41. data/examples/al-admin/vendor/locale_rails/ChangeLog +0 -35
  42. data/examples/al-admin/vendor/locale_rails/README.rdoc +0 -62
  43. data/examples/al-admin/vendor/locale_rails/Rakefile +0 -73
  44. data/examples/al-admin/vendor/locale_rails/lib/locale_rails.rb +0 -18
  45. data/examples/al-admin/vendor/locale_rails/lib/locale_rails/action_controller.rb +0 -15
  46. data/examples/al-admin/vendor/locale_rails/lib/locale_rails/action_controller/base.rb +0 -82
  47. data/examples/al-admin/vendor/locale_rails/lib/locale_rails/action_controller/caching.rb +0 -51
  48. data/examples/al-admin/vendor/locale_rails/lib/locale_rails/action_controller/test_process.rb +0 -44
  49. data/examples/al-admin/vendor/locale_rails/lib/locale_rails/action_view.rb +0 -53
  50. data/examples/al-admin/vendor/locale_rails/lib/locale_rails/i18n.rb +0 -67
  51. data/examples/al-admin/vendor/locale_rails/lib/locale_rails/version.rb +0 -4
  52. data/examples/al-admin/vendor/locale_rails/sample/README +0 -22
  53. data/examples/al-admin/vendor/locale_rails/sample/Rakefile +0 -10
  54. data/examples/al-admin/vendor/locale_rails/sample/app/controllers/application.rb +0 -42
  55. data/examples/al-admin/vendor/locale_rails/sample/app/controllers/samples_controller.rb +0 -30
  56. data/examples/al-admin/vendor/locale_rails/sample/app/helpers/application_helper.rb +0 -3
  57. data/examples/al-admin/vendor/locale_rails/sample/app/views/layouts/samples.html.erb +0 -20
  58. data/examples/al-admin/vendor/locale_rails/sample/app/views/samples/_part.html.erb +0 -68
  59. data/examples/al-admin/vendor/locale_rails/sample/app/views/samples/_part_nl.html.erb +0 -2
  60. data/examples/al-admin/vendor/locale_rails/sample/app/views/samples/cached_action.html.erb +0 -6
  61. data/examples/al-admin/vendor/locale_rails/sample/app/views/samples/index.html.erb +0 -33
  62. data/examples/al-admin/vendor/locale_rails/sample/app/views/samples/index.pt.html.erb +0 -16
  63. data/examples/al-admin/vendor/locale_rails/sample/app/views/samples/index_uz_UZ.html.erb +0 -16
  64. data/examples/al-admin/vendor/locale_rails/sample/config/boot.rb +0 -109
  65. data/examples/al-admin/vendor/locale_rails/sample/config/environment.rb +0 -25
  66. data/examples/al-admin/vendor/locale_rails/sample/config/environments/development.rb +0 -17
  67. data/examples/al-admin/vendor/locale_rails/sample/config/environments/production.rb +0 -24
  68. data/examples/al-admin/vendor/locale_rails/sample/config/environments/test.rb +0 -22
  69. data/examples/al-admin/vendor/locale_rails/sample/config/initializers/inflections.rb +0 -10
  70. data/examples/al-admin/vendor/locale_rails/sample/config/initializers/mime_types.rb +0 -5
  71. data/examples/al-admin/vendor/locale_rails/sample/config/initializers/new_rails_defaults.rb +0 -17
  72. data/examples/al-admin/vendor/locale_rails/sample/config/locales/en.yml +0 -2
  73. data/examples/al-admin/vendor/locale_rails/sample/config/locales/ja.yml +0 -2
  74. data/examples/al-admin/vendor/locale_rails/sample/config/routes.rb +0 -13
  75. data/examples/al-admin/vendor/locale_rails/sample/db/schema.rb +0 -10
  76. data/examples/al-admin/vendor/locale_rails/sample/public/404.html +0 -30
  77. data/examples/al-admin/vendor/locale_rails/sample/public/422.html +0 -30
  78. data/examples/al-admin/vendor/locale_rails/sample/public/500.html +0 -33
  79. data/examples/al-admin/vendor/locale_rails/sample/public/dispatch.cgi +0 -10
  80. data/examples/al-admin/vendor/locale_rails/sample/public/dispatch.fcgi +0 -24
  81. data/examples/al-admin/vendor/locale_rails/sample/public/dispatch.rb +0 -10
  82. data/examples/al-admin/vendor/locale_rails/sample/public/favicon.ico +0 -0
  83. data/examples/al-admin/vendor/locale_rails/sample/public/images/rails.png +0 -0
  84. data/examples/al-admin/vendor/locale_rails/sample/public/javascripts/application.js +0 -2
  85. data/examples/al-admin/vendor/locale_rails/sample/public/javascripts/controls.js +0 -963
  86. data/examples/al-admin/vendor/locale_rails/sample/public/javascripts/dragdrop.js +0 -972
  87. data/examples/al-admin/vendor/locale_rails/sample/public/javascripts/effects.js +0 -1120
  88. data/examples/al-admin/vendor/locale_rails/sample/public/javascripts/prototype.js +0 -4221
  89. data/examples/al-admin/vendor/locale_rails/sample/public/robots.txt +0 -5
  90. data/examples/al-admin/vendor/locale_rails/sample/public/stylesheets/locale.css +0 -81
  91. data/examples/al-admin/vendor/locale_rails/sample/public/stylesheets/scaffold.css +0 -74
  92. data/examples/al-admin/vendor/locale_rails/sample/script/about +0 -4
  93. data/examples/al-admin/vendor/locale_rails/sample/script/console +0 -3
  94. data/examples/al-admin/vendor/locale_rails/sample/script/dbconsole +0 -3
  95. data/examples/al-admin/vendor/locale_rails/sample/script/destroy +0 -3
  96. data/examples/al-admin/vendor/locale_rails/sample/script/generate +0 -3
  97. data/examples/al-admin/vendor/locale_rails/sample/script/performance/benchmarker +0 -3
  98. data/examples/al-admin/vendor/locale_rails/sample/script/performance/profiler +0 -3
  99. data/examples/al-admin/vendor/locale_rails/sample/script/performance/request +0 -3
  100. data/examples/al-admin/vendor/locale_rails/sample/script/plugin +0 -3
  101. data/examples/al-admin/vendor/locale_rails/sample/script/process/inspector +0 -3
  102. data/examples/al-admin/vendor/locale_rails/sample/script/process/reaper +0 -3
  103. data/examples/al-admin/vendor/locale_rails/sample/script/process/spawner +0 -3
  104. data/examples/al-admin/vendor/locale_rails/sample/script/runner +0 -3
  105. data/examples/al-admin/vendor/locale_rails/sample/script/server +0 -3
  106. data/examples/al-admin/vendor/locale_rails/sample/test/performance/browsing_test.rb +0 -9
  107. data/examples/al-admin/vendor/locale_rails/sample/test/test_helper.rb +0 -38
  108. data/examples/al-admin/vendor/locale_rails/test/README +0 -243
  109. data/examples/al-admin/vendor/locale_rails/test/Rakefile +0 -10
  110. data/examples/al-admin/vendor/locale_rails/test/app/controllers/application_controller.rb +0 -10
  111. data/examples/al-admin/vendor/locale_rails/test/app/controllers/articles_controller.rb +0 -17
  112. data/examples/al-admin/vendor/locale_rails/test/app/helpers/application_helper.rb +0 -3
  113. data/examples/al-admin/vendor/locale_rails/test/app/views/articles/index.html.erb +0 -1
  114. data/examples/al-admin/vendor/locale_rails/test/app/views/articles/index_de.html.erb +0 -1
  115. data/examples/al-admin/vendor/locale_rails/test/app/views/articles/index_fr_FR.html.erb +0 -1
  116. data/examples/al-admin/vendor/locale_rails/test/app/views/articles/index_ja.html.erb +0 -1
  117. data/examples/al-admin/vendor/locale_rails/test/app/views/articles/list.html.erb +0 -1
  118. data/examples/al-admin/vendor/locale_rails/test/app/views/articles/show.html.erb +0 -0
  119. data/examples/al-admin/vendor/locale_rails/test/app/views/articles/show.js.rjs +0 -0
  120. data/examples/al-admin/vendor/locale_rails/test/config/boot.rb +0 -110
  121. data/examples/al-admin/vendor/locale_rails/test/config/environment.rb +0 -42
  122. data/examples/al-admin/vendor/locale_rails/test/config/environments/development.rb +0 -17
  123. data/examples/al-admin/vendor/locale_rails/test/config/environments/production.rb +0 -28
  124. data/examples/al-admin/vendor/locale_rails/test/config/environments/test.rb +0 -35
  125. data/examples/al-admin/vendor/locale_rails/test/config/initializers/backtrace_silencers.rb +0 -7
  126. data/examples/al-admin/vendor/locale_rails/test/config/initializers/inflections.rb +0 -10
  127. data/examples/al-admin/vendor/locale_rails/test/config/initializers/mime_types.rb +0 -5
  128. data/examples/al-admin/vendor/locale_rails/test/config/initializers/new_rails_defaults.rb +0 -19
  129. data/examples/al-admin/vendor/locale_rails/test/config/initializers/session_store.rb +0 -15
  130. data/examples/al-admin/vendor/locale_rails/test/config/locales/en.yml +0 -5
  131. data/examples/al-admin/vendor/locale_rails/test/config/routes.rb +0 -46
  132. data/examples/al-admin/vendor/locale_rails/test/db/schema.rb +0 -0
  133. data/examples/al-admin/vendor/locale_rails/test/public/404.html +0 -30
  134. data/examples/al-admin/vendor/locale_rails/test/public/422.html +0 -30
  135. data/examples/al-admin/vendor/locale_rails/test/public/500.html +0 -30
  136. data/examples/al-admin/vendor/locale_rails/test/public/favicon.ico +0 -0
  137. data/examples/al-admin/vendor/locale_rails/test/public/images/rails.png +0 -0
  138. data/examples/al-admin/vendor/locale_rails/test/public/index.html +0 -275
  139. data/examples/al-admin/vendor/locale_rails/test/public/javascripts/application.js +0 -2
  140. data/examples/al-admin/vendor/locale_rails/test/public/javascripts/controls.js +0 -963
  141. data/examples/al-admin/vendor/locale_rails/test/public/javascripts/dragdrop.js +0 -973
  142. data/examples/al-admin/vendor/locale_rails/test/public/javascripts/effects.js +0 -1128
  143. data/examples/al-admin/vendor/locale_rails/test/public/javascripts/prototype.js +0 -4320
  144. data/examples/al-admin/vendor/locale_rails/test/public/robots.txt +0 -5
  145. data/examples/al-admin/vendor/locale_rails/test/script/about +0 -4
  146. data/examples/al-admin/vendor/locale_rails/test/script/console +0 -3
  147. data/examples/al-admin/vendor/locale_rails/test/script/dbconsole +0 -3
  148. data/examples/al-admin/vendor/locale_rails/test/script/destroy +0 -3
  149. data/examples/al-admin/vendor/locale_rails/test/script/generate +0 -3
  150. data/examples/al-admin/vendor/locale_rails/test/script/performance/benchmarker +0 -3
  151. data/examples/al-admin/vendor/locale_rails/test/script/performance/profiler +0 -3
  152. data/examples/al-admin/vendor/locale_rails/test/script/plugin +0 -3
  153. data/examples/al-admin/vendor/locale_rails/test/script/runner +0 -3
  154. data/examples/al-admin/vendor/locale_rails/test/script/server +0 -3
  155. data/examples/al-admin/vendor/locale_rails/test/test/functional/articles_controller_test.rb +0 -161
  156. data/examples/al-admin/vendor/locale_rails/test/test/performance/browsing_test.rb +0 -9
  157. data/examples/al-admin/vendor/locale_rails/test/test/test_helper.rb +0 -38
  158. data/po/active-ldap.pot +0 -4010
  159. data/test-unit/COPYING +0 -56
  160. data/test-unit/GPL +0 -340
  161. data/test-unit/History.txt +0 -223
  162. data/test-unit/Manifest.txt +0 -87
  163. data/test-unit/PSFL +0 -271
  164. data/test-unit/README.txt +0 -60
  165. data/test-unit/Rakefile +0 -40
  166. data/test-unit/TODO +0 -5
  167. data/test-unit/bin/testrb +0 -5
  168. data/test-unit/images/color-diff.png +0 -0
  169. data/test-unit/lib/test/unit.rb +0 -328
  170. data/test-unit/lib/test/unit/assertionfailederror.rb +0 -25
  171. data/test-unit/lib/test/unit/assertions.rb +0 -1334
  172. data/test-unit/lib/test/unit/attribute.rb +0 -125
  173. data/test-unit/lib/test/unit/autorunner.rb +0 -360
  174. data/test-unit/lib/test/unit/collector.rb +0 -36
  175. data/test-unit/lib/test/unit/collector/descendant.rb +0 -23
  176. data/test-unit/lib/test/unit/collector/dir.rb +0 -108
  177. data/test-unit/lib/test/unit/collector/load.rb +0 -144
  178. data/test-unit/lib/test/unit/collector/objectspace.rb +0 -34
  179. data/test-unit/lib/test/unit/color-scheme.rb +0 -106
  180. data/test-unit/lib/test/unit/color.rb +0 -96
  181. data/test-unit/lib/test/unit/diff.rb +0 -740
  182. data/test-unit/lib/test/unit/error.rb +0 -130
  183. data/test-unit/lib/test/unit/exceptionhandler.rb +0 -39
  184. data/test-unit/lib/test/unit/failure.rb +0 -136
  185. data/test-unit/lib/test/unit/fixture.rb +0 -176
  186. data/test-unit/lib/test/unit/notification.rb +0 -129
  187. data/test-unit/lib/test/unit/omission.rb +0 -191
  188. data/test-unit/lib/test/unit/pending.rb +0 -150
  189. data/test-unit/lib/test/unit/priority.rb +0 -180
  190. data/test-unit/lib/test/unit/runner/console.rb +0 -52
  191. data/test-unit/lib/test/unit/runner/emacs.rb +0 -8
  192. data/test-unit/lib/test/unit/runner/tap.rb +0 -8
  193. data/test-unit/lib/test/unit/testcase.rb +0 -478
  194. data/test-unit/lib/test/unit/testresult.rb +0 -89
  195. data/test-unit/lib/test/unit/testsuite.rb +0 -110
  196. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +0 -14
  197. data/test-unit/lib/test/unit/ui/console/testrunner.rb +0 -466
  198. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +0 -63
  199. data/test-unit/lib/test/unit/ui/tap/testrunner.rb +0 -92
  200. data/test-unit/lib/test/unit/ui/testrunner.rb +0 -28
  201. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +0 -77
  202. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +0 -41
  203. data/test-unit/lib/test/unit/util/backtracefilter.rb +0 -42
  204. data/test-unit/lib/test/unit/util/method-owner-finder.rb +0 -28
  205. data/test-unit/lib/test/unit/util/observable.rb +0 -90
  206. data/test-unit/lib/test/unit/util/output.rb +0 -31
  207. data/test-unit/lib/test/unit/util/procwrapper.rb +0 -48
  208. data/test-unit/lib/test/unit/version.rb +0 -7
  209. data/test-unit/sample/adder.rb +0 -13
  210. data/test-unit/sample/subtracter.rb +0 -12
  211. data/test-unit/sample/test_adder.rb +0 -20
  212. data/test-unit/sample/test_subtracter.rb +0 -20
  213. data/test-unit/sample/test_user.rb +0 -23
  214. data/test-unit/test/collector/test-descendant.rb +0 -133
  215. data/test-unit/test/collector/test-load.rb +0 -442
  216. data/test-unit/test/collector/test_dir.rb +0 -406
  217. data/test-unit/test/collector/test_objectspace.rb +0 -100
  218. data/test-unit/test/run-test.rb +0 -15
  219. data/test-unit/test/test-attribute.rb +0 -86
  220. data/test-unit/test/test-color-scheme.rb +0 -69
  221. data/test-unit/test/test-color.rb +0 -47
  222. data/test-unit/test/test-diff.rb +0 -518
  223. data/test-unit/test/test-emacs-runner.rb +0 -60
  224. data/test-unit/test/test-fixture.rb +0 -287
  225. data/test-unit/test/test-notification.rb +0 -33
  226. data/test-unit/test/test-omission.rb +0 -81
  227. data/test-unit/test/test-pending.rb +0 -70
  228. data/test-unit/test/test-priority.rb +0 -119
  229. data/test-unit/test/test-testcase.rb +0 -544
  230. data/test-unit/test/test_assertions.rb +0 -1197
  231. data/test-unit/test/test_error.rb +0 -26
  232. data/test-unit/test/test_failure.rb +0 -33
  233. data/test-unit/test/test_testresult.rb +0 -113
  234. data/test-unit/test/test_testsuite.rb +0 -129
  235. data/test-unit/test/testunit-test-util.rb +0 -14
  236. data/test-unit/test/ui/test_testrunmediator.rb +0 -20
  237. data/test-unit/test/util/test-method-owner-finder.rb +0 -38
  238. data/test-unit/test/util/test-output.rb +0 -11
  239. data/test-unit/test/util/test_backtracefilter.rb +0 -41
  240. data/test-unit/test/util/test_observable.rb +0 -102
  241. data/test-unit/test/util/test_procwrapper.rb +0 -36
@@ -62,8 +62,8 @@ module ActiveLdap
62
62
  end
63
63
  end
64
64
 
65
- def search(options={}, &block)
66
- super(options) do |base, scope, filter, attrs, limit, callback|
65
+ def search(options={})
66
+ super(options) do |base, scope, filter, attrs, limit|
67
67
  args = {
68
68
  :base => base,
69
69
  :scope => scope,
@@ -78,9 +78,10 @@ module ActiveLdap
78
78
  execute(:search, info, args) do |entry|
79
79
  attributes = {}
80
80
  entry.original_attribute_names.each do |name|
81
- attributes[name] = entry[name]
81
+ value = entry[name]
82
+ attributes[name] = value if value
82
83
  end
83
- callback.call([entry.dn, attributes], block)
84
+ yield([entry.dn, attributes])
84
85
  end
85
86
  end
86
87
  end
@@ -274,7 +274,7 @@ module ActiveLdap
274
274
  # by extension classes.
275
275
  class Base
276
276
  include GetTextSupport
277
- public :gettext
277
+ public :_
278
278
 
279
279
  if Object.const_defined?(:Reloadable)
280
280
  if Reloadable.const_defined?(:Deprecated)
@@ -1,5 +1,5 @@
1
- if Object.const_defined?(:GetText)
2
- ActiveLdap.const_set("GetText", GetText)
1
+ if Object.const_defined?(:FastGettext)
2
+ ActiveLdap.const_set("GetText", FastGettext)
3
3
  end
4
4
 
5
5
  unless ActiveLdap.const_defined?(:GetText)
@@ -1,52 +1,59 @@
1
1
  module ActiveLdap
2
2
  module GetTextFallback
3
- class << self
4
- def included(base)
5
- base.extend(self)
6
- end
3
+ module_function
4
+ def add_text_domain(name, options)
7
5
  end
8
6
 
9
7
  module_function
10
- def bindtextdomain(domain_name, *args)
8
+ def default_available_locales=(name)
11
9
  end
12
10
 
13
- def gettext(msg_id)
14
- msg_id
11
+ module_function
12
+ def default_text_domain=(name)
15
13
  end
16
14
 
17
- def ngettext(arg1, arg2, arg3=nil)
18
- if arg1.kind_of?(Array)
19
- msg_id = arg1[0]
20
- msg_id_plural = arg1[1]
21
- n = arg2
22
- else
23
- msg_id = arg1
24
- msg_id_plural = arg2
25
- n = arg3
15
+ module Translation
16
+ class << self
17
+ def included(base)
18
+ base.extend(self)
19
+ end
26
20
  end
27
- n == 1 ? msg_id : msg_id_plural
28
- end
29
21
 
30
- def N_(msg_id)
31
- msg_id
32
- end
22
+ def _(msg_id)
23
+ msg_id
24
+ end
33
25
 
34
- def Nn_(msg_id, msg_id_plural)
35
- [msg_id, msg_id_plural]
36
- end
26
+ def n_(arg1, arg2, arg3=nil)
27
+ if arg1.kind_of?(Array)
28
+ msg_id = arg1[0]
29
+ msg_id_plural = arg1[1]
30
+ n = arg2
31
+ else
32
+ msg_id = arg1
33
+ msg_id_plural = arg2
34
+ n = arg3
35
+ end
36
+ n == 1 ? msg_id : msg_id_plural
37
+ end
37
38
 
38
- def sgettext(msg_id, div='|')
39
- index = msg_id.rindex(div)
40
- if index
41
- msg_id[(index + 1)..-1]
42
- else
39
+ def N_(msg_id)
43
40
  msg_id
44
41
  end
42
+
43
+ def Nn_(msg_id, msg_id_plural)
44
+ [msg_id, msg_id_plural]
45
+ end
46
+
47
+ def s_(msg_id, div='|')
48
+ index = msg_id.rindex(div)
49
+ if index
50
+ msg_id[(index + 1)..-1]
51
+ else
52
+ msg_id
53
+ end
54
+ end
45
55
  end
46
56
 
47
- alias_method(:_, :gettext)
48
- alias_method(:n_, :ngettext)
49
- alias_method(:s_, :sgettext)
50
57
  end
51
58
 
52
59
  GetText = GetTextFallback
@@ -9,8 +9,10 @@ module ActiveLdap
9
9
  class << self
10
10
  def included(base)
11
11
  base.class_eval do
12
- include(GetText)
13
- bindtextdomain("active-ldap")
12
+ include(GetText::Translation)
13
+ GetText.add_text_domain('active-ldap',:path=>'po', :type=>:po)
14
+ GetText.default_available_locales = ['en', 'jp']
15
+ GetText.default_text_domain = "active-ldap"
14
16
  end
15
17
  end
16
18
  end
@@ -62,7 +62,8 @@ module ActiveLdap
62
62
  }
63
63
 
64
64
  options[:connection] ||= connection
65
- values = options[:connection].search(search_options) do |dn, attrs|
65
+ values = []
66
+ options[:connection].search(search_options) do |dn, attrs|
66
67
  attributes = {}
67
68
  attrs.each do |key, _value|
68
69
  normalized_attr, normalized_value =
@@ -70,7 +71,7 @@ module ActiveLdap
70
71
  attributes[normalized_attr] ||= []
71
72
  attributes[normalized_attr].concat(normalized_value)
72
73
  end
73
- [dn, attributes]
74
+ values << [dn, attributes]
74
75
  end
75
76
  values = values.collect {|_value| yield(_value)} if block_given?
76
77
  values
@@ -88,17 +88,7 @@ module ActiveLdap
88
88
 
89
89
  private
90
90
  def format_validation_message(format, parameters)
91
- if ActiveLdap.get_text_supported?
92
- if /\A(%\{fn\})/ =~ format
93
- place_holder = $1
94
- format = $POSTMATCH
95
- else
96
- place_holder = ""
97
- end
98
- "#{place_holder}#{format % parameters}"
99
- else
100
- format.sub(/\A%\{fn\} ?/, '') % parameters
101
- end
91
+ format % parameters
102
92
  end
103
93
 
104
94
  def validate_duplicated_dn_creation
@@ -109,7 +99,7 @@ module ActiveLdap
109
99
  return
110
100
  end
111
101
  if _dn and exist?
112
- format = _("%{fn} is duplicated: %s")
102
+ format = _("is duplicated: %s")
113
103
  message = format_validation_message(format, _dn)
114
104
  errors.add("distinguishedName", message)
115
105
  end
@@ -129,7 +119,7 @@ module ActiveLdap
129
119
  return
130
120
  end
131
121
  if _dn and exist?
132
- format = _("%{fn} is duplicated: %s")
122
+ format = _("is duplicated: %s")
133
123
  message = format_validation_message(format, _dn)
134
124
  errors.add("distinguishedName", message)
135
125
  end
@@ -138,11 +128,11 @@ module ActiveLdap
138
128
  def validate_dn
139
129
  dn
140
130
  rescue DistinguishedNameInvalid
141
- format = _("%{fn} is invalid: %s")
131
+ format = _("is invalid: %s")
142
132
  message = format_validation_message(format, $!.message)
143
133
  errors.add("distinguishedName", message)
144
134
  rescue DistinguishedNameNotSetError
145
- format = _("%{fn} isn't set: %s")
135
+ format = _("isn't set: %s")
146
136
  message = format_validation_message(format, $!.message)
147
137
  errors.add("distinguishedName", message)
148
138
  end
@@ -167,8 +157,8 @@ module ActiveLdap
167
157
  names = unexpected_classes.collect do |object_class|
168
158
  self.class.human_object_class_name(object_class)
169
159
  end
170
- format = n_("%{fn} has excluded value: %s",
171
- "%{fn} has excluded values: %s",
160
+ format = n_("has excluded value: %s",
161
+ "has excluded values: %s",
172
162
  names.size)
173
163
  message = format_validation_message(format, names.join(", "))
174
164
  errors.add("objectClass", message)
@@ -204,9 +194,9 @@ module ActiveLdap
204
194
  end
205
195
  args = [self.class.human_object_class_name(object_class)]
206
196
  if aliases.empty?
207
- format = _("%{fn} is required attribute by objectClass '%s'")
197
+ format = _("is required attribute by objectClass '%s'")
208
198
  else
209
- format = _("%{fn} is required attribute by objectClass " \
199
+ format = _("is required attribute by objectClass " \
210
200
  "'%s': aliases: %s")
211
201
  args << aliases.join(', ')
212
202
  end
@@ -236,9 +226,9 @@ module ActiveLdap
236
226
  self.class.human_syntax_description(attribute.syntax),
237
227
  failed_reason]
238
228
  if option
239
- format = _("%{fn}(%s) has invalid format: %s: required syntax: %s: %s")
229
+ format = _("(%s) has invalid format: %s: required syntax: %s: %s")
240
230
  else
241
- format = _("%{fn} has invalid format: %s: required syntax: %s: %s")
231
+ format = _("has invalid format: %s: required syntax: %s: %s")
242
232
  end
243
233
  params.unshift(option) if option
244
234
  message = format_validation_message(format, params)
@@ -3710,29 +3710,29 @@ msgid "%s isn't sub DN of %s"
3710
3710
  msgstr ""
3711
3711
 
3712
3712
  #: lib/active_ldap/validations.rb:97
3713
- msgid "%{fn} is duplicated: %s"
3713
+ msgid "is duplicated: %s"
3714
3714
  msgstr ""
3715
3715
 
3716
3716
  #: lib/active_ldap/validations.rb:108
3717
- msgid "%{fn} is invalid: %s"
3717
+ msgid "is invalid: %s"
3718
3718
  msgstr ""
3719
3719
 
3720
3720
  #: lib/active_ldap/validations.rb:112
3721
- msgid "%{fn} isn't set: %s"
3721
+ msgid "isn't set: %s"
3722
3722
  msgstr ""
3723
3723
 
3724
3724
  #: lib/active_ldap/validations.rb:134
3725
- msgid "%{fn} has excluded value: %s"
3726
- msgid_plural "%{fn} has excluded values: %s"
3725
+ msgid "has excluded value: %s"
3726
+ msgid_plural "has excluded values: %s"
3727
3727
  msgstr[0] ""
3728
3728
  msgstr[1] ""
3729
3729
 
3730
3730
  #: lib/active_ldap/validations.rb:169
3731
- msgid "%{fn} is required attribute by objectClass '%s'"
3731
+ msgid "is required attribute by objectClass '%s'"
3732
3732
  msgstr ""
3733
3733
 
3734
3734
  #: lib/active_ldap/validations.rb:171
3735
- msgid "%{fn} is required attribute by objectClass '%s': aliases: %s"
3735
+ msgid "is required attribute by objectClass '%s': aliases: %s"
3736
3736
  msgstr ""
3737
3737
 
3738
3738
  #: lib/active_ldap/validations.rb:195
@@ -3740,11 +3740,11 @@ msgid "<binary-value>"
3740
3740
  msgstr ""
3741
3741
 
3742
3742
  #: lib/active_ldap/validations.rb:203
3743
- msgid "%{fn}(%s) has invalid format: %s: required syntax: %s: %s"
3743
+ msgid "(%s) has invalid format: %s: required syntax: %s: %s"
3744
3744
  msgstr ""
3745
3745
 
3746
3746
  #: lib/active_ldap/validations.rb:205
3747
- msgid "%{fn} has invalid format: %s: required syntax: %s: %s"
3747
+ msgid "has invalid format: %s: required syntax: %s: %s"
3748
3748
  msgstr ""
3749
3749
 
3750
3750
  #: lib/active_ldap/command.rb:16
@@ -3727,42 +3727,42 @@ msgid "%s isn't sub DN of %s"
3727
3727
  msgstr "%sは%sのサブDNではありません"
3728
3728
 
3729
3729
  #: lib/active_ldap/validations.rb:97
3730
- msgid "%{fn} is duplicated: %s"
3731
- msgstr "%{fn}が重複しています: %s"
3730
+ msgid "is duplicated: %s"
3731
+ msgstr "が重複しています: %s"
3732
3732
 
3733
3733
  #: lib/active_ldap/validations.rb:108
3734
- msgid "%{fn} is invalid: %s"
3735
- msgstr "%{fn}が不正です: %s"
3734
+ msgid "is invalid: %s"
3735
+ msgstr "が不正です: %s"
3736
3736
 
3737
3737
  #: lib/active_ldap/validations.rb:112
3738
- msgid "%{fn} isn't set: %s"
3739
- msgstr "%{fn}が設定されていません: %s"
3738
+ msgid "isn't set: %s"
3739
+ msgstr "が設定されていません: %s"
3740
3740
 
3741
3741
  #: lib/active_ldap/validations.rb:134
3742
- msgid "%{fn} has excluded value: %s"
3743
- msgid_plural "%{fn} has excluded values: %s"
3744
- msgstr[0] "%{fn}に除外した値があります: %s"
3745
- msgstr[1] "%{fn}に除外した値があります: %s"
3742
+ msgid "has excluded value: %s"
3743
+ msgid_plural "has excluded values: %s"
3744
+ msgstr[0] "に除外した値があります: %s"
3745
+ msgstr[1] "に除外した値があります: %s"
3746
3746
 
3747
3747
  #: lib/active_ldap/validations.rb:169
3748
- msgid "%{fn} is required attribute by objectClass '%s'"
3749
- msgstr "%{fn}はobjectClass'%s'の必須の属性です"
3748
+ msgid "is required attribute by objectClass '%s'"
3749
+ msgstr "はobjectClass'%s'の必須の属性です"
3750
3750
 
3751
3751
  #: lib/active_ldap/validations.rb:171
3752
- msgid "%{fn} is required attribute by objectClass '%s': aliases: %s"
3753
- msgstr "%{fn}はobjectClass'%s'の必須の属性です: 別名: %s"
3752
+ msgid "is required attribute by objectClass '%s': aliases: %s"
3753
+ msgstr "はobjectClass'%s'の必須の属性です: 別名: %s"
3754
3754
 
3755
3755
  #: lib/active_ldap/validations.rb:195
3756
3756
  msgid "<binary-value>"
3757
3757
  msgstr "<バイナリ値>"
3758
3758
 
3759
3759
  #: lib/active_ldap/validations.rb:203
3760
- msgid "%{fn}(%s) has invalid format: %s: required syntax: %s: %s"
3761
- msgstr "%{fn}(%s)は不正な書式です: %s: 要求されている構文: %s: %s"
3760
+ msgid "(%s) has invalid format: %s: required syntax: %s: %s"
3761
+ msgstr "(%s)は不正な書式です: %s: 要求されている構文: %s: %s"
3762
3762
 
3763
3763
  #: lib/active_ldap/validations.rb:205
3764
- msgid "%{fn} has invalid format: %s: required syntax: %s: %s"
3765
- msgstr "%{fn}は不正な書式です: %s: 要求されている構文: %s: %s"
3764
+ msgid "has invalid format: %s: required syntax: %s: %s"
3765
+ msgstr "は不正な書式です: %s: 要求されている構文: %s: %s"
3766
3766
 
3767
3767
  #: lib/active_ldap/command.rb:16
3768
3768
  msgid "Common options:"
@@ -11,7 +11,13 @@ top_dir = File.expand_path(File.join(base_dir, ".."))
11
11
  $LOAD_PATH.unshift(File.join(top_dir, "lib"))
12
12
  $LOAD_PATH.unshift(File.join(top_dir, "test"))
13
13
 
14
- $LOAD_PATH.unshift(File.join(top_dir, "test-unit", "lib"))
14
+ test_unit_lib_dir = File.join(top_dir, "test-unit", "lib")
15
+ if File.exist?(test_unit_lib_dir)
16
+ $LOAD_PATH.unshift(test_unit_lib_dir)
17
+ else
18
+ require 'rubygems'
19
+ gem "test-unit", "> 2"
20
+ end
15
21
  require "test/unit"
16
22
  ARGV.unshift("--priority-mode")
17
23
 
@@ -37,6 +37,7 @@ class TestAdapter < Test::Unit::TestCase
37
37
  assert_parse_filter("(uid=Alice\\2ABob)", {:uid => "Alice**Bob"})
38
38
  assert_parse_filter("(uid=Alice\\2A*\\5CBob)", {:uid => "Alice***\\Bob"})
39
39
  assert_parse_filter("(uid=Alice\\5C\\2A*Bob)", {:uid => "Alice\\***Bob"})
40
+ assert_parse_filter("(uid=Alice\\3ABob)", {:uid => "Alice:Bob"})
40
41
  end
41
42
 
42
43
  def test_empty_filter
@@ -6,6 +6,14 @@ class TestBase < Test::Unit::TestCase
6
6
  include AlTestUtils
7
7
 
8
8
  priority :must
9
+ def test_search_colon_value
10
+ make_temporary_group(:cn => "temp:group") do |group|
11
+ assert_equal("temp:group", group.cn)
12
+ assert_not_nil(@group_class.find("temp:group"))
13
+ end
14
+ end
15
+
16
+ priority :normal
9
17
  def test_lower_case_object_class
10
18
  fixture_file = fixture("lower_case_object_class_schema.rb")
11
19
  schema_entries = eval(File.read(fixture_file))
@@ -30,7 +38,6 @@ class TestBase < Test::Unit::TestCase
30
38
  assert_equal("1.555.5551234", target.umpn)
31
39
  end
32
40
 
33
- priority :normal
34
41
  def test_set_and_get_false
35
42
  user = @user_class.new
36
43
  user.sn = false
@@ -77,7 +77,8 @@ class TestLoad < Test::Unit::TestCase
77
77
  ldif << record
78
78
  ActiveLdap::Base.load(ldif.to_s)
79
79
  user.reload
80
- assert(original_descriptions + [new_description], user.description(true))
80
+ assert_equal(original_descriptions + [new_description],
81
+ user.description(true))
81
82
  end
82
83
  end
83
84
 
@@ -69,15 +69,14 @@ class TestUser < Test::Unit::TestCase
69
69
  errors = %w(person organizationalPerson
70
70
  inetOrgPerson).collect do |object_class|
71
71
  if ActiveLdap.get_text_supported?
72
- format = _("%{fn} is required attribute by objectClass '%s': " \
72
+ format = _("is required attribute by objectClass '%s': " \
73
73
  "aliases: %s")
74
- format = user.gettext(format)
75
- format = format % {:fn => user.class.human_attribute_name("sn")}
74
+ format = user._(format)
76
75
  format % [user.class.human_object_class_name(object_class),
77
76
  user.class.human_attribute_name("surname")]
78
77
  else
79
78
  format = "is required attribute by objectClass '%s': aliases: %s"
80
- user.gettext(format) % [object_class, "surname"]
79
+ user._(format) % [object_class, "surname"]
81
80
  end
82
81
  end
83
82
  assert_equal(errors.sort, user.errors.on(:sn).sort)
@@ -12,8 +12,8 @@ class TestValidation < Test::Unit::TestCase
12
12
  user1.id = user2.id
13
13
  assert_false(user1.save)
14
14
 
15
- format = _("%{fn} is duplicated: %s")
16
- format = format.sub(/^%\{fn\}/, la_('distinguishedName'))
15
+ format = la_('distinguishedName')
16
+ format << ' ' << _("is duplicated: %s")
17
17
  assert_equal([format % [user2.dn.to_s]],
18
18
  user1.errors.full_messages)
19
19
  end
@@ -27,8 +27,8 @@ class TestValidation < Test::Unit::TestCase
27
27
  user.jpeg_photo = "XXX"
28
28
  assert_not_predicate(user, :save)
29
29
 
30
- format = _("%{fn} has invalid format: %s: required syntax: %s: %s")
31
- format = format.sub(/^%\{fn\}/, la_('jpegPhoto'))
30
+ format = la_('jpegPhoto')
31
+ format << ' ' << _("has invalid format: %s: required syntax: %s: %s")
32
32
  arguments = [_("<binary-value>"),
33
33
  lsd_("1.3.6.1.4.1.1466.115.121.1.28"),
34
34
  _("invalid JPEG format")]
@@ -73,8 +73,8 @@ class TestValidation < Test::Unit::TestCase
73
73
  reason = _("attribute value is missing")
74
74
  invalid_format = _("%s is invalid distinguished name (DN): %s")
75
75
  invalid_message = invalid_format % ["uid==,#{user.class.base}", reason]
76
- format = _("%{fn} is invalid: %s")
77
- format = format.sub(/^%\{fn\}/, la_('distinguishedName'))
76
+ format = la_('distinguishedName')
77
+ format << ' ' << _("is invalid: %s")
78
78
  message = format % invalid_message
79
79
  assert_equal([message],
80
80
  user.errors.full_messages.find_all {|m| /DN/ =~ m})
@@ -87,8 +87,8 @@ class TestValidation < Test::Unit::TestCase
87
87
  reason = _("attribute value is missing")
88
88
  invalid_format = _("%s is invalid distinguished name (DN): %s")
89
89
  invalid_message = invalid_format % ["uid==,#{user.class.base}", reason]
90
- format = _("%{fn} is invalid: %s")
91
- format = format.sub(/^%\{fn\}/, la_('distinguishedName'))
90
+ format = la_('distinguishedName')
91
+ format << ' ' << _("is invalid: %s")
92
92
  message = format % invalid_message
93
93
  assert_equal([message], user.errors.full_messages)
94
94
  end
@@ -99,8 +99,8 @@ class TestValidation < Test::Unit::TestCase
99
99
  assert(user.valid?)
100
100
  user.uid_number = ""
101
101
  assert(!user.valid?)
102
- format = _("%{fn} is required attribute by objectClass '%s'")
103
- format = format.sub(/^%\{fn\}/, la_('uidNumber'))
102
+ format = la_('uidNumber')
103
+ format << ' ' << _("is required attribute by objectClass '%s'")
104
104
  blank_message = format % loc_("posixAccount")
105
105
  assert_equal([blank_message], user.errors.full_messages)
106
106
  end
@@ -111,10 +111,10 @@ class TestValidation < Test::Unit::TestCase
111
111
  assert(user.save)
112
112
  user.class.excluded_classes = ['person']
113
113
  assert(!user.save)
114
- format = n_("%{fn} has excluded value: %s",
115
- "%{fn} has excluded values: %s",
116
- 1)
117
- format = format.sub(/^%\{fn\}/, la_("objectClass"))
114
+ format = la_("objectClass")
115
+ format << ' ' << n_("has excluded value: %s",
116
+ "has excluded values: %s",
117
+ 1)
118
118
  message = format % loc_("person")
119
119
  assert_equal([message], user.errors.full_messages)
120
120
  end
@@ -183,8 +183,8 @@ class TestValidation < Test::Unit::TestCase
183
183
  assert(ou_class.new("YYY").save)
184
184
  ou = ou_class.new("YYY")
185
185
  assert(!ou.save)
186
- format = _("%{fn} is duplicated: %s")
187
- format = format.sub(/^%\{fn\}/, la_("distinguishedName"))
186
+ format = la_("distinguishedName")
187
+ format << ' ' << _("is duplicated: %s")
188
188
  message = format % ou.dn
189
189
  assert_equal([message], ou.errors.full_messages)
190
190
  end
@@ -225,16 +225,13 @@ class TestValidation < Test::Unit::TestCase
225
225
  assert_not_nil(syntax_description)
226
226
  params = [formatted_value, syntax_description, reason]
227
227
  params.unshift(option) if option
228
+ localized_name = la_(name)
229
+ format = localized_name << ' '
228
230
  if option
229
- format = _("%{fn}(%s) has invalid format: %s: required syntax: %s: %s")
231
+ format << _("(%s) has invalid format: %s: required syntax: %s: %s")
230
232
  else
231
- format = _("%{fn} has invalid format: %s: required syntax: %s: %s")
232
- end
233
- localized_name = la_(name)
234
- if option and !ActiveLdap.get_text_supported?
235
- localized_name += ' '
233
+ format << _("has invalid format: %s: required syntax: %s: %s")
236
234
  end
237
- format = format.sub(/^%\{fn\}/, localized_name)
238
235
  message = format % params
239
236
  assert_equal([message], model.errors.full_messages)
240
237
  end