dnsimple-ruby 0.6.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.0
1
+ 0.7.1
@@ -35,6 +35,7 @@ help # Show this usage
35
35
  info # Show your account information
36
36
 
37
37
  list # List all domains
38
+ check domain.com # Check if a domain is available (for registration)
38
39
  describe domain.com # Describe the given domain
39
40
  create [--template=short_name] domain.com # Add the given domain
40
41
  register [--template=short_name] domain.com registrant_id # Register the given domain with DNSimple
@@ -31,6 +31,7 @@ module DNSimple
31
31
  {
32
32
  'info' => DNSimple::Commands::DescribeUser,
33
33
 
34
+ 'check' => DNSimple::Commands::CheckDomain,
34
35
  'create' => DNSimple::Commands::CreateDomain,
35
36
  'register' => DNSimple::Commands::RegisterDomain,
36
37
  'transfer' => DNSimple::Commands::TransferDomain,
@@ -68,6 +69,7 @@ module DNSimple
68
69
  end
69
70
 
70
71
  require 'dnsimple/commands/describe_user'
72
+ require 'dnsimple/commands/check_domain'
71
73
  require 'dnsimple/commands/create_domain'
72
74
  require 'dnsimple/commands/register_domain'
73
75
  require 'dnsimple/commands/transfer_domain'
@@ -0,0 +1,11 @@
1
+ module DNSimple
2
+ module Commands
3
+ class CheckDomain
4
+ def execute(args, options={})
5
+ name = args.shift
6
+ response = Domain.check(name)
7
+ puts "Check domain result for #{name}: #{response}"
8
+ end
9
+ end
10
+ end
11
+ end
@@ -36,12 +36,37 @@ module DNSimple #:nodoc:
36
36
 
37
37
  # Apply the given named template to the domain. This will add
38
38
  # all of the records in the template to the domain.
39
- def apply(template_name, options={})
40
- template = DNSimple::Template.find(template_name)
39
+ def apply(template, options={})
40
+ template = resolve_template(template)
41
41
  options.merge!({:basic_auth => Client.credentials})
42
42
  self.class.post("#{Client.base_uri}/domains/#{id}/templates/#{template.id}/apply.json", options)
43
43
  end
44
44
 
45
+ def resolve_template(template)
46
+ case template
47
+ when DNSimple::Template
48
+ template
49
+ else
50
+ DNSimple::Template.find(template)
51
+ end
52
+ end
53
+
54
+ def self.check(name, options={})
55
+ options.merge!(:basic_auth => Client.credentials)
56
+ response = self.get("#{Client.base_uri}/domains/#{name}/check.json", options)
57
+ pp response if Client.debug?
58
+ case response.code
59
+ when 200
60
+ "registered"
61
+ when 401
62
+ raise RuntimeError, "Authentication failed"
63
+ when 404
64
+ "available"
65
+ else
66
+ raise "Error: #{response.code}"
67
+ end
68
+ end
69
+
45
70
  # Create the domain with the given name in DNSimple. This
46
71
  # method returns a Domain instance if the name is created
47
72
  # and raises an error otherwise.
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dnsimple-ruby
3
3
  version: !ruby/object:Gem::Version
4
- hash: 7
4
+ hash: 1
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 6
9
- - 0
10
- version: 0.6.0
8
+ - 7
9
+ - 1
10
+ version: 0.7.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Anthony Eden
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-19 00:00:00 +02:00
18
+ date: 2010-11-12 00:00:00 -06:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -62,6 +62,7 @@ files:
62
62
  - lib/dnsimple/client.rb
63
63
  - lib/dnsimple/commands/add_template_record.rb
64
64
  - lib/dnsimple/commands/apply_template.rb
65
+ - lib/dnsimple/commands/check_domain.rb
65
66
  - lib/dnsimple/commands/clear_domain.rb
66
67
  - lib/dnsimple/commands/create_contact.rb
67
68
  - lib/dnsimple/commands/create_domain.rb