bind9mgr 0.3.20 → 0.4.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.
Files changed (5) hide show
  1. data/History.txt +5 -1
  2. data/lib/bind9mgr.rb +1 -1
  3. data/lib/zone.rb +4 -2
  4. metadata +37 -17
  5. checksums.yaml +0 -7
data/History.txt CHANGED
@@ -106,6 +106,10 @@
106
106
 
107
107
  * owner can contain digits only (for reverse DNS PTR records)
108
108
 
109
- === 0.3.18 /2013-03-6
109
+ === 0.3.18 / 2013-03-06
110
110
 
111
111
  * owner with digits fix
112
+
113
+ === 0.4.0 / 2014-09-08
114
+
115
+ * punicode support
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.3.20'
9
+ VERSION = '0.4.0'
10
10
 
11
11
  ZONES_BIND_SUBDIR = 'primary'
12
12
 
data/lib/zone.rb CHANGED
@@ -155,8 +155,10 @@ zone "#{name}" {
155
155
 
156
156
  def ensure_rr record
157
157
  raise ArgumentError, "record expected to be Bind9mgr::ResourceRecord" unless record.kind_of? ResourceRecord
158
- current_record = @records.find{ |rr| (rr.owner == record.owner) && (rr.type == record.type) && (rr.rdata == record.rdata) }
159
- return false if current_record
158
+ max_rr_cnt = (record.type == 'NS' ? 2 : 1)
159
+ cnt = @records.select{ |rr| (rr.owner == record.owner) && (rr.type == record.type) }.count
160
+ raise RuntimeError, "Multiple rr with same owner+type detected. zone:#{@origin}" if cnt > max_rr_cnt
161
+ return false if cnt == max_rr_cnt
160
162
  @records.push record
161
163
  true
162
164
  end
metadata CHANGED
@@ -1,29 +1,48 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bind9mgr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.20
4
+ version: 0.4.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Mikhail Barablin
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2015-02-27 00:00:00.000000000 Z
12
+ date: 2014-09-09 00:00:00.000000000 Z
12
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rdoc
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '3.10'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '3.10'
13
30
  - !ruby/object:Gem::Dependency
14
31
  name: hoe
15
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
16
34
  requirements:
17
- - - "~>"
35
+ - - ~>
18
36
  - !ruby/object:Gem::Version
19
- version: '2.12'
37
+ version: '3.5'
20
38
  type: :development
21
39
  prerelease: false
22
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
23
42
  requirements:
24
- - - "~>"
43
+ - - ~>
25
44
  - !ruby/object:Gem::Version
26
- version: '2.12'
45
+ version: '3.5'
27
46
  description: This gem contains some classes to manage bind9 zone files
28
47
  email:
29
48
  - mikhail@mad-box.ru
@@ -35,8 +54,7 @@ extra_rdoc_files:
35
54
  - Manifest.txt
36
55
  - README.txt
37
56
  files:
38
- - ".autotest"
39
- - ".gemtest"
57
+ - .autotest
40
58
  - History.txt
41
59
  - Manifest.txt
42
60
  - README.txt
@@ -44,37 +62,39 @@ files:
44
62
  - bin/bind9mgr
45
63
  - lib/bind9mgr.rb
46
64
  - lib/named_conf.rb
65
+ - lib/zone.rb
47
66
  - lib/parser.rb
48
67
  - lib/resource_record.rb
49
- - lib/zone.rb
50
68
  - spec/named_conf_spec.rb
69
+ - spec/zone_spec.rb
70
+ - spec/spec_helper.rb
51
71
  - spec/parser_spec.rb
52
72
  - spec/resource_record_spec.rb
53
- - spec/spec_helper.rb
54
- - spec/zone_spec.rb
73
+ - .gemtest
55
74
  homepage: https://github.com/madbox/bind9mgr
56
75
  licenses: []
57
- metadata: {}
58
76
  post_install_message:
59
77
  rdoc_options:
60
- - "--main"
78
+ - --main
61
79
  - README.txt
62
80
  require_paths:
63
81
  - lib
64
82
  required_ruby_version: !ruby/object:Gem::Requirement
83
+ none: false
65
84
  requirements:
66
- - - ">="
85
+ - - ! '>='
67
86
  - !ruby/object:Gem::Version
68
87
  version: '0'
69
88
  required_rubygems_version: !ruby/object:Gem::Requirement
89
+ none: false
70
90
  requirements:
71
- - - ">="
91
+ - - ! '>='
72
92
  - !ruby/object:Gem::Version
73
93
  version: '0'
74
94
  requirements: []
75
95
  rubyforge_project: bind9mgr
76
- rubygems_version: 2.4.4
96
+ rubygems_version: 1.8.24
77
97
  signing_key:
78
- specification_version: 4
98
+ specification_version: 3
79
99
  summary: This gem contains some classes to manage bind9 zone files
80
100
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 5e6676cda9641fe24894d669edc034bc94b1fb8f
4
- data.tar.gz: fb50b0700647050e082f8758a9dcb8a673f19f5f
5
- SHA512:
6
- metadata.gz: 3e08996b3298969b0c62ea655beac4c2e5bf841220960b63c3fae127efc25bfea2d9a84f1a2c593579f91855c7457c83f8d18693a6875a47e9328e1e9bbeacf0
7
- data.tar.gz: d1e3d45bc87a69e5b67604f3dc5606b1496bca31bff7c4e3d36e7033e325982333dfbd4f83567d7b873c2e69c2037283d0ebee4b4d4b166c0e4869488ed95233