treequel 1.6.0 → 1.7.0

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.
data/ChangeLog CHANGED
@@ -1,8 +1,95 @@
1
+ 2011-11-09 Michael Granger <ged@FaerieMUD.org>
2
+
3
+ * .hgtags:
4
+ Added tag v1.7.0 for changeset 367d9982ea67
5
+ [74e7687d2837] [tip]
6
+
7
+ * .hgsigs:
8
+ Added signature for changeset c5b83ddad969
9
+ [367d9982ea67] [v1.7.0]
10
+
11
+ * README.rdoc, bin/treequel, bin/treewhat, experiments/mixohm.rb,
12
+ experiments/modfault.rb, lib/treequel.rb, lib/treequel/branch.rb,
13
+ lib/treequel/branchcollection.rb, lib/treequel/branchset.rb,
14
+ lib/treequel/control.rb, lib/treequel/controls/contentsync.rb,
15
+ lib/treequel/controls/pagedresults.rb, lib/treequel/directory.rb,
16
+ lib/treequel/exceptions.rb, lib/treequel/filter.rb,
17
+ lib/treequel/mixins.rb, lib/treequel/model.rb,
18
+ lib/treequel/model/errors.rb, lib/treequel/model/objectclass.rb,
19
+ lib/treequel/monkeypatches.rb, lib/treequel/schema.rb,
20
+ lib/treequel/schema/attributetype.rb,
21
+ lib/treequel/schema/objectclass.rb, lib/treequel/utils.rb:
22
+ De-Yarded
23
+ [c5b83ddad969] [github/master]
24
+
25
+ * Rakefile:
26
+ Require 'rake/clean' for the CLOBBER FileList
27
+ [8e6a436a4056]
28
+
29
+ * spec/treequel/monkeypatches_spec.rb:
30
+ Fixing generalized time tests for FreeBSD
31
+ [9913f6cb927f]
32
+
33
+ * History.rdoc, lib/treequel.rb:
34
+ Bump minor version for API changes, update History.
35
+ [d9c5807f1bd5]
36
+
37
+ * lib/treequel/model.rb:
38
+ Treat Treequel::Model#[]= with a nil value on a SINGLE-VALUE
39
+ attribute as a delete.
40
+ [06a018adffb8]
41
+
42
+ * lib/treequel/branchset.rb:
43
+ Splat the filterspec used in Branchset#not to avoid unnecessary
44
+ filter clauses.
45
+ [ed42352c1ed4]
46
+
47
+ * lib/treequel/branch.rb:
48
+ Efficiency fix for Treequel::Branch#must_attribute_types
49
+ [797738d823b4]
50
+
51
+ * lib/treequel/branch.rb, lib/treequel/model.rb:
52
+ Removed some of the more-redundant/verbose debugging.
53
+ [58390743bd93]
54
+
55
+ 2011-11-08 Michael Granger <ged@FaerieMUD.org>
56
+
57
+ * Rakefile, lib/treequel/branchset.rb,
58
+ spec/treequel/branchset_spec.rb:
59
+ Added Branchset#first with an argument, and a #not mutator.
60
+ [12a92b33f049]
61
+
62
+ * Rakefile:
63
+ Build tgz and zip packages, too
64
+ [c74c3a992b6f]
65
+
66
+ * .pryrc:
67
+ Adding a .pryrc
68
+ [35bea171d90d]
69
+
70
+ 2011-10-26 Michael Granger <ged@FaerieMUD.org>
71
+
72
+ * .hgtags:
73
+ Added tag v1.6.0 for changeset c3abddcd7532
74
+ [e16351a6b919]
75
+
76
+ * .hgsigs:
77
+ Added signature for changeset ef0ce1481247
78
+ [c3abddcd7532] [v1.6.0]
79
+
80
+ * .hgtags:
81
+ Added tag semver for changeset 3ceba5117883
82
+ [ef0ce1481247]
83
+
84
+ * Manifest.txt, Rakefile:
85
+ Include test datafiles, update Rakefile.
86
+ [92151182984d]
87
+
1
88
  2011-10-20 Michael Granger <ged@FaerieMUD.org>
2
89
 
3
90
  * bin/treewhat:
4
91
  Make the treewhat tool executable
