Skip to content

Commit 0cc5305

Browse files
authored
Merge pull request #52 from larskanis/erb
Allow ERb syntax in config file
2 parents 2ddcaf2 + 5ebeac7 commit 0cc5305

File tree

4 files changed

+8
-3
lines changed

4 files changed

+8
-3
lines changed

lib/pg_ldap_sync/application.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
require "net/ldap"
44
require "optparse"
5+
require "erb"
56
require "yaml"
67
require "json-schema"
78
require "pg"
@@ -37,7 +38,7 @@ def validate_config(config, schema, fname)
3738

3839
def read_config_file(fname)
3940
raise "Config file #{fname.inspect} does not exist" unless File.exist?(fname)
40-
config = YAML.load_file(fname)
41+
config = YAML.load(ERB.new(File.read(fname)).result)
4142

4243
schema_fname = File.join(File.dirname(__FILE__), "../../config/schema.yaml")
4344
validate_config(config, schema_fname, fname)

pg-ldap-sync.gemspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
2121
spec.rdoc_options = %w[--main README.md --charset=UTF-8]
2222
spec.required_ruby_version = ">= 2.3"
2323

24+
spec.add_runtime_dependency "erb", ">= 1"
2425
spec.add_runtime_dependency "net-ldap", "~> 0.16"
2526
spec.add_runtime_dependency "json-schema", ">= 2"
2627
spec.add_runtime_dependency "pg", ">= 0.14", "< 2.0"

test/fixtures/config-ldapdb-bothcase.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
ldap_connection:
33
host: localhost
4-
port: 1389
4+
port: <%= ENV["LDAP_PORT"] || 999 %>
55

66
ldap_users:
77
base: dc=example,dc=com

test/test_pg_ldap_sync.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,13 +170,16 @@ def test_add_membership
170170
assert_role("Fred", "", ["All Users", "Flintstones", "Wilmas"])
171171
end
172172

173-
def test_add_membership_bothcase
173+
def test_add_membership_bothcase_with_erb
174+
old_env, ENV['LDAP_PORT'] = ENV['LDAP_PORT'], "1389"
174175
sync_change(config: "config-ldapdb-bothcase") do |dir|
175176
# add 'Fred' to 'Wilmas'
176177
@directory[0]["cn=Wilmas,dc=example,dc=com"]["member"] << "cn=Fred Flintstone,dc=example,dc=com"
177178
end
178179
assert_role("fred", "", ["All Users", "all users", "Flintstones", "flintstones", "Wilmas", "wilmas"])
179180
assert_role("Fred", "", ["All Users", "all users", "Flintstones", "flintstones", "Wilmas", "wilmas"])
181+
ensure
182+
ENV['LDAP_PORT'] = old_env
180183
end
181184

182185
def test_revoke_membership

0 commit comments

Comments
 (0)