lita-dyn 0.0.1 → 0.0.2

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 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