5
- [6d8a6dc8e9dc] [tip]
92
+ [6d8a6dc8e9dc]
6
93
 
7
94
  * Rakefile:
8
95
  Made checkin check the manifest, too
@@ -31,7 +118,7 @@
31
118
 
32
119
  * Rakefile:
33
120
  Fix dev dependency version spec.
34
- [d395c6dc9c1f] [github/master]
121
+ [d395c6dc9c1f]
35
122
 
36
123
  2011-08-09 Michael Granger <ged@FaerieMUD.org>
37
124
 
@@ -69,6 +156,14 @@
69
156
  * Merged with fcb89939ba84
70
157
  [da4761033bea]
71
158
 
159
+ 2011-06-14 Michael Granger <ged@FaerieMUD.org>
160
+
161
+ * lib/treequel/model.rb:
162
+ Adding debug logging to Treequel::Model#save
163
+ [fcb89939ba84]
164
+
165
+ 2011-06-28 Michael Granger <ged@FaerieMUD.org>
166
+
72
167
  * Rakefile, spec/treequel/monkeypatches_spec.rb:
73
168
  Some fixes for JRuby + jruby-ldap
74
169
  - Use a modern timezone for the Time tests
@@ -82,12 +177,6 @@
82
177
  objects sharing the same connection
83
178
  [1a1383549960]
84
179
 
85
- 2011-06-14 Michael Granger <ged@FaerieMUD.org>
86
-
87
- * lib/treequel/model.rb:
88
- Adding debug logging to Treequel::Model#save
89
- [fcb89939ba84]
90
-
91
180
  2011-05-25 Michael Granger <ged@FaerieMUD.org>
92
181
 
93
182
  * lib/treequel/constants.rb, lib/treequel/schema.rb,
@@ -148,13 +237,6 @@
148
237
  Adding schema artifacts to the treewhat command
149
238
  [58261aeb1c82]
150
239
 
151
- 2011-03-28 Michael Granger <ged@FaerieMUD.org>
152
-
153
- * bin/treewhat:
154
- Updated the 'treewhat' schema tool.
155
- * Show additional details for some schema objects.
156
- [28576726289e]
157
-
158
240
  2011-03-21 Michael Granger <ged@FaerieMUD.org>
159
241
 
160
242
  * bin/treequel:
@@ -176,6 +258,13 @@
176
258
  Manual CSS fixes for HTML5 elements under FF3.6
177
259
  [72d3e439772f]
178
260
 
261
+ 2011-03-28 Michael Granger <ged@FaerieMUD.org>
262
+
263
+ * bin/treewhat:
264
+ Updated the 'treewhat' schema tool.
265
+ * Show additional details for some schema objects.
266
+ [28576726289e]
267
+
179
268
  2011-03-17 Michael Granger <ged@FaerieMUD.org>
180
269
 
181
270
  * .hgtags:
@@ -460,6 +549,12 @@
460
549
  Merged with 411:ddbb3c3bdd00
461
550
  [ba7895d4e64b]
462
551
 
552
+ 2011-01-17 Michael Granger <ged@FaerieMUD.org>
553
+
554
+ * History.md:
555
+ Updated History
556
+ [9c4db65b40d7]
557
+
463
558
  2011-01-18 Michael Granger <ged@FaerieMUD.org>
464
559
 
465
560
  * manual/layouts/default.erb, manual/resources/css/manual.css,
@@ -524,10 +619,6 @@
524
619
 
525
620
  2011-01-17 Michael Granger <ged@FaerieMUD.org>
526
621
 
527
- * History.md:
528
- Updated History
529
- [9c4db65b40d7]
530
-
531
622
  * .hgtags:
532
623
  Added tag v1.3.1 for changeset a6ea030fc88f
533
624
  [4caac8976d00]
@@ -636,14 +727,14 @@
636
727
  Automated merge with ssh://deveiate/Treequel
637
728
  [62e7348050eb]
638
729
 
639
- * bin/treequel:
640
- More logging constant fixes for the treequel shell.
641
- [6e159f32ed07]
642
-
643
730
  * bin/treequel, lib/treequel/model/objectclass.rb:
644
731
  Aesthetic cleanup
645
732
  [78e65cb8f30a]
646
733
 
734
+ * bin/treequel:
735
+ More logging constant fixes for the treequel shell.
736
+ [6e159f32ed07]
737
+
647
738
  2011-01-04 Michael Granger <ged@FaerieMUD.org>
648
739
 
649
740
  * bin/treequel:
@@ -1018,7 +1109,7 @@
1018
1109
 
1019
1110
  * .hgsigs:
1020
1111
  Added signature for changeset c6166a5cbc23
1021
- [3ceba5117883] [v1.2.0]
1112
+ [3ceba5117883] [semver, v1.2.0]
1022
1113
 
1023
1114
  * .hgsubstate, Rakefile:
1024
1115
  Updated build system.
@@ -1770,6 +1861,12 @@
1770
1861
  * Re-sorted the OID constants to be in OID order
1771
1862
  [8b2fb7415412]
1772
1863
 
1864
+ 2010-01-13 Michael Granger <ged@FaerieMUD.org>
1865
+
1866
+ * bin/treequel:
1867
+ Make treequel shell's 'cat' command error for non-existant entries
1868
+ [84087b01d473]
1869
+
1773
1870
  2010-01-24 Michael Granger <ged@FaerieMUD.org>
1774
1871
 
1775
1872
  * bin/treequel:
@@ -1778,10 +1875,6 @@
1778
1875
 
1779
1876
  2010-01-13 Michael Granger <ged@FaerieMUD.org>
1780
1877
 
1781
- * bin/treequel:
1782
- Make treequel shell's 'cat' command error for non-existant entries
1783
- [84087b01d473]
1784
-
1785
1878
  * bin/treequel:
1786
1879
  Fix the 'grep' command in the Treequel shell.
1787
1880
  [669a09149f48]
@@ -1812,19 +1905,6 @@
1812
1905
  Updated build system
1813
1906
  [00ac1bc4e917]
1814
1907
 
1815
- 2009-12-22 Michael Granger <ged@FaerieMUD.org>
1816
-
1817
- * bin/treequel:
1818
- Reworked LDIF display colors in the shell to be more visible.
1819
- [d77a0bf26034]
1820
-
1821
- * bin/treequel:
1822
- Make the treequel shell fall back to plain connect (with a warning)
1823
- if TLS fails.
1824
- [9aeccec1ee84]
1825
-
1826
- 2010-01-07 Michael Granger <ged@FaerieMUD.org>
1827
-
1828
1908
  * bin/treequel, lib/treequel/branch.rb, lib/treequel/constants.rb,
1829
1909
  lib/treequel/utils.rb:
1830
1910
  Improvements to the treequel shell, fixes for 1.9.1.
@@ -1846,6 +1926,15 @@
1846
1926
 
1847
1927
  2009-12-22 Michael Granger <ged@FaerieMUD.org>
1848
1928
 
1929
+ * bin/treequel:
1930
+ Reworked LDIF display colors in the shell to be more visible.
1931
+ [d77a0bf26034]
1932
+
1933
+ * bin/treequel:
1934
+ Make the treequel shell fall back to plain connect (with a warning)
1935
+ if TLS fails.
1936
+ [9aeccec1ee84]
1937
+
1849
1938
  * examples/ldap-monitor.rb, examples/ldap-
1850
1939
  monitor/public/css/master.css, examples/ldap-
1851
1940
  monitor/public/images/card_small.png, examples/ldap-
@@ -1866,27 +1955,6 @@
1866
1955
  Automated merge with ssh://hg@deveiate/Treequel
1867
1956
  [3bdd645530fe]
1868
1957
 
1869
- 2009-12-18 Michael Granger <ged@FaerieMUD.org>
1870
-
1871
- * Merged with 5fd4033e1556
1872
- [9571c9d8e4dd]
1873
-
1874
- 2009-12-17 Michael Granger <ged@FaerieMUD.org>
1875
-
1876
- * docs/openldap-oids.txt, lib/treequel/constants.rb,
1877
- lib/treequel/controls/contentsync.rb,
1878
- lib/treequel/controls/persistentsearch.rb,
1879
- lib/treequel/directory.rb:
1880
- More controls work, started several more control modules.
1881
- * Adding a breakdown of all the controls the OpenLDAP server I have
1882
- has, so I know which controls I can test against.
1883
- * Added some control constants.
1884
- * Added the ContentSyncControl and the PersistentSearchControl.
1885
- * Added a Directory#supported_controls method.
1886
- [ffc2ebacdfd0]
1887
-
1888
- 2009-12-22 Michael Granger <ged@FaerieMUD.org>
1889
-
1890
1958
  * bin/treequel, examples/ldap-monitor.rb, examples/ldap-
