lita-dyn 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eda7afdfdd146d806db45e33e6c5fa214833998e
4
- data.tar.gz: 722dfa4730b80ec67fc66a303ae882ec1d03293e
3
+ metadata.gz: c45073f8951a53d7ad357e9059af04057f37e55e
4
+ data.tar.gz: 59534a6fc897d948149a70c7cb15205a6f77dc0e
5
5
  SHA512:
6
- metadata.gz: 3b4d27b0e658ed33d81d06f650d21ed68ede63ba8acbfc332a1b154e857a9b25dbbfe8df80a00953e6e49652f444178d5a7dcb049522535435ac66db20db3415
7
- data.tar.gz: 832230038a1a0d8ec32122c520c46053c7e538425ea5f0e741d5aeb851f29bde30161c09d3a764fd5cbca68f1a87a4331383f0a34d2a2bbe08928e5833132d9b
6
+ metadata.gz: f3948ed2b21981373020f81c8a57039c775bec97684ca8a3e20a5f3cee0fb91327888b57e5f7e1aeab104bd1dc38f11806274eaff62ef5dd55bf142a8e81fe7f
7
+ data.tar.gz: d071d71fc652008a33ee534f7267933b832899a906b321ec8aa547b92a4afe2cd60a4cca83adffe3372f066731c7e79e46fb2ee50c6169cbac1bf15e344a54ac
@@ -5,25 +5,32 @@ module Lita
5
5
  config :customer, required: true, type: String
6
6
  config :username, required: true, type: String
7
7
  config :password, required: true, type: String
8
+ config :default_ttl, required: false, type: Integer, default: 3600
8
9
 
9
10
  def initialize(robot)
10
11
  super
11
12
  @client = dyn_client
12
13
  end
13
14
 
14
- route(/dyn\s+set\s+(.*)\s+(a|A|cname|CNAME|mx|MX|txt|TXT)\s+(.*)/, :set_record, command: true, restrict_to: nil, help: {"dyn set <record> <type> <value>" => "Sets record to provided type and value"})
15
+ route(/dyn\s+set\s+(.*)\s+(AAAA|A|CNAME|DNSKEY|DS|KEY|LOC|MX|NS|PTR|RP|SOA|SRV|TXT)\s+(.*)?\s+(\d?+)/i,
16
+ :set_record,
17
+ command: true,
18
+ restrict_to: nil,
19
+ help: {"dyn set <record> <type> <value> <ttl>" => "Sets record to provided type, value, and TTL"},
20
+ )
15
21
 
16
22
  def set_record(response)
17
23
  domain = response.matches[0][0]
18
24
  record_type = response.matches[0][1]
19
25
  record_value = response.matches[0][2]
26
+ record_ttl = response.matches[0][3].empty? ? config.default_ttl : response.matches[0][3].to_i
20
27
 
21
28
  @client.zone = get_root_domain(domain)
22
29
 
23
30
  begin
24
- @client.send(record_type.downcase).fqdn(domain).ttl(3600).address(record_value).save(true)
31
+ @client.send(record_type.downcase).fqdn(domain).ttl(record_ttl).address(record_value).save(true)
25
32
  rescue ::Dyn::Exceptions::RequestFailed
26
- @client.send(record_type.downcase).fqdn(domain).ttl(3600).address(record_value).save(false)
33
+ @client.send(record_type.downcase).fqdn(domain).ttl(record_ttl).address(record_value).save(false)
27
34
  end
28
35
 
29
36
  if @client.zone.publish
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "lita-dyn"
3
- spec.version = "0.0.1"
3
+ spec.version = "0.0.2"
4
4
  spec.authors = ["Ben Haan"]
5
5
  spec.email = ["benhaan@gmail.com"]
6
6
  spec.description = 'A Lita handler to interact with Dyn'
@@ -0,0 +1,13 @@
1
+ Lita.configure do |config|
2
+ # The name your robot will use.
3
+ config.robot.name = "Jarvis"
4
+ config.robot.mention_name = "jarvis"
5
+ config.robot.alias = "/"
6
+ config.robot.log_level = :debug
7
+
8
+ config.handlers.dyn.customer = "LifeCovenantChurch"
9
+ config.handlers.dyn.username = "benhaan"
10
+ config.handlers.dyn.password = "yaprLcRY6K4AZ"
11
+ config.handlers.dyn.default_ttl = 3600
12
+
13
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-dyn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Haan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-13 00:00:00.000000000 Z
11
+ date: 2015-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lita
@@ -124,6 +124,7 @@ files:
124
124
  - lib/lita-dyn.rb
125
125
  - lib/lita/handlers/dyn.rb
126
126
  - lita-dyn.gemspec
127
+ - lita_config.rb
127
128
  - locales/en.yml
128
129
  - spec/lita/handlers/dynect_spec.rb
129
130
  - spec/spec_helper.rb
@@ -149,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
150
  version: '0'
150
151
  requirements: []
151
152
  rubyforge_project:
152
- rubygems_version: 2.2.2
153
+ rubygems_version: 2.4.5
153
154
  signing_key:
154
155
  specification_version: 4
155
156
  summary: A Lita handler to interact with Dyn