treequel 1.8.2 → 1.8.3.pre545

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,9 +1,43 @@
1
+ 2012-01-24 Michael Granger <ged@FaerieMUD.org>
2
+
3
+ * History.rdoc, lib/treequel.rb:
4
+ Bumping patch version, updating History.
5
+ [5a4dee114236] [tip]
6
+
7
+ * .rspec-tm:
8
+ Removing TextMate RSpec settings file
9
+ [c1fefabf1a27] [github/master]
10
+
11
+ * Rakefile, lib/treequel/model.rb, lib/treequel/monkeypatches.rb,
12
+ spec/treequel/model_spec.rb:
13
+ Fix for the bug in LDIF generated by Treequel::Model#save that
14
+ Patricio Bruna pointed out to me.
15
+ [881aea340f79]
16
+
17
+ * .tm_properties:
18
+ Removing old settings from tm_properties
19
+ [dead7ea9f507]
20
+
21
+ 2011-12-20 Michael Granger <ged@FaerieMUD.org>
22
+
23
+ * .hgtags:
24
+ Added tag v1.8.2 for changeset faca0ae17991
25
+ [fd01c59622c9]
26
+
27
+ * .hgsigs:
28
+ Added signature for changeset 343aab59c84b
29
+ [faca0ae17991] [v1.8.2]
30
+
31
+ * History.rdoc, lib/treequel.rb:
32
+ Bumped patch version, updated history.
33
+ [343aab59c84b]
34
+
1
35
  2011-12-19 Michael Granger <ged@FaerieMUD.org>
2
36
 
3
37
  * .rspec-tm, .tm_properties, lib/treequel/model.rb,
4
38
  spec/treequel/model_spec.rb:
5
39
  Combining ADD and DELETE mods
6
- [6697b95ce945] [github/master, tip]
40
+ [6697b95ce945]
7
41
 
8
42
  2011-12-15 Michael Granger <ged@FaerieMUD.org>
9
43
 
data/History.rdoc CHANGED
@@ -1,3 +1,9 @@
1
+ == v1.8.3 [2012-01-24] Michael Granger <ged@FaerieMUD.org>
2
+
3
+ - A fix for Treequel::Model#save LDIF. Thanks to Patricio Bruna <pbruna@it-linux.cl> for
4
+ pointing out the problem.
5
+
6
+
1
7
  == v1.8.2 [2011-12-19] Michael Granger <ged@FaerieMUD.org>
2
8
 
3
9
  - Fixing Treequel::Model#create by merging ADD and DELETE mods
data/Rakefile CHANGED
@@ -30,7 +30,6 @@ hoespec = Hoe.spec 'treequel' do
30
30
  else
31
31
  self.dependency 'ruby-ldap', '~> 0.9'
32
32
  end
33
- self.dependency 'diff-lcs', '~> 1.1'
34
33
  self.dependency 'rspec', '~> 2.7', :developer
35
34
  self.dependency 'ruby-termios', '~> 0.9', :developer
36
35
  self.dependency 'ruby-terminfo', '~> 0.1', :developer
@@ -64,7 +63,7 @@ end
64
63
  ENV['VERSION'] ||= hoespec.spec.version.to_s
65
64
 
66
65
  # Ensure the specs pass before checking in
67
- task 'hg:precheckin' => [ :check_history, :check_manifest, :spec ]
66
+ task 'hg:precheckin' => [ 'ChangeLog', :check_history, :check_manifest, :spec ]
68
67
 
69
68
  ### Make the ChangeLog update if the repo has changed since it was last built
70
69
  file '.hg/branch'
@@ -414,7 +414,8 @@ class Treequel::Model < Treequel::Branch
414
414
  mods = []
415
415
  @values.sort_by {|k, _| k.to_s }.each do |attribute, vals|
416
416
  self.log.debug " finding mods for %s" % [ attribute ]
417
- mods += self.diff_with_entry( attribute, vals )
417
+ mod = self.diff_with_entry( attribute, vals ) or next
418
+ mods << mod
418
419
  end
419
420
 
420
421
  return mods
@@ -438,37 +439,34 @@ class Treequel::Model < Treequel::Branch
438
439
  self.log.debug " comparing %s values to entry: %p vs. %p" %