1891
1959
  monitor/public/css/master.css, examples/ldap-
1892
1960
  monitor/public/images/card_small.png, examples/ldap-
@@ -1915,6 +1983,25 @@
1915
1983
  * Bumped the version to 1.0.2.
1916
1984
  [31c326800cc6]
1917
1985
 
1986
+ 2009-12-18 Michael Granger <ged@FaerieMUD.org>
1987
+
1988
+ * Merged with 5fd4033e1556
1989
+ [9571c9d8e4dd]
1990
+
1991
+ 2009-12-17 Michael Granger <ged@FaerieMUD.org>
1992
+
1993
+ * docs/openldap-oids.txt, lib/treequel/constants.rb,
1994
+ lib/treequel/controls/contentsync.rb,
1995
+ lib/treequel/controls/persistentsearch.rb,
1996
+ lib/treequel/directory.rb:
1997
+ More controls work, started several more control modules.
1998
+ * Adding a breakdown of all the controls the OpenLDAP server I have
1999
+ has, so I know which controls I can test against.
2000
+ * Added some control constants.
2001
+ * Added the ContentSyncControl and the PersistentSearchControl.
2002
+ * Added a Directory#supported_controls method.
2003
+ [ffc2ebacdfd0]
2004
+
1918
2005
  2009-12-16 Michael Granger <ged@FaerieMUD.org>
1919
2006
 
1920
2007
  * Rakefile, lib/treequel/mixins.rb, project.yml:
@@ -3009,16 +3096,6 @@
3009
3096
  Merged. Someday I'll get the hang of this.
3010
3097
  [a5e715f5f877]
3011
3098
 
3012
- 2009-07-28 Michael Granger <ged@FaerieMUD.org>
3013
-
3014
- * .hgignore, Rakefile:
3015
- Merged with 34cc97817266
3016
- [395b7bf6f248]
3017
-
3018
- * .hgignore, Rakefile, docs/manual/src/index.page:
3019
- Manual rewording, .hgignore updates
3020
- [89f74035c67d]
3021
-
3022
3099
  2009-07-29 Michael Granger <ged@FaerieMUD.org>
3023
3100
 
3024
3101
  * .hgignore, Rakefile, docs/manual/src/index.page,
@@ -3029,6 +3106,16 @@
3029
3106
  * Made Treequel::Branch#filter treat a Hash like an array of tuples.
3030
3107
  [46e6dce0c011]
3031
3108
 
3109
+ 2009-07-28 Michael Granger <ged@FaerieMUD.org>
3110
+
3111
+ * .hgignore, Rakefile:
3112
+ Merged with 34cc97817266
3113
+ [395b7bf6f248]
3114
+
3115
+ * .hgignore, Rakefile, docs/manual/src/index.page:
3116
+ Manual rewording, .hgignore updates
3117
+ [89f74035c67d]
3118
+
3032
3119
  2009-07-27 Michael Granger <ged@FaerieMUD.org>
3033
3120
 
3034
3121
  * .hgignore, Rakefile:
@@ -3040,6 +3127,10 @@
3040
3127
 
3041
3128
  2009-07-24 Michael Granger <ged@FaerieMUD.org>
3042
3129
 
3130
+ * .hgsub, .hgsubstate:
3131
+ Unlinking the subrepo, as it doesn't behave well enough quite yet.
3132
+ [fc3c3bac2c22]
3133
+
3043
3134
  * .hgsub, .hgsubstate:
3044
3135
  Merging build system fixes
3045
3136
  [b7a919b2ad5d]
@@ -3052,10 +3143,6 @@
3052
3143
  Removing subrepo, as it doesn't work quite the way I'd hoped.
3053
3144
  [f631900a9ad8] <build-system-fixes>
3054
3145
 
3055
- * .hgsub, .hgsubstate:
3056
- Unlinking the subrepo, as it doesn't behave well enough quite yet.
3057
- [fc3c3bac2c22]
3058
-
3059
3146
  * .hgignore, .hgsubstate, Rakefile, Rakefile.local, project.yml:
3060
3147
  Initial commit of Mercurial-based tasks
3061
3148
  [65236b2101e5] <build-system-fixes>
data/History.rdoc CHANGED
@@ -1,3 +1,14 @@
1
+ == v1.7.0 [2011-11-09] Michael Granger <ged@FaerieMUD.org>
2
+
3
+ - Treat Treequel::Model#[]= with a nil value on a SINGLE-VALUE
4
+ attribute as a delete.
5
+ - Splat the filterspec used in Branchset#not to avoid unnecessary
6
+ filter clauses.
7
+ - Efficiency fix for Treequel::Branch#must_attribute_types
8
+ - Removed some of the more-redundant/verbose debugging.
9
+ - Added Branchset#first with an argument, and a #not mutator.
10
+
11
+
1
12
  == v1.6.0 [2011-10-06] Michael Granger <ged@FaerieMUD.org>
2
13
 
3
14
  - Adding workaround for vendored "sysexits" library under MacOX X 10.7
data/README.rdoc CHANGED
@@ -1,8 +1,8 @@
1
- # Treequel - an honest LDAP library
1
+ = Treequel - an honest LDAP library
2
2
 
3
3
  * http://deveiate.org/projects/Treequel
4
4
 
5
- ## Description
5
+ == Description
6
6
 
7
7
  Treequel is an LDAP toolkit for Ruby. It is intended to allow quick, easy
8
8
  access to LDAP directories in a manner consistent with LDAP's hierarchical,
@@ -12,7 +12,7 @@ It's inspired by and modeled after [Sequel](http://sequel.rubyforge.org/), a
12
12
  kick-ass database library.
13
13
 
14
14
 
15
- ## Examples
15
+ == Examples
16
16
 
17
17
  Here are a few short examples to whet your appetite:
18
18
 
@@ -33,19 +33,22 @@ Here are a few short examples to whet your appetite:
33
33
  dir.ou( :people ).filter( :mail ).to_hash( :mail, :cn )
34
34
 
35
35
  More elaborate examples of real-world usage can be found
