ldif-dsl 0.1.1
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.
- checksums.yaml +7 -0
- data/.gitignore +41 -0
- data/Gemfile +3 -0
- data/README.md +4 -0
- data/ldif_dsl.gemspec +21 -0
- data/lib/ldif/dsl/content_builder.rb +47 -0
- data/lib/ldif/dsl/group.rb +37 -0
- data/lib/ldif/dsl/person.rb +50 -0
- data/lib/ldif/dsl.rb +11 -0
- data/lib/ldif/version.rb +3 -0
- data/lib/ldif.rb +5 -0
- data/spec/lib/ldif/dsl/content_builder_spec.rb +90 -0
- data/spec/lib/ldif/dsl/groups_spec.rb +75 -0
- data/spec/lib/ldif/dsl/persons_spec.rb +84 -0
- data/spec/lib/ldif/dsl_spec.rb +75 -0
- data/spec/spec_helper.rb +6 -0
- metadata +100 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ea39ff30661175f50949c7af00144b08ae4f001f
|
4
|
+
data.tar.gz: 568323afda404f244bef5512b0d1307fbd7d5a63
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 1f72bd3f6c3cb8aaafb238d38f95bc1cee3dc29d7197e563803f6f9d60104b9913dabdd788948d4ae64e74b10d87be9dc6eb0e2c535dc24a105ae36ddeeaa508
|
7
|
+
data.tar.gz: c26b552b0dac3e55d79e4084ae390e7eb895e5d2369e0337aa670547f481bef6dfad2cfefb007845f0fd17724b90f2b2a116acac1f853c2f71c980aa0d75f607
|
data/.gitignore
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
/.config
|
4
|
+
/coverage/
|
5
|
+
/InstalledFiles
|
6
|
+
/pkg/
|
7
|
+
/spec/reports/
|
8
|
+
/test/tmp/
|
9
|
+
/test/version_tmp/
|
10
|
+
/tmp/
|
11
|
+
|
12
|
+
## Specific to RubyMotion:
|
13
|
+
.dat*
|
14
|
+
.repl_history
|
15
|
+
build/
|
16
|
+
|
17
|
+
## Documentation cache and generated files:
|
18
|
+
/.yardoc/
|
19
|
+
/_yardoc/
|
20
|
+
/doc/
|
21
|
+
/rdoc/
|
22
|
+
|
23
|
+
## Environment normalisation:
|
24
|
+
/.bundle/
|
25
|
+
/lib/bundler/man/
|
26
|
+
|
27
|
+
# for a library or gem, you might want to ignore these files since the code is
|
28
|
+
# intended to run in multiple environments; otherwise, check them in:
|
29
|
+
# Gemfile.lock
|
30
|
+
# .ruby-version
|
31
|
+
# .ruby-gemset
|
32
|
+
|
33
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
34
|
+
.rvmrc
|
35
|
+
.idea/
|
36
|
+
.bundle
|
37
|
+
.config
|
38
|
+
.rspec
|
39
|
+
.ruby-version
|
40
|
+
.ruby-gemset
|
41
|
+
Gemfile.lock
|
data/Gemfile
ADDED
data/README.md
ADDED
data/ldif_dsl.gemspec
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
2
|
+
require "ldif/version"
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.name = "ldif-dsl"
|
6
|
+
s.version = LDIF::VERSION
|
7
|
+
s.platform = Gem::Platform::RUBY
|
8
|
+
s.authors = ['Ivan Yurchenko']
|
9
|
+
s.email = ['vanya.yu@gmail.com']
|
10
|
+
s.homepage = ''
|
11
|
+
s.summary = %q{DSL for building ldif config for ladle server}
|
12
|
+
s.description = %q{DSL for building ldif config for ladle server}
|
13
|
+
|
14
|
+
s.add_dependency 'docile'
|
15
|
+
s.add_development_dependency 'rspec'
|
16
|
+
s.add_development_dependency 'rspec-its'
|
17
|
+
|
18
|
+
s.files = `git ls-files`.split("\n")
|
19
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
20
|
+
s.require_paths = %w[lib]
|
21
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'docile'
|
2
|
+
require_relative 'group'
|
3
|
+
require_relative 'person'
|
4
|
+
|
5
|
+
module LDIF
|
6
|
+
module DSL
|
7
|
+
class ContentBuilder
|
8
|
+
def initialize
|
9
|
+
@groups = []
|
10
|
+
@people = []
|
11
|
+
end
|
12
|
+
|
13
|
+
def person(&block)
|
14
|
+
@people.push(Docile.dsl_eval(Person::Builder.new, &block).build)
|
15
|
+
self
|
16
|
+
end
|
17
|
+
|
18
|
+
def group(&block)
|
19
|
+
@groups.push(Docile.dsl_eval(Group::Builder.new, &block).build)
|
20
|
+
self
|
21
|
+
end
|
22
|
+
|
23
|
+
def build
|
24
|
+
billet = "version: 1\n\n"
|
25
|
+
billet << organizational_unit('people')
|
26
|
+
billet << "\n"
|
27
|
+
billet << organizational_unit('groups')
|
28
|
+
billet << "\n"
|
29
|
+
billet << @groups.join("\n")
|
30
|
+
billet << "\n"
|
31
|
+
billet << @people.join("\n")
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
attr_accessor :people, :groups
|
36
|
+
|
37
|
+
def organizational_unit(name)
|
38
|
+
<<-TEXT
|
39
|
+
dn: ou=#{name},dc=test
|
40
|
+
ou: #{name}
|
41
|
+
objectClass: top
|
42
|
+
objectClass: organizationalUnit
|
43
|
+
TEXT
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module LDIF
|
2
|
+
module DSL
|
3
|
+
class Group < Struct.new(:name, :members)
|
4
|
+
def to_s
|
5
|
+
billet = <<-TEXT
|
6
|
+
dn: cn=#{name},ou=groups,dc=test
|
7
|
+
objectClass: top
|
8
|
+
objectClass: groupOfUniqueNames
|
9
|
+
cn: #{name}
|
10
|
+
ou: groups
|
11
|
+
TEXT
|
12
|
+
billet << members.map { |m| "uniqueMember: cn=#{m},ou=people,dc=test" }.join("\n")
|
13
|
+
billet << "\n"
|
14
|
+
end
|
15
|
+
|
16
|
+
class Builder
|
17
|
+
def initialize
|
18
|
+
@members = []
|
19
|
+
end
|
20
|
+
|
21
|
+
def name(name)
|
22
|
+
@name = name
|
23
|
+
self
|
24
|
+
end
|
25
|
+
|
26
|
+
def member(email)
|
27
|
+
@members.push(email)
|
28
|
+
self
|
29
|
+
end
|
30
|
+
|
31
|
+
def build
|
32
|
+
Group.new(@name, @members)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module LDIF
|
2
|
+
module DSL
|
3
|
+
class Person < Struct.new(:first_name, :second_name, :password)
|
4
|
+
def to_s
|
5
|
+
<<-TEXT
|
6
|
+
dn: cn=#{username},ou=people,dc=test
|
7
|
+
cn: #{username}
|
8
|
+
sn: #{second_name}
|
9
|
+
givenName: #{first_name}
|
10
|
+
mail: #{mail}
|
11
|
+
userPassword: #{password}
|
12
|
+
objectClass: top
|
13
|
+
objectClass: person
|
14
|
+
objectClass: organizationalPerson
|
15
|
+
objectClass: inetOrgPerson
|
16
|
+
TEXT
|
17
|
+
end
|
18
|
+
|
19
|
+
class Builder
|
20
|
+
def first_name(first_name)
|
21
|
+
@first_name = first_name
|
22
|
+
self
|
23
|
+
end
|
24
|
+
|
25
|
+
def second_name(second_name)
|
26
|
+
@second_name = second_name
|
27
|
+
self
|
28
|
+
end
|
29
|
+
|
30
|
+
def password(plain_password)
|
31
|
+
@password = "{SHA}#{Digest::SHA1.base64digest(plain_password)}"
|
32
|
+
self
|
33
|
+
end
|
34
|
+
|
35
|
+
def build
|
36
|
+
Person.new(@first_name, @second_name, @password)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
def username
|
42
|
+
@username ||= [first_name, second_name].join('_')
|
43
|
+
end
|
44
|
+
|
45
|
+
def mail
|
46
|
+
@mail ||= "#{username}@example.com"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
data/lib/ldif/dsl.rb
ADDED
data/lib/ldif/version.rb
ADDED
data/lib/ldif.rb
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module LDIF
|
4
|
+
module DSL
|
5
|
+
describe ContentBuilder do
|
6
|
+
let(:content_builder) { ContentBuilder.new }
|
7
|
+
let(:email) { 'John_Doe' }
|
8
|
+
let(:group_name) { 'administrators'}
|
9
|
+
let(:first_name) { 'John' }
|
10
|
+
let(:second_name) { 'Doe' }
|
11
|
+
let(:password) { '123qwe' }
|
12
|
+
|
13
|
+
let(:result_string) do
|
14
|
+
<<-TEXT
|
15
|
+
version: 1
|
16
|
+
|
17
|
+
dn: ou=people,dc=test
|
18
|
+
ou: people
|
19
|
+
objectClass: top
|
20
|
+
objectClass: organizationalUnit
|
21
|
+
|
22
|
+
dn: ou=groups,dc=test
|
23
|
+
ou: groups
|
24
|
+
objectClass: top
|
25
|
+
objectClass: organizationalUnit
|
26
|
+
|
27
|
+
dn: cn=administrators,ou=groups,dc=test
|
28
|
+
objectClass: top
|
29
|
+
objectClass: groupOfUniqueNames
|
30
|
+
cn: administrators
|
31
|
+
ou: groups
|
32
|
+
uniqueMember: cn=John_Doe,ou=people,dc=test
|
33
|
+
|
34
|
+
dn: cn=John_Doe,ou=people,dc=test
|
35
|
+
cn: John_Doe
|
36
|
+
sn: Doe
|
37
|
+
givenName: John
|
38
|
+
mail: John_Doe@example.com
|
39
|
+
userPassword: {SHA}Bf50YcYHwzIpdy1AJQVgEBan0Oo=
|
40
|
+
objectClass: top
|
41
|
+
objectClass: person
|
42
|
+
objectClass: organizationalPerson
|
43
|
+
objectClass: inetOrgPerson
|
44
|
+
TEXT
|
45
|
+
end
|
46
|
+
|
47
|
+
subject { content_builder }
|
48
|
+
|
49
|
+
context 'Set people' do
|
50
|
+
before do
|
51
|
+
content_builder.person do
|
52
|
+
first_name 'John'
|
53
|
+
second_name 'Doe'
|
54
|
+
password '123qwe'
|
55
|
+
end
|
56
|
+
end
|
57
|
+
its(:people) { should == [Person.new(first_name, second_name, "{SHA}#{Digest::SHA1.base64digest(password)}")] }
|
58
|
+
end
|
59
|
+
|
60
|
+
context 'Set group' do
|
61
|
+
before do
|
62
|
+
content_builder.group do
|
63
|
+
name group_name
|
64
|
+
member "#{first_name}_#{second_name}"
|
65
|
+
end
|
66
|
+
end
|
67
|
+
its(:groups) { should == [Group.new(group_name, [email])] }
|
68
|
+
end
|
69
|
+
|
70
|
+
context 'build' do
|
71
|
+
before do
|
72
|
+
content_builder.person do
|
73
|
+
first_name 'John'
|
74
|
+
second_name 'Doe'
|
75
|
+
password '123qwe'
|
76
|
+
end
|
77
|
+
|
78
|
+
content_builder.group do
|
79
|
+
name group_name
|
80
|
+
member "#{first_name}_#{second_name}"
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|
84
|
+
its(:build) { should == result_string }
|
85
|
+
end
|
86
|
+
|
87
|
+
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
module LDIF
|
2
|
+
module DSL
|
3
|
+
describe Group do
|
4
|
+
let(:builder) { Group::Builder.new }
|
5
|
+
let(:group) { builder.build }
|
6
|
+
let(:name) { 'Name' }
|
7
|
+
let(:email) { 'email@example.com' }
|
8
|
+
let(:result_string_without_members) do
|
9
|
+
<<-TEXT
|
10
|
+
dn: cn=#{name},ou=groups,dc=test
|
11
|
+
objectClass: top
|
12
|
+
objectClass: groupOfUniqueNames
|
13
|
+
cn: #{name}
|
14
|
+
ou: groups
|
15
|
+
|
16
|
+
TEXT
|
17
|
+
end
|
18
|
+
|
19
|
+
let(:result_string_with_one_member) do
|
20
|
+
<<-TEXT
|
21
|
+
dn: cn=#{name},ou=groups,dc=test
|
22
|
+
objectClass: top
|
23
|
+
objectClass: groupOfUniqueNames
|
24
|
+
cn: #{name}
|
25
|
+
ou: groups
|
26
|
+
uniqueMember: cn=#{email},ou=people,dc=test
|
27
|
+
TEXT
|
28
|
+
end
|
29
|
+
|
30
|
+
subject { group }
|
31
|
+
|
32
|
+
context 'Initialize' do
|
33
|
+
let(:g) { Group.new(name, [email]) }
|
34
|
+
subject { g }
|
35
|
+
its(:name) { should eq name }
|
36
|
+
its(:members) { should match_array([email]) }
|
37
|
+
end
|
38
|
+
|
39
|
+
context 'name = #{name}' do
|
40
|
+
before { builder.name name }
|
41
|
+
its(:name) { should == name }
|
42
|
+
end
|
43
|
+
|
44
|
+
context 'group without members' do
|
45
|
+
its(:members) { should be_empty }
|
46
|
+
end
|
47
|
+
|
48
|
+
context 'group with one member' do
|
49
|
+
before { builder.member(email) }
|
50
|
+
its(:members) { should == [email] }
|
51
|
+
end
|
52
|
+
|
53
|
+
context 'to_s with one member' do
|
54
|
+
before { builder.name(name) }
|
55
|
+
its(:to_s) { should == result_string_without_members }
|
56
|
+
end
|
57
|
+
|
58
|
+
context 'to_s with one member' do
|
59
|
+
before do
|
60
|
+
builder.name(name)
|
61
|
+
builder.member(email)
|
62
|
+
end
|
63
|
+
its(:to_s) { should == result_string_with_one_member }
|
64
|
+
end
|
65
|
+
|
66
|
+
context 'build' do
|
67
|
+
before do
|
68
|
+
builder.name name
|
69
|
+
builder.member email
|
70
|
+
end
|
71
|
+
it { expect(group).to eq Group.new(name, [email]) }
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
module LDIF
|
2
|
+
module DSL
|
3
|
+
|
4
|
+
describe Person do
|
5
|
+
let(:builder) { Person::Builder.new }
|
6
|
+
let(:person) { builder.build }
|
7
|
+
let(:first_name) { 'Name' }
|
8
|
+
let(:second_name) { 'Second_Name' }
|
9
|
+
let(:username) { [first_name, second_name].join('_') }
|
10
|
+
let(:password) { 'password' }
|
11
|
+
let(:mail) { "#{username}@example.com" }
|
12
|
+
subject { person }
|
13
|
+
|
14
|
+
context 'Initialize' do
|
15
|
+
let(:p) { Person.new(first_name, second_name, password) }
|
16
|
+
subject { p }
|
17
|
+
|
18
|
+
its(:first_name) { should eq first_name }
|
19
|
+
its(:second_name) { should eq second_name }
|
20
|
+
its(:password) { should eq password }
|
21
|
+
end
|
22
|
+
|
23
|
+
context 'first name = #{first_name}' do
|
24
|
+
before { builder.first_name first_name }
|
25
|
+
its(:first_name) { should == first_name }
|
26
|
+
end
|
27
|
+
|
28
|
+
context 'second name = #{second_name}' do
|
29
|
+
before { builder.second_name second_name }
|
30
|
+
its(:second_name) { should == second_name }
|
31
|
+
end
|
32
|
+
|
33
|
+
context 'password = #{password}' do
|
34
|
+
before { builder.password password }
|
35
|
+
its(:password) { should == "{SHA}#{Digest::SHA1.base64digest(password)}" }
|
36
|
+
end
|
37
|
+
|
38
|
+
context 'build' do
|
39
|
+
before do
|
40
|
+
builder.first_name first_name
|
41
|
+
builder.second_name second_name
|
42
|
+
builder.password password
|
43
|
+
end
|
44
|
+
it { expect(person).to eq Person.new(first_name, second_name, "{SHA}#{Digest::SHA1.base64digest(password)}") }
|
45
|
+
end
|
46
|
+
|
47
|
+
context 'username = #{username}' do
|
48
|
+
before do
|
49
|
+
builder.first_name first_name
|
50
|
+
builder.second_name second_name
|
51
|
+
end
|
52
|
+
its(:username) { should == username }
|
53
|
+
end
|
54
|
+
|
55
|
+
context 'mail = #{mail}' do
|
56
|
+
before do
|
57
|
+
builder.first_name first_name
|
58
|
+
builder.second_name second_name
|
59
|
+
end
|
60
|
+
its(:mail) { should == mail }
|
61
|
+
end
|
62
|
+
|
63
|
+
context 'to_s' do
|
64
|
+
let(:result_string) do
|
65
|
+
<<-TEXT
|
66
|
+
dn: cn=#{username},ou=people,dc=test
|
67
|
+
cn: #{username}
|
68
|
+
sn: #{second_name}
|
69
|
+
givenName: #{first_name}
|
70
|
+
mail: #{mail}
|
71
|
+
userPassword: #{password}
|
72
|
+
objectClass: top
|
73
|
+
objectClass: person
|
74
|
+
objectClass: organizationalPerson
|
75
|
+
objectClass: inetOrgPerson
|
76
|
+
TEXT
|
77
|
+
end
|
78
|
+
subject { Person.new(first_name, second_name, password) }
|
79
|
+
its(:to_s) { should == result_string }
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
describe '.ldif' do
|
2
|
+
let(:for_empty_block) do
|
3
|
+
<<-TEXT
|
4
|
+
version: 1
|
5
|
+
|
6
|
+
dn: ou=people,dc=test\nou: people
|
7
|
+
objectClass: top
|
8
|
+
objectClass: organizationalUnit
|
9
|
+
|
10
|
+
dn: ou=groups,dc=test
|
11
|
+
ou: groups
|
12
|
+
objectClass: top
|
13
|
+
objectClass: organizationalUnit
|
14
|
+
|
15
|
+
|
16
|
+
TEXT
|
17
|
+
end
|
18
|
+
|
19
|
+
let(:for_no_empty_block) do
|
20
|
+
<<-TEXT
|
21
|
+
version: 1
|
22
|
+
|
23
|
+
dn: ou=people,dc=test
|
24
|
+
ou: people
|
25
|
+
objectClass: top
|
26
|
+
objectClass: organizationalUnit
|
27
|
+
|
28
|
+
dn: ou=groups,dc=test
|
29
|
+
ou: groups
|
30
|
+
objectClass: top
|
31
|
+
objectClass: organizationalUnit
|
32
|
+
|
33
|
+
dn: cn=administrators,ou=groups,dc=test
|
34
|
+
objectClass: top
|
35
|
+
objectClass: groupOfUniqueNames
|
36
|
+
cn: administrators
|
37
|
+
ou: groups
|
38
|
+
uniqueMember: cn=John_Doe,ou=people,dc=test
|
39
|
+
|
40
|
+
dn: cn=John_Doe,ou=people,dc=test
|
41
|
+
cn: John_Doe\nsn: Doe
|
42
|
+
givenName: John
|
43
|
+
mail: John_Doe@example.com
|
44
|
+
userPassword: {SHA}Bf50YcYHwzIpdy1AJQVgEBan0Oo=
|
45
|
+
objectClass: top
|
46
|
+
objectClass: person
|
47
|
+
objectClass: organizationalPerson
|
48
|
+
objectClass: inetOrgPerson
|
49
|
+
TEXT
|
50
|
+
end
|
51
|
+
|
52
|
+
let(:block) do
|
53
|
+
proc do
|
54
|
+
person do
|
55
|
+
first_name 'John'
|
56
|
+
second_name 'Doe'
|
57
|
+
password '123qwe'
|
58
|
+
end
|
59
|
+
|
60
|
+
group do
|
61
|
+
name 'administrators'
|
62
|
+
member 'John_Doe'
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
context 'empty block' do
|
68
|
+
it { expect(LDIF::DSL.ldif {}).to eq for_empty_block}
|
69
|
+
end
|
70
|
+
|
71
|
+
context 'with block' do
|
72
|
+
it { expect(LDIF::DSL.ldif(&block)).to eq for_no_empty_block}
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ldif-dsl
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ivan Yurchenko
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-10-05 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: docile
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec-its
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
description: DSL for building ldif config for ladle server
|
56
|
+
email:
|
57
|
+
- vanya.yu@gmail.com
|
58
|
+
executables: []
|
59
|
+
extensions: []
|
60
|
+
extra_rdoc_files: []
|
61
|
+
files:
|
62
|
+
- ".gitignore"
|
63
|
+
- Gemfile
|
64
|
+
- README.md
|
65
|
+
- ldif_dsl.gemspec
|
66
|
+
- lib/ldif.rb
|
67
|
+
- lib/ldif/dsl.rb
|
68
|
+
- lib/ldif/dsl/content_builder.rb
|
69
|
+
- lib/ldif/dsl/group.rb
|
70
|
+
- lib/ldif/dsl/person.rb
|
71
|
+
- lib/ldif/version.rb
|
72
|
+
- spec/lib/ldif/dsl/content_builder_spec.rb
|
73
|
+
- spec/lib/ldif/dsl/groups_spec.rb
|
74
|
+
- spec/lib/ldif/dsl/persons_spec.rb
|
75
|
+
- spec/lib/ldif/dsl_spec.rb
|
76
|
+
- spec/spec_helper.rb
|
77
|
+
homepage: ''
|
78
|
+
licenses: []
|
79
|
+
metadata: {}
|
80
|
+
post_install_message:
|
81
|
+
rdoc_options: []
|
82
|
+
require_paths:
|
83
|
+
- lib
|
84
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
requirements: []
|
95
|
+
rubyforge_project:
|
96
|
+
rubygems_version: 2.2.2
|
97
|
+
signing_key:
|
98
|
+
specification_version: 4
|
99
|
+
summary: DSL for building ldif config for ladle server
|
100
|
+
test_files: []
|