439
440
  [ attribute, values, entry_values ]
440
441
 
441
- mods = Hash.new {|h,k| h[k] = [] }
442
- Diff::LCS.sdiff( entry_values.sort, values.sort ) do |change|
443
- if change.adding?
444
- self.log.debug " found an addition: %p" % [ change ]
445
- mods[:add] << change.new_element
446
-
447
- elsif change.changed?
448
- self.log.debug " found a modification: %p" % [ change ]
449
- mods[:replace] << [ change.old_element, change.new_element ]
450
-
451
- elsif change.deleting?
452
- self.log.debug " found a deletion: %p" % [ change ]
453
- mods[:del] << change.old_element
454
- end
442
+ # Calculate differences between the values in the directory and the
443
+ # values in the model object
444
+ new_values = values - entry_values
445
+ old_values = entry_values - values
446
+
447
+ # If it's not a delete (no values in the mode), but there were values
448
+ # removed, it's a REPLACE
449
+ if !values.empty? && !old_values.empty?
450
+ self.log.debug " REPLACE %s: %p with %p" %
451
+ [ attribute, entry_values, values ]
452
+ return LDAP::Mod.new( LDAP::LDAP_MOD_REPLACE, attribute, values )
453
+
454
+ # ...if there were values added to the model, it's an ADD
455
+ elsif !new_values.empty?
456
+ self.log.debug " ADD %s: %p" % [ attribute, values ]
457
+ return LDAP::Mod.new( LDAP::LDAP_MOD_ADD, attribute, new_values )
458
+
459
+ # ...or if all the values in the model were removed, it's a DELETE
460
+ elsif values.empty?
461
+ self.log.debug " DELETE %s" % [ attribute ]
462
+ return LDAP::Mod.new( LDAP::LDAP_MOD_DELETE, attribute )
463
+
464
+ # otherwise, it's unchanged.
465
+ else
466
+ self.log.debug " no change."
467
+ return nil
455
468
  end
456
469
 
457
- self.log.debug " attribute %p has modifications: %p" %
458
- [ attribute, mods ] unless mods.empty?
459
-
460
- # Now turn all of the modifications into LDAP::Mod objects, one per modified
461
- # attribute
462
- return mods.collect do |kind, values|
463
- case kind
464
- when :add
465
- LDAP::Mod.new( LDAP::LDAP_MOD_ADD, attribute, values )
466
- when :replace
467
- values.collect {|pair| LDAP::Mod.new(LDAP::LDAP_MOD_REPLACE, attribute, pair) }
468
- when :del
469
- LDAP::Mod.new( LDAP::LDAP_MOD_DELETE, attribute, values )
470
- end
471
- end.flatten.compact
472
470
  end
473
471
 
474
472
 
@@ -71,7 +71,7 @@ class LDAP::Mod
71
71
  ### is alive to prevent the underlying C String pointer from going away.
72
72
  ###
73
73
  ### See line 151 of mod.c.
74
- def initialize( op, attribute, vals )
74
+ def initialize( op, attribute, vals=[] )
75
75
  @attribute = attribute
76
76
  _initialize_ext( op, attribute, vals )
77
77
  end
@@ -199,26 +199,3 @@ class Date
199
199
  include Treequel::DateExtensions
200
200
  end
201
201
 
202
-
203
- ### These three predicates use the wrong instance variable in the library.
204
- ### :TODO: Submit a patch!
205
- module Treequel::DiffLCSChangeTypeTestFixes
206
-
207
- def changed?
208
- @action == '!'
209
- end
210
-
211
- def finished_a?
212
- @action == '>'
213
- end
214
-
215
- def finished_b?
216
- @action == '<'
217
- end
218
-
219
- end
220
-
221
- class Diff::LCS::ContextChange
222
- include Treequel::DiffLCSChangeTypeTestFixes
223
- end
224
-
data/lib/treequel.rb CHANGED
@@ -26,10 +26,10 @@ end
26
26
  module Treequel
27
27
 
28
28
  # Library version
29
- VERSION = '1.8.2'
29
+ VERSION = '1.8.3'
30
30
 
31
31
  # VCS revision
32
- REVISION = %q$Revision: 343aab59c84b $
32
+ REVISION = %q$Revision: 5a4dee114236 $
33
33
 