36
- [in the examples/ directory][examples] in the distribution.
36
+ {in the examples/ directory}[http://deveiate.org/projects/Treequel/browser/examples]
37
+ in the distribution.
37
38
 
38
39
 
39
- ## Contributing
40
+ == Contributing
40
41
 
41
- You can check out the current development source [with Mercurial][hgrepo], or
42
- if you prefer Git, via the project's [Github mirror][gitmirror].
42
+ You can check out the current development source
43
+ {with Mercurial}[http://repo.deveiate.org/Treequel], or
44
+ if you prefer Git, via the project's
45
+ {Github mirror}[https://github.com/ged/treequel].
43
46
 
44
47
  You can submit bug reports, suggestions, and read more about future plans at
45
- [the project page][projectpage].
48
+ {the project page}[http://deveiate.org/projects/Treequel].
46
49
 
47
50
 
48
- ## License
51
+ == License
49
52
 
50
53
  Copyright (c) 2008-2011, Michael Granger and Mahlon E. Smith
51
54
  All rights reserved.
@@ -99,13 +102,13 @@ the following license terms:
99
102
  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
100
103
 
101
104
 
102
- ## Authors
105
+ == Authors
103
106
 
104
107
  * Michael Granger <ged@FaerieMUD.org>
105
108
  * Mahlon E. Smith <mahlon@martini.nu>
106
109
 
107
110
 
108
- ## Contributors
111
+ == Contributors
109
112
 
110
113
  A special thanks to Ben Bleything, who was part of the initial brainstorm that
111
114
  led to the creation of this library.
@@ -115,8 +118,3 @@ ideas for the Model side of Treequel; it's vastly better for his
115
118
  suggestions.
116
119
 
117
120
 
118
- [examples]:http://deveiate.org/projects/Treequel/browser/examples
119
- [hgrepo]:http://repo.deveiate.org/Treequel
120
- [gitmirror]:https://github.com/ged/treequel
121
- [projectpage]:http://deveiate.org/projects/Treequel
122
-
data/Rakefile CHANGED
@@ -6,6 +6,8 @@ rescue LoadError
6
6
  abort "This Rakefile requires hoe (gem install hoe)"
7
7
  end
8
8
 
9
+ require 'rake/clean'
10
+
9
11
  Hoe.plugin :mercurial
10
12
  Hoe.plugin :signing
11
13
  Hoe.plugin :manualgen
@@ -17,6 +19,9 @@ hoespec = Hoe.spec 'treequel' do
17
19
  self.history_file = 'History.rdoc'
18
20
  self.extra_rdoc_files = Rake::FileList[ '*.rdoc' ]
19
21
 
22
+ self.need_tar = true
23
+ self.need_zip = true
24
+
20
25
  self.developer 'Michael Granger', 'ged@FaerieMUD.org'
21
26
  self.developer 'Mahlon E. Smith', 'mahlon@martini.nu'
22
27
 
@@ -26,7 +31,7 @@ hoespec = Hoe.spec 'treequel' do
26
31
  self.dependency 'ruby-ldap', '~> 0.9'
27
32
  end
28
33
  self.dependency 'diff-lcs', '~> 1.1'
29
- self.dependency 'rspec', '~> 2.6.0', :developer
34
+ self.dependency 'rspec', '~> 2.7', :developer
30
35
  self.dependency 'ruby-termios', '~> 0.9', :developer
31
36
  self.dependency 'ruby-terminfo', '~> 0.1', :developer
32
37
  self.dependency 'columnize', '~> 0.3', :developer
data/bin/treequel CHANGED
@@ -194,8 +194,7 @@ class Treequel::Shell
194
194
  ### I N S T A N C E M E T H O D S
195
195
  #################################################################
196
196
 
197
- ### Create a new shell for the specified +directory+.
198
- ### @param [Treequel::Directory] directory the LDAP directory to navigate
197
+ ### Create a new shell for the specified +directory+ (a Treequel::Directory).
199
198
  def initialize( directory )
200
199
  @dir = directory
201
200
  @uri = directory.uri
@@ -224,9 +223,8 @@ class Treequel::Shell
224
223
  attr_accessor :quit
225
224
 
226
225
 
227
- ### The command loop: run the shell until the user wants to quit
228
- ### @param [String] bind_as The DN of the user to bind as. If none is
229
- ### specified, the shell will bind anonymously.
226
+ ### The command loop: run the shell until the user wants to quit, binding as +bind_as+ if
227
+ ### given.
230
228
  def run( bind_as=nil )
231
229
  @original_tty_settings = IO.read( '|-' ) or exec 'stty', '-g'
232
230
  message "Connected to %s" % [ @uri ]
@@ -911,11 +909,7 @@ class Treequel::Shell
911
909
 
912
910
 
913
911
  ### Return the description of the specified +branch+ suitable for displaying in
914
- ### the directory listing.
915
- ### @param [Treequel::Branch] branch the branch to be described
916
- ### @param [Fixnum] oclen the length of the largest objectclass that
917
- ### will be displayed; used to calculate the
918
- ### width of the objectclass column.
912
+ ### the directory listing. The +oclen+ is the width of the objectclass column.
919
913
  def format_description( branch, oclen=40 )
920
914
  rdn = format_rdn( branch.rdn )
921
915
  metadatalen = oclen + 16 + 6 # oc + timestamp + whitespace
data/bin/treewhat CHANGED
@@ -58,8 +58,7 @@ class Treequel::What
58
58
  end
59
59
 
60
60
 
61
- ### Create and configure a command-line option parser for the command.
62
- ### @return [Trollop::Parser] the option parser
61
+ ### Create and configure a command-line option parser (a Trollop::Parser) for the command.
63
62
  def self::make_option_parser
64
63
  progname = File.basename( $0 )
65
64
  default_directory = Treequel.directory_from_config
@@ -343,8 +342,7 @@ class Treequel::What
343
342
  end
344
343
 
345
344
 
346
- ### Display additional details for the specified +attrtype+.
347
- ### @param [Treequel::Schema::AttributeType] attrtype the attribute type object to display
345
+ ### Display additional details for the specified +attrtype+ (a Treequel::Schema::AttributeType).
348
346
  def display_attrtype_details( attrtype )
349
347
  ocs = self.directory.schema.object_classes.values.find_all do |oc|
350
348
  ( oc.must_oids | oc.may_oids ).include?( attrtype.name.to_sym )