pdns 0.8.0 → 0.10.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.
- checksums.yaml +5 -5
- data/app/controllers/pdns/records_controller.rb +6 -4
- data/app/models/pdns/record.rb +1 -1
- data/lib/generators/templates/pdns.rb +6 -0
- data/lib/pdns.rb +4 -0
- data/lib/pdns/inflect.rb +3 -0
- data/lib/pdns/version.rb +1 -1
- data/lib/tasks/pdns_tasks.rake +7 -3
- metadata +4 -6
- data/config/database-pdns.yml +0 -38
- data/config/initializers/pdns.rb +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0cc72c9c8092fd9aefc5cc69e7fc6fe0d7b36529a61ade941f01073c342cf692
|
4
|
+
data.tar.gz: 51128736dc8340593666dababeaadf1a07907ac752abf15fcd82bda5377d89a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c4f058eebd7bdc7a1114b7259dbd74225fb9734a6a91cfe62a56ad10962e3f4e93facc9917eb51c2c0bf697f79a748912925bb32c9f458db420cd91118305b8
|
7
|
+
data.tar.gz: 0d7a9c6aaedc445aac5343cc82718d57391251b6244d9b6f59839831016ec6073d0bf6ad6168852d2e700f5af2abde2d894dde6d45d6a0b95a3952a2f36c2ee9
|
@@ -20,7 +20,7 @@ module PDNS
|
|
20
20
|
set_domain
|
21
21
|
delete_records
|
22
22
|
|
23
|
-
@record = @domain.records.create(
|
23
|
+
@record = @domain.records.create(record_params_without_id)
|
24
24
|
|
25
25
|
if @record.save
|
26
26
|
update_serial
|
@@ -69,7 +69,7 @@ module PDNS
|
|
69
69
|
end
|
70
70
|
|
71
71
|
def set_record
|
72
|
-
|
72
|
+
@records = @domain.records.where(record_params)
|
73
73
|
|
74
74
|
raise ActiveRecord::RecordNotFound.new(
|
75
75
|
"record not found"
|
@@ -85,10 +85,12 @@ module PDNS
|
|
85
85
|
def record_params
|
86
86
|
(params[:record] || params).permit %i(name type content ttl prio auth)
|
87
87
|
end
|
88
|
+
alias :record_params_without_id :record_params
|
88
89
|
|
89
90
|
def record_params_with_id_to_name
|
90
|
-
|
91
|
+
record_params_without_id.merge(name: params[:id])
|
91
92
|
end
|
93
|
+
alias :record_params :record_params_with_id_to_name
|
92
94
|
|
93
95
|
def delete_records
|
94
96
|
params['before_delete_conditions'].each do |condition|
|
@@ -101,7 +103,7 @@ module PDNS
|
|
101
103
|
end
|
102
104
|
|
103
105
|
def set_records
|
104
|
-
@records = @domain.records.where(
|
106
|
+
@records = @domain.records.where(record_params_without_id)
|
105
107
|
end
|
106
108
|
end
|
107
109
|
end
|
data/app/models/pdns/record.rb
CHANGED
@@ -11,7 +11,7 @@ module PDNS
|
|
11
11
|
format: { with: PDNS.domain_format },
|
12
12
|
uniqueness: { scope: [:type, :content] }
|
13
13
|
validates :type, presence: true, inclusion: {
|
14
|
-
in: %w(SOA NS A CNAME MX TXT SRV PTR AAAA LOC SPF SSHFP)
|
14
|
+
in: %w(SOA NS A CNAME MX TXT SRV PTR AAAA LOC SPF SSHFP CAA)
|
15
15
|
}
|
16
16
|
validates :content, presence: true
|
17
17
|
validates :ttl, numericality: true, presence: true
|
@@ -5,4 +5,10 @@ PDNS.setup do |c|
|
|
5
5
|
# c.db_name = :pdns
|
6
6
|
# c.db_conf_path = "config/database-#{self.db_name}.yml"
|
7
7
|
# c.db_dir_path = File.expand_path('../../db', __FILE__)
|
8
|
+
# c.domain_as_json = nil
|
9
|
+
# c.record_as_json = nil
|
10
|
+
|
11
|
+
# Examples:
|
12
|
+
# c.domain_as_json = ->(attrs, options) { attrs }
|
13
|
+
# c.record_as_json = ->(attrs, options) { attrs }
|
8
14
|
end
|
data/lib/pdns.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'pdns/engine'
|
2
|
+
require 'pdns/inflect'
|
2
3
|
|
3
4
|
module PDNS
|
4
5
|
mattr_accessor :domain_format
|
@@ -16,6 +17,9 @@ module PDNS
|
|
16
17
|
mattr_accessor :db_dir_path
|
17
18
|
self.db_dir_path = File.expand_path('../../db', __FILE__)
|
18
19
|
|
20
|
+
mattr_accessor :migrations_path
|
21
|
+
self.migrations_path = File.expand_path('../../db/migrate', __FILE__)
|
22
|
+
|
19
23
|
mattr_accessor :domain_as_json
|
20
24
|
self.domain_as_json = nil
|
21
25
|
|
data/lib/pdns/inflect.rb
ADDED
data/lib/pdns/version.rb
CHANGED
data/lib/tasks/pdns_tasks.rake
CHANGED
@@ -2,9 +2,10 @@ require 'pdns'
|
|
2
2
|
include ActiveRecord::Tasks
|
3
3
|
|
4
4
|
namespace :pdns do
|
5
|
-
task :
|
5
|
+
task prepare: %i(environment) do
|
6
6
|
DatabaseTasks.database_configuration = PDNS.db_conf
|
7
7
|
DatabaseTasks.db_dir = PDNS.db_dir_path
|
8
|
+
DatabaseTasks.migrations_paths = PDNS.migrations_path
|
8
9
|
ActiveRecord::Base.configurations = DatabaseTasks.database_configuration
|
9
10
|
DatabaseTasks.current_config = DatabaseTasks.database_configuration[Rails.env]
|
10
11
|
end
|
@@ -19,8 +20,11 @@ namespace :pdns do
|
|
19
20
|
DatabaseTasks.drop_current
|
20
21
|
end
|
21
22
|
|
22
|
-
desc '
|
23
|
-
task
|
23
|
+
desc 'Load schema for PDNS'
|
24
|
+
task migrate: %i(prepare) do
|
24
25
|
DatabaseTasks.load_schema_current(:ruby)
|
25
26
|
end
|
27
|
+
|
28
|
+
desc 'Setup database for PDNS'
|
29
|
+
task setup: %i(prepare create migrate)
|
26
30
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pdns
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- linyows
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-06-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -68,8 +68,6 @@ files:
|
|
68
68
|
- app/models/pdns/application_record.rb
|
69
69
|
- app/models/pdns/domain.rb
|
70
70
|
- app/models/pdns/record.rb
|
71
|
-
- config/database-pdns.yml
|
72
|
-
- config/initializers/pdns.rb
|
73
71
|
- config/routes.rb
|
74
72
|
- db/schema.rb
|
75
73
|
- lib/generators/pdns/install_generator.rb
|
@@ -77,6 +75,7 @@ files:
|
|
77
75
|
- lib/generators/templates/pdns.rb
|
78
76
|
- lib/pdns.rb
|
79
77
|
- lib/pdns/engine.rb
|
78
|
+
- lib/pdns/inflect.rb
|
80
79
|
- lib/pdns/version.rb
|
81
80
|
- lib/tasks/pdns_tasks.rake
|
82
81
|
homepage: https://github.com/linyows/pdns
|
@@ -98,8 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
97
|
- !ruby/object:Gem::Version
|
99
98
|
version: '0'
|
100
99
|
requirements: []
|
101
|
-
|
102
|
-
rubygems_version: 2.5.1
|
100
|
+
rubygems_version: 3.1.2
|
103
101
|
signing_key:
|
104
102
|
specification_version: 4
|
105
103
|
summary: The Pengin is PowerDNS API mountable engine for Rails.
|
data/config/database-pdns.yml
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
sqlite: &sqlite
|
2
|
-
adapter: sqlite3
|
3
|
-
database: db/development.sqlite3
|
4
|
-
|
5
|
-
mysql: &mysql
|
6
|
-
adapter: mysql2
|
7
|
-
username: root
|
8
|
-
host: localhost
|
9
|
-
password:
|
10
|
-
database: pdns_development
|
11
|
-
encoding: utf8
|
12
|
-
|
13
|
-
postgresql: &postgresql
|
14
|
-
pool: 16
|
15
|
-
timeout: 5000
|
16
|
-
adapter: postgresql
|
17
|
-
encoding: unicode
|
18
|
-
username: postgres
|
19
|
-
password:
|
20
|
-
database: pdns_development
|
21
|
-
min_messages: ERROR
|
22
|
-
|
23
|
-
default: &default
|
24
|
-
<<: *mysql
|
25
|
-
|
26
|
-
development:
|
27
|
-
<<: *default
|
28
|
-
|
29
|
-
test:
|
30
|
-
<<: *default
|
31
|
-
database: pdns_test
|
32
|
-
|
33
|
-
production:
|
34
|
-
<<: *default
|
35
|
-
database: pdns
|
36
|
-
host: <%= ENV['DB_HOST'] %>
|
37
|
-
username: <%= ENV['DB_USER'] %>
|
38
|
-
password: <%= ENV['DB_PASS'] %>
|
data/config/initializers/pdns.rb
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
PDNS.setup do |c|
|
2
|
-
# Defaults:
|
3
|
-
# c.domain_format = /\A[^-][a-z0-9\-\._]*[^-]\.[a-z0-9-]{2,}\Z/
|
4
|
-
# c.domain_format_for_routes = /[a-z0-9\-\._]*\.[a-z0-9-]{2,}/
|
5
|
-
# c.db_name = :pdns
|
6
|
-
# c.db_conf_path = "config/database-#{self.db_name}.yml"
|
7
|
-
# c.db_dir_path = File.expand_path('../../db', __FILE__)
|
8
|
-
end
|