bind9mgr 0.2.6 → 0.2.7

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/lib/bind9mgr.rb CHANGED
@@ -6,7 +6,7 @@ require File.join( File.dirname(__FILE__), 'resource_record' )
6
6
  require File.join( File.dirname(__FILE__), 'parser' )
7
7
 
8
8
  module Bind9mgr
9
- VERSION = '0.2.6'
9
+ VERSION = '0.2.7'
10
10
 
11
11
  ZONES_BIND_SUBDIR = 'primary'
12
12
 
data/lib/named_conf.rb CHANGED
@@ -66,9 +66,16 @@ module Bind9mgr
66
66
 
67
67
  def write_zones
68
68
  @zones.uniq.each do |z|
69
- z.file ||= gen_zone_file_name;
70
- zones_subdir = File.dirname(z.file)
69
+ z.file ||= gen_zone_file_name( z.origin );
70
+ zones_subdir = File.dirname( z.file )
71
71
  Dir.mkdir( zones_subdir ) unless File.exists?( zones_subdir )
72
+
73
+ # OPTIMIZE this
74
+ z.options[:main_ns] ||= @main_ns
75
+ z.options[:secondary_ns] ||= @secondary_ns
76
+ z.options[:support_email] ||= @support_email
77
+ z.options[:main_server_ip] ||= @main_server_ip
78
+
72
79
  z.write_db_file
73
80
  end if @zones.size > 0
74
81
  end
@@ -65,6 +65,9 @@ alias1 IN CNAME ns
65
65
  File.stub(:read).with("testfile.conf").and_return(@test_conf_content)
66
66
  File.stub(:read).with("testdomain.com.db").and_return(@test_db_content)
67
67
 
68
+ File.stub(:open).with(anything(),anything()).and_return(true)
69
+ Dir.stub(:mkdir).with(anything()).and_return(true)
70
+
68
71
  @nc = Bind9mgr::NamedConf.new
69
72
  @nc.file = 'testfile.conf'
70
73
  @nc.bind_location = ''
@@ -79,6 +82,18 @@ alias1 IN CNAME ns
79
82
  expect { Bind9mgr::NamedConf.new }.to_not raise_error
80
83
  end
81
84
 
85
+ it "should fill zone parametrs after add" do
86
+ @nc.add_zone "example.com"
87
+ @nc.zones.last.options[:main_ns].should eql("ns1.example.com")
88
+ end
89
+
90
+ it "should update undefined zone options on write" do
91
+ Bind9mgr::Zone.any_instance.stub(:write_db_file)
92
+ @nc.zones << Bind9mgr::Zone.new("emptyzone.com")
93
+ @nc.write_zones
94
+ @nc.zones.last.options[:main_ns].should eql("ns1.example.com")
95
+ end
96
+
82
97
  it "should fail to add_zone(some_string) unless bind_location filled" do
83
98
  @nc.bind_location = nil
84
99
  expect { @nc.add_zone('example.com') }.to raise_error(ArgumentError)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bind9mgr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-15 00:00:00.000000000 +04:00
12
+ date: 2011-09-16 00:00:00.000000000 +04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: hoe
17
- requirement: &21035760 !ruby/object:Gem::Requirement
17
+ requirement: &13259340 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,7 +22,7 @@ dependencies:
22
22
  version: '2.12'
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *21035760
25
+ version_requirements: *13259340
26
26
  description: This gem contains some classes to manage bind9 zone files
27
27
  email:
28
28
  - mikhail@mad-box.ru