34
34
  # Common paths for ldap.conf
35
35
  COMMON_LDAP_CONF_PATHS = %w[
@@ -533,7 +533,7 @@ describe Treequel::Model do
533
533
 
534
534
  result.should be_an( Array )
535
535
  result.should have( 1 ).members
536
- result.should include( ldap_mod_replace 'uid', 'slappy', 'slippy' )
536
+ result.should include( ldap_mod_replace 'uid', 'slippy' )
537
537
  end
538
538
 
539
539
  it "reverts the attribute if its #revert method is called" do
@@ -549,7 +549,7 @@ describe Treequel::Model do
549
549
 
550
550
  it "updates the modified attribute when saved" do
551
551
  @conn.should_receive( :modify ).
552
- with( TEST_PERSON_DN, [ldap_mod_replace(:uid, 'slappy', 'slippy')] )
552
+ with( TEST_PERSON_DN, [ldap_mod_replace(:uid, 'slippy')] )
553
553
  @obj.save
554
554
  end
555
555
 
@@ -635,15 +635,12 @@ describe Treequel::Model do
635
635
  result = @obj.modifications
636
636
 
637
637
  result.should be_an( Array )
638
- result.should have( 6 ).members
639
- result.should include( ldap_mod_replace :uid, 'slappy', 'fappy' )
640
- result.should include( ldap_mod_replace :givenName, 'Slappy', 'Fappy' )
641
- result.should include( ldap_mod_replace :displayName, 'Slappy the Frog',
642
- 'Fappy the Bear' )
643
- result.should include( ldap_mod_delete :description, 'Alright.' )
644
- result.should include( ldap_mod_add :description, 'The new mascot.' )
645
- result.should include( ldap_mod_delete :l, 'a forest in England' )
646
-
638
+ result.should include( ldap_mod_replace :uid, 'fappy' )
639
+ result.should include( ldap_mod_replace :givenName, 'Fappy' )
640
+ result.should include( ldap_mod_replace :displayName, 'Fappy the Bear' )
641
+ result.should include( ldap_mod_replace :description,
642
+ 'Smokey the Bear is much more intense in person.', 'The new mascot.' )
643
+ result.should include( ldap_mod_delete :l )
647
644
  end
648
645
 
649
646
  it "reverts all of the attributes if its #revert method is called" do
@@ -710,15 +707,15 @@ describe Treequel::Model do
710
707
 
711
708
  @conn.should_receive( :add ).
712
709
  with( @obj.dn, [
713
- ldap_mod_add("cn", "James"),
714
- ldap_mod_add("displayName", "J. Random Hacker"),
715
- ldap_mod_add("gidNumber", "200"),
716
- ldap_mod_add("homeDirectory", "/u/j/jrandom"),
717
- ldap_mod_add("l", "a forest in England"),
718
- ldap_mod_add("objectClass", "inetOrgPerson", "person", "posixAccount"),
719
- ldap_mod_add("sn", "Hacker"),
720
- ldap_mod_add("uid", "jrandom"),
721
- ldap_mod_add("uidNumber", "1121")
710
+ ldap_mod_add( :cn, "James" ),
711
+ ldap_mod_add( :displayName, "J. Random Hacker" ),
712
+ ldap_mod_add( :gidNumber, "200" ),
713
+ ldap_mod_add( :homeDirectory, "/u/j/jrandom" ),
714
+ ldap_mod_add( :l, "a forest in England" ),
715
+ ldap_mod_add( :objectClass, "person", "inetOrgPerson", "posixAccount" ),
716
+ ldap_mod_add( :sn, "Hacker" ),
717
+ ldap_mod_add( :uid, "jrandom" ),
718
+ ldap_mod_add( :uidNumber, "1121" ),
722
719
  ] )
723
720
 
724
721
  @obj.save
data.tar.gz.sig CHANGED
@@ -1 +1,5 @@
1
- �S�UQ�:U�?d4"6{��}eu��M��G�*�*E����Oϒ���𶍽�sK?l��ъ��p��\'h��ng�h��9e�]�J�o"�n]s���OyE� ��2z�`N�և�%S����&��s� 5�]�<���as���۽z��L��0�Hjeg�4�D7y���,'�`�7���!�>� �Ҙ��9s��nq�ns�7��},�
1
+ �:�������#]X��M���
2
+ �~��3^�l+I�����Фg�O|e�����xO�V4�0�n`J�nʶb�0��H����Z��
3
+ ���o�޴BQ2ϑ���n4d ���|����كjV~�~���ݳ.��yΐ��!*[ڐ`�Q�'�(��Q:�hG
4
+ ?�c-�����9bz���K6&� �fl舋�{(f�Ik�E0\����:�(��W^�_"�,h�
5
+ 0����xz
metadata CHANGED
@@ -1,205 +1,233 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: treequel
3
- version: !ruby/object:Gem::Version
4
- version: 1.8.2
3
+ version: !ruby/object:Gem::Version
4
+ hash: 1923832915
5
5
  prerelease:
6
+ segments:
7
+ - 1
8
+ - 8
9
+ - 3
10
+ - pre
11
+ - 545
12
+ version: 1.8.3.pre545
6
13
  platform: ruby
7
- authors:
14
+ authors:
8
15
  - Michael Granger
9
16
  - Mahlon E. Smith
10
17
  autorequire:
11
18
  bindir: bin
12
- cert_chain:
13
- - ! '-----BEGIN CERTIFICATE-----
14
-
19
+ cert_chain:
20
+ - |
21
+ -----BEGIN CERTIFICATE-----
15
22
  MIIDLDCCAhSgAwIBAgIBADANBgkqhkiG9w0BAQUFADA8MQwwCgYDVQQDDANnZWQx
16
-
17
23
  FzAVBgoJkiaJk/IsZAEZFgdfYWVyaWVfMRMwEQYKCZImiZPyLGQBGRYDb3JnMB4X
18
-
19
24
  DTEwMDkxNjE0NDg1MVoXDTExMDkxNjE0NDg1MVowPDEMMAoGA1UEAwwDZ2VkMRcw
20
-
21
25
  FQYKCZImiZPyLGQBGRYHX2FlcmllXzETMBEGCgmSJomT8ixkARkWA29yZzCCASIw
22
-
23
26
  DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALy//BFxC1f/cPSnwtJBWoFiFrir
24
-
25
27
  h7RicI+joq/ocVXQqI4TDWPyF/8tqkvt+rD99X9qs2YeR8CU/YiIpLWrQOYST70J
26
-
27
28
  vDn7Uvhb2muFVqq6+vobeTkILBEO6pionWDG8jSbo3qKm1RjKJDwg9p4wNKhPuu8
28
-
29
29
  KGue/BFb67KflqyApPmPeb3Vdd9clspzqeFqp7cUBMEpFS6LWxy4Gk+qvFFJBJLB
30
-
31
30
  BUHE/LZVJMVzfpC5Uq+QmY7B+FH/QqNndn3tOHgsPadLTNimuB1sCuL1a4z3Pepd
32
-
33
31
  TeLBEFmEao5Dk3K/Q8o8vlbIB/jBDTUx6Djbgxw77909x6gI9doU4LD5XMcCAwEA
34
-
35
32
  AaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFJeoGkOr9l4B
36
-
37
33
  +saMkW/ZXT4UeSvVMA0GCSqGSIb3DQEBBQUAA4IBAQBG2KObvYI2eHyyBUJSJ3jN
38
-
39
34
  vEnU3d60znAXbrSd2qb3r1lY1EPDD3bcy0MggCfGdg3Xu54z21oqyIdk8uGtWBPL
40
-
41
35
  HIa9EgfFGSUEgvcIvaYqiN4jTUtidfEFw+Ltjs8AP9gWgSIYS6Gr38V0WGFFNzIH
42
-
43
36
  aOD2wmu9oo/RffW4hS/8GuvfMzcw7CQ355wFR4KB/nyze+EsZ1Y5DerCAagMVuDQ
44
-
45
37
  U0BLmWDFzPGGWlPeQCrYHCr+AcJz+NRnaHCKLZdSKj/RHuTOt+gblRex8FAh8NeA
46
-
47
38
  cmlhXe46pZNJgWKbxZah85jIjx95hR8vOI+NAM5iH9kOqK13DrxacTKPhqj5PjwF
48
-
49
39
  -----END CERTIFICATE-----
50
40
 
51
- '
52
- date: 2011-12-20 00:00:00.000000000 Z
53
- dependencies:
54
- - !ruby/object:Gem::Dependency
41
+ date: 2012-01-24 00:00:00 Z
42
+ dependencies:
43
+ - !ruby/object:Gem::Dependency
55
44
  name: ruby-ldap
56
- requirement: &70151954119220 !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: '0.9'
62
- type: :runtime
63
45
  prerelease: false
64
- version_requirements: *70151954119220
65
- - !ruby/object:Gem::Dependency
66
- name: diff-lcs
67
- requirement: &70151954118800 !ruby/object:Gem::Requirement
46
+ requirement: &id001 !ruby/object:Gem::Requirement
68
47
  none: false
69
- requirements:
48
+ requirements:
70
49
  - - ~>
71
- - !ruby/object:Gem::Version
72
- version: '1.1'
50
+ - !ruby/object:Gem::Version
51
+ hash: 25
52
+ segments:
53
+ - 0
54
+ - 9
55
+ version: "0.9"
73
56
  type: :runtime
74
- prerelease: false
75
- version_requirements: *70151954118800
76
- - !ruby/object:Gem::Dependency
57
+ version_requirements: *id001
58
+ - !ruby/object:Gem::Dependency
77
59
  name: hoe-mercurial
78
- requirement: &70151954118240 !ruby/object:Gem::Requirement
60
+ prerelease: false
61
+ requirement: &id002 !ruby/object:Gem::Requirement
79
62
  none: false
80
- requirements:
63
+ requirements:
81
64
  - - ~>
82
- - !ruby/object:Gem::Version
65
+ - !ruby/object:Gem::Version
66
+ hash: 25
67
+ segments:
68
+ - 1
69
+ - 3
70
+ - 1
83
71
  version: 1.3.1
84
72
  type: :development
73
+ version_requirements: *id002
74
+ - !ruby/object:Gem::Dependency
75
+ name: hoe-highline
85
76
  prerelease: false
86
- version_requirements: *70151954118240
87
- - !ruby/object:Gem::Dependency
88
- name: hoe-manualgen
89
- requirement: &70151954117640 !ruby/object:Gem::Requirement
77
+ requirement: &id003 !ruby/object:Gem::Requirement
90
78
  none: false
91
- requirements:
79
+ requirements:
92
80
  - - ~>
93
- - !ruby/object:Gem::Version
94
- version: 0.2.0
81
+ - !ruby/object:Gem::Version
82
+ hash: 29
83
+ segments:
84
+ - 0
85
+ - 0
86
+ - 1
87
+ version: 0.0.1
95
88
  type: :development
89
+ version_requirements: *id003
90
+ - !ruby/object:Gem::Dependency
91
+ name: rspec
96
92
  prerelease: false
97
- version_requirements: *70151954117640
98
- - !ruby/object:Gem::Dependency
99
- name: hoe-highline
100
- requirement: &70151954117140 !ruby/object:Gem::Requirement
93
+ requirement: &id004 !ruby/object:Gem::Requirement
101
94
  none: false
102
- requirements:
95
+ requirements:
103
96
  - - ~>
104
- - !ruby/object:Gem::Version
105
- version: 0.0.1
97
+ - !ruby/object:Gem::Version
98
+ hash: 13
99
+ segments:
100
+ - 2
101
+ - 7
102
+ version: "2.7"
106
103
  type: :development
104
+ version_requirements: *id004
105
+ - !ruby/object:Gem::Dependency
106
+ name: ruby-termios
107
107
  prerelease: false
108
- version_requirements: *70151954117140
109
- - !ruby/object:Gem::Dependency
110
- name: rspec
111
- requirement: &70151954116680 !ruby/object:Gem::Requirement
108
+ requirement: &id005 !ruby/object:Gem::Requirement
112
109
  none: false
113
- requirements:
110
+ requirements:
114
111
  - - ~>
115
- - !ruby/object:Gem::Version
116
- version: '2.7'
112
+ - !ruby/object:Gem::Version
113
+ hash: 25
114
+ segments:
115
+ - 0
116
+ - 9
117
+ version: "0.9"
117
118
  type: :development
119
+ version_requirements: *id005
120
+ - !ruby/object:Gem::Dependency
121
+ name: ruby-terminfo
118
122
  prerelease: false
119
- version_requirements: *70151954116680
120
- - !ruby/object:Gem::Dependency
121
- name: ruby-termios
122
- requirement: &70151954116240 !ruby/object:Gem::Requirement
123
+ requirement: &id006 !ruby/object:Gem::Requirement
123
124
  none: false
124
- requirements:
125
+ requirements:
125
126
  - - ~>
126
- - !ruby/object:Gem::Version
127
- version: '0.9'
127
+ - !ruby/object:Gem::Version
128
+ hash: 9
129
+ segments:
130
+ - 0
131
+ - 1
132
+ version: "0.1"
128
133
  type: :development
134
+ version_requirements: *id006
135
+ - !ruby/object:Gem::Dependency
136
+ name: columnize
129
137
  prerelease: false
130
- version_requirements: *70151954116240
131
- - !ruby/object:Gem::Dependency
132
- name: ruby-terminfo
133
- requirement: &70151954115820 !ruby/object:Gem::Requirement
138
+ requirement: &id007 !ruby/object:Gem::Requirement
134
139
  none: false
135
- requirements:
140
+ requirements:
136
141
  - - ~>
137
- - !ruby/object:Gem::Version
138
- version: '0.1'
142
+ - !ruby/object:Gem::Version
143
+ hash: 13
144
+ segments:
145
+ - 0
146
+ - 3
147
+ version: "0.3"
139
148
  type: :development
149
+ version_requirements: *id007
150
+ - !ruby/object:Gem::Dependency
151
+ name: sysexits
140
152
  prerelease: false
141
- version_requirements: *70151954115820
142
- - !ruby/object:Gem::Dependency
143
- name: columnize
144
- requirement: &70151954115400 !ruby/object:Gem::Requirement
153
+ requirement: &id008 !ruby/object:Gem::Requirement
145
154
  none: false
146
- requirements:
155
+ requirements:
147
156
  - - ~>
148
- - !ruby/object:Gem::Version
149
- version: '0.3'
157
+ - !ruby/object:Gem::Version
158
+ hash: 15
159
+ segments:
160
+ - 1
161
+ - 0
162
+ version: "1.0"
150
163
  type: :development
164
+ version_requirements: *id008
165
+ - !ruby/object:Gem::Dependency
166
+ name: sequel
151
167
  prerelease: false
152
- version_requirements: *70151954115400
153
- - !ruby/object:Gem::Dependency
154
- name: sysexits
155
- requirement: &70151954114960 !ruby/object:Gem::Requirement
168
+ requirement: &id009 !ruby/object:Gem::Requirement
156
169
  none: false
157
- requirements:
170
+ requirements:
158
171
  - - ~>
159
- - !ruby/object:Gem::Version
160
- version: '1.0'
172
+ - !ruby/object:Gem::Version
173
+ hash: 47
174
+ segments:
175
+ - 3
176
+ - 20
177
+ version: "3.20"
161
178
  type: :development
179
+ version_requirements: *id009
180
+ - !ruby/object:Gem::Dependency
181
+ name: rdoc
162
182
  prerelease: false
163
- version_requirements: *70151954114960
164
- - !ruby/object:Gem::Dependency
165
- name: sequel
166
- requirement: &70151954114520 !ruby/object:Gem::Requirement
183
+ requirement: &id010 !ruby/object:Gem::Requirement
167
184
  none: false
168
- requirements:
185
+ requirements:
169
186
  - - ~>
170
- - !ruby/object:Gem::Version
171
- version: '3.20'
187
+ - !ruby/object:Gem::Version
188
+ hash: 19
189
+ segments:
190
+ - 3
191
+ - 10
192
+ version: "3.10"
172
193
  type: :development
173
- prerelease: false
174
- version_requirements: *70151954114520
175
- - !ruby/object:Gem::Dependency
194
+ version_requirements: *id010
195
+ - !ruby/object:Gem::Dependency
176
196
  name: hoe
177
- requirement: &70151954114100 !ruby/object:Gem::Requirement
197
+ prerelease: false
198
+ requirement: &id011 !ruby/object:Gem::Requirement
178
199
  none: false
179
- requirements:
200
+ requirements:
180
201
  - - ~>
181
- - !ruby/object:Gem::Version
182
- version: '2.12'
202
+ - !ruby/object:Gem::Version
203
+ hash: 27
204
+ segments:
205
+ - 2
206
+ - 12
207
+ version: "2.12"
183
208
  type: :development
184
- prerelease: false
185
- version_requirements: *70151954114100
186
- description: ! "Treequel is an LDAP toolkit for Ruby. It is intended to allow quick,
187
- easy\naccess to LDAP directories in a manner consistent with LDAP's hierarchical,\nfree-form
188
- nature. \n\nIt's inspired by and modeled after [Sequel](http://sequel.rubyforge.org/),
189
- a\nkick-ass database library."
190
- email:
209
+ version_requirements: *id011
210
+ description: |-
211
+ Treequel is an LDAP toolkit for Ruby. It is intended to allow quick, easy
212
+ access to LDAP directories in a manner consistent with LDAP's hierarchical,
213
+ free-form nature.
214
+
215
+ It's inspired by and modeled after [Sequel](http://sequel.rubyforge.org/), a
216
+ kick-ass database library.
217
+ email:
191
218
  - ged@FaerieMUD.org
192
219
  - mahlon@martini.nu
193
- executables:
220
+ executables:
194
221
  - treeirb
195
222
  - treequel
196
223
  - treewhat
197
224
  extensions: []
198
- extra_rdoc_files:
225
+
226
+ extra_rdoc_files:
199
227
  - Manifest.txt
200
228
  - History.rdoc
201
229
  - README.rdoc
202
- files:
230
+ files:
203
231
  - .gemtest
204
232
  - ChangeLog
205
233
  - History.rdoc
@@ -273,33 +301,50 @@ files:
273
301
  - spec/treequel/schema_spec.rb
274
302
  - spec/treequel_spec.rb
275
303
  homepage: http://deveiate.org/projects/Treequel
276
- licenses:
304
+ licenses:
277
305
  - BSD
278
- post_install_message: ! "If you want to use the included 'treequel' LDAP shell, you'll
279
- need to install\nthe following libraries as well:\n\n - ruby-termios\n - ruby-terminfo\n
280
- \ - columnize\n - sysexits\n\nYou can install them automatically if you use
281
- the --development flag when\ninstalling Treequel."
282
- rdoc_options:
306
+ post_install_message: |-
307
+ If you want to use the included 'treequel' LDAP shell, you'll need to install
308
+ the following libraries as well:
309
+
310
+ - ruby-termios
311
+ - ruby-terminfo
312
+ - columnize
313
+ - sysexits
314
+
315
+ You can install them automatically if you use the --development flag when
316
+ installing Treequel.
317
+ rdoc_options:
283
318
  - --main
284
319
  - README.rdoc
285
- require_paths:
320
+ require_paths:
286
321
  - lib
287
- required_ruby_version: !ruby/object:Gem::Requirement
322
+ required_ruby_version: !ruby/object:Gem::Requirement
288
323
  none: false
289
- requirements:
290
- - - ! '>='
291
- - !ruby/object:Gem::Version
324
+ requirements:
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ hash: 57
328
+ segments:
329
+ - 1
330
+ - 8
331
+ - 7
292
332
  version: 1.8.7
293
- required_rubygems_version: !ruby/object:Gem::Requirement
333
+ required_rubygems_version: !ruby/object:Gem::Requirement
294
334
  none: false
295
- requirements:
296
- - - ! '>='
297
- - !ruby/object:Gem::Version
298
- version: '0'
335
+ requirements:
336
+ - - ">="
337
+ - !ruby/object:Gem::Version
338
+ hash: 3
339
+ segments:
340
+ - 0
341
+ version: "0"
299
342
  requirements: []
343
+
300
344
  rubyforge_project: treequel
301
- rubygems_version: 1.8.11
345
+ rubygems_version: 1.8.12
302
346
  signing_key:
303
347
  specification_version: 3
304
348
  summary: Treequel is an LDAP toolkit for Ruby
305
349
  test_files: []
350
+
metadata.gz.sig CHANGED
Binary file