sparqcode-dnsimple-ruby 1.2.6

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 (118) hide show
  1. data/.bundle/config +3 -0
  2. data/.rvmrc +1 -0
  3. data/Gemfile +16 -0
  4. data/Gemfile.lock +71 -0
  5. data/LICENSE +22 -0
  6. data/README +125 -0
  7. data/README.rdoc +125 -0
  8. data/README.textile +161 -0
  9. data/Rakefile +33 -0
  10. data/VERSION +1 -0
  11. data/bin/dnsimple +4 -0
  12. data/bin/dnsimple.rb +153 -0
  13. data/dnsimple-ruby.gemspec +191 -0
  14. data/features/README +12 -0
  15. data/features/cli/certificates/purchase_certificate.feature +10 -0
  16. data/features/cli/contacts/create_contact.feature +10 -0
  17. data/features/cli/domains/check_domain.feature +10 -0
  18. data/features/cli/domains/create_domain.feature +10 -0
  19. data/features/cli/domains/delete_domain.feature +11 -0
  20. data/features/cli/domains/register_domain.feature +10 -0
  21. data/features/cli/records/create_ptr_record.feature +11 -0
  22. data/features/cli/records/create_record.feature +12 -0
  23. data/features/cli/records/delete_record.feature +14 -0
  24. data/features/cli/templates/apply_template.feature +11 -0
  25. data/features/step_definitions/certificate_steps.rb +3 -0
  26. data/features/step_definitions/cli_steps.rb +8 -0
  27. data/features/step_definitions/domain_steps.rb +32 -0
  28. data/features/step_definitions/record_steps.rb +38 -0
  29. data/features/step_definitions/template_steps.rb +9 -0
  30. data/features/support/env.rb +17 -0
  31. data/fixtures/vcr_cassettes/DNSimple_Certificate/_all.yml +44 -0
  32. data/fixtures/vcr_cassettes/DNSimple_Certificate/_purchase.yml +44 -0
  33. data/fixtures/vcr_cassettes/DNSimple_Certificate/_submit.yml +44 -0
  34. data/fixtures/vcr_cassettes/DNSimple_Contact/a_new_contact.yml +42 -0
  35. data/fixtures/vcr_cassettes/DNSimple_Contact/an_existing_contact.yml +42 -0
  36. data/fixtures/vcr_cassettes/DNSimple_Domain/_all.yml +130 -0
  37. data/fixtures/vcr_cassettes/DNSimple_Domain/applying_templates.yml +216 -0
  38. data/fixtures/vcr_cassettes/DNSimple_Domain/creating_a_new_domain.yml +44 -0
  39. data/fixtures/vcr_cassettes/DNSimple_Domain/finding_an_existing_domain/by_id.yml +44 -0
  40. data/fixtures/vcr_cassettes/DNSimple_Domain/finding_an_existing_domain/by_name.yml +44 -0
  41. data/fixtures/vcr_cassettes/DNSimple_Domain/registration/with_a_new_registrant_contact.yml +44 -0
  42. data/fixtures/vcr_cassettes/DNSimple_Domain/registration/with_an_existing_contact.yml +44 -0
  43. data/fixtures/vcr_cassettes/DNSimple_Domain/setting_name_servers.yml +30 -0
  44. data/fixtures/vcr_cassettes/DNSimple_ExtendedAttribute/list_extended_attributes/for_ca.yml +40 -0
  45. data/fixtures/vcr_cassettes/DNSimple_ExtendedAttribute/list_extended_attributes/for_com.yml +40 -0
  46. data/fixtures/vcr_cassettes/DNSimple_Record/_all.yml +173 -0
  47. data/fixtures/vcr_cassettes/DNSimple_Record/creating_a_new_record.yml +44 -0
  48. data/fixtures/vcr_cassettes/DNSimple_Record/find_a_record.yml +44 -0
  49. data/fixtures/vcr_cassettes/DNSimple_Template/a_template.yml +44 -0
  50. data/fixtures/vcr_cassettes/DNSimple_User/_me.yml +42 -0
  51. data/lib/dnsimple.rb +19 -0
  52. data/lib/dnsimple/certificate.rb +158 -0
  53. data/lib/dnsimple/cli.rb +122 -0
  54. data/lib/dnsimple/client.rb +74 -0
  55. data/lib/dnsimple/command.rb +10 -0
  56. data/lib/dnsimple/commands/add_service.rb +16 -0
  57. data/lib/dnsimple/commands/add_template_record.rb +18 -0
  58. data/lib/dnsimple/commands/apply_template.rb +15 -0
  59. data/lib/dnsimple/commands/check_domain.rb +11 -0
  60. data/lib/dnsimple/commands/clear_domain.rb +16 -0
  61. data/lib/dnsimple/commands/create_contact.rb +21 -0
  62. data/lib/dnsimple/commands/create_domain.rb +16 -0
  63. data/lib/dnsimple/commands/create_record.rb +20 -0
  64. data/lib/dnsimple/commands/create_template.rb +14 -0
  65. data/lib/dnsimple/commands/delete_contact.rb +14 -0
  66. data/lib/dnsimple/commands/delete_domain.rb +14 -0
  67. data/lib/dnsimple/commands/delete_record.rb +16 -0
  68. data/lib/dnsimple/commands/delete_template.rb +13 -0
  69. data/lib/dnsimple/commands/delete_template_record.rb +16 -0
  70. data/lib/dnsimple/commands/describe_certificate.rb +34 -0
  71. data/lib/dnsimple/commands/describe_contact.rb +25 -0
  72. data/lib/dnsimple/commands/describe_domain.rb +14 -0
  73. data/lib/dnsimple/commands/describe_record.rb +16 -0
  74. data/lib/dnsimple/commands/describe_service.rb +12 -0
  75. data/lib/dnsimple/commands/describe_user.rb +18 -0
  76. data/lib/dnsimple/commands/list_applied_services.rb +16 -0
  77. data/lib/dnsimple/commands/list_available_services.rb +16 -0
  78. data/lib/dnsimple/commands/list_certificates.rb +15 -0
  79. data/lib/dnsimple/commands/list_contacts.rb +13 -0
  80. data/lib/dnsimple/commands/list_domains.rb +13 -0
  81. data/lib/dnsimple/commands/list_extended_attributes.rb +25 -0
  82. data/lib/dnsimple/commands/list_records.rb +21 -0
  83. data/lib/dnsimple/commands/list_services.rb +14 -0
  84. data/lib/dnsimple/commands/list_template_records.rb +17 -0
  85. data/lib/dnsimple/commands/list_templates.rb +13 -0
  86. data/lib/dnsimple/commands/purchase_certificate.rb +19 -0
  87. data/lib/dnsimple/commands/register_domain.rb +33 -0
  88. data/lib/dnsimple/commands/remove_service.rb +14 -0
  89. data/lib/dnsimple/commands/submit_certificate.rb +19 -0
  90. data/lib/dnsimple/commands/transfer_domain.rb +21 -0
  91. data/lib/dnsimple/commands/update_contact.rb +25 -0
  92. data/lib/dnsimple/commands/update_record.rb +23 -0
  93. data/lib/dnsimple/contact.rb +181 -0
  94. data/lib/dnsimple/domain.rb +246 -0
  95. data/lib/dnsimple/error.rb +32 -0
  96. data/lib/dnsimple/extended_attribute.rb +73 -0
  97. data/lib/dnsimple/record.rb +128 -0
  98. data/lib/dnsimple/service.rb +58 -0
  99. data/lib/dnsimple/template.rb +91 -0
  100. data/lib/dnsimple/template_record.rb +103 -0
  101. data/lib/dnsimple/transfer_order.rb +45 -0
  102. data/lib/dnsimple/user.rb +44 -0
  103. data/spec/README +10 -0
  104. data/spec/certificate_spec.rb +46 -0
  105. data/spec/command_spec.rb +19 -0
  106. data/spec/commands/add_service_spec.rb +29 -0
  107. data/spec/commands/create_record_spec.rb +23 -0
  108. data/spec/commands/list_records_spec.rb +34 -0
  109. data/spec/commands/purchase_certificate_spec.rb +24 -0
  110. data/spec/commands/submit_certificate_spec.rb +19 -0
  111. data/spec/contact_spec.rb +35 -0
  112. data/spec/domain_spec.rb +97 -0
  113. data/spec/extended_attributes_spec.rb +19 -0
  114. data/spec/record_spec.rb +59 -0
  115. data/spec/spec_helper.rb +22 -0
  116. data/spec/template_spec.rb +11 -0
  117. data/spec/user_spec.rb +23 -0
  118. metadata +353 -0
@@ -0,0 +1,33 @@
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+ require 'rake/rdoctask'
4
+
5
+ desc 'Default: run tests.'
6
+ task :default => [:spec]
7
+
8
+ desc 'Generate documentation.'
9
+ Rake::RDocTask.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'DNSimple Ruby'
12
+ rdoc.options << '--line-numbers' << '--inline-source'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/*.rb')
15
+ rdoc.rdoc_files.include('lib/**/*.rb')
16
+ end
17
+
18
+ begin
19
+ require 'jeweler'
20
+ Jeweler::Tasks.new do |gemspec|
21
+ gemspec.name = "dnsimple-ruby"
22
+ gemspec.summary = "A ruby wrapper for the DNSimple API"
23
+ gemspec.description = "A ruby wrapper for the DNSimple API that also includes a command-line client."
24
+ gemspec.email = "anthony.eden@dnsimple.com"
25
+ gemspec.homepage = "http://github.com/aetrion/dnsimple-ruby"
26
+ gemspec.authors = ["Anthony Eden"]
27
+ gemspec.add_dependency "httparty"
28
+ gemspec.executables = 'dnsimple'
29
+ end
30
+ rescue LoadError
31
+ puts "Jeweler not available. Install it with: gem install jeweler"
32
+ end
33
+
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.2.6
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require File.dirname(__FILE__) + '/dnsimple'
@@ -0,0 +1,153 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
4
+ require 'dnsimple'
5
+ require 'dnsimple/cli'
6
+
7
+ cli = DNSimple::CLI.new
8
+
9
+ require 'optparse'
10
+
11
+ def usage
12
+ $stderr.puts <<EOF
13
+
14
+ This is a command line tool for DNSimple. More information about DNSimple can
15
+ be found at http://dnsimple.com/
16
+
17
+ Before using this tool you should create a file called .dnsimple in your home
18
+ directory and add the following to that file:
19
+
20
+ username: YOUR_USERNAME
21
+ password: YOUR_PASSWORD
22
+
23
+ Alternatively you can pass the credentials via command-line arguments, as in:
24
+
25
+ dnsimple -u username -p password command
26
+
27
+ == Commands
28
+
29
+ All commands are executed as dnsimple [options] command [command-options] args
30
+
31
+
32
+ The following commands are available:
33
+
34
+ help # Show this usage
35
+
36
+ info # Show your account information
37
+
38
+ check domain.com # Check if a domain is available (for registration)
39
+ create [--template=short_name] domain.com # Add the given domain
40
+ register [--template=short_name] domain.com registrant_id \ # Register the given domain with DNSimple
41
+ [[name:value] [name:value]] # name:value pairs can be given for extended attributes
42
+ transfer domain.com registrant_id [authinfo] \ # Transfer the given domain into DNSimple
43
+ [[name:value] [name:value] ...] # name:value pairs can be given for extended attributes
44
+ describe domain.com # Describe the given domain
45
+ list # List all domains
46
+ delete domain.com # Delete the given domain
47
+ clear domain.com # Remove all records from the domain
48
+ apply domain.com template_short_name # Apply a template to the domain
49
+
50
+ record:describe domain.com record_id # Describe the given record
51
+ record:create [--prio=priority] domain.com name type \\
52
+ content [ttl] # Create the DNS record on the domain
53
+ record:list domain.com # List all records for the domain
54
+ record:update domain.com record_id \ # Update a specific record
55
+ [[name:value] [name:value] ...] # name:value pairs are given for updateable attributes
56
+ record:delete domain.com record_id # Delete the given domain
57
+
58
+ template:create name short_name [description] # Create a template
59
+ template:list # List all templates
60
+ template:delete short_name # Delete the given template
61
+
62
+ template:list_records short_name # List all of the records for a template
63
+ template:add_record [--prio=priority] short_name name \\
64
+ type content [ttl] # Add a template record to the given template
65
+ template:delete_record short_name template_record_id # Delete the given template record
66
+
67
+ contact:create [[name:value [name:value] ...] # Create a contact
68
+ contact:list # List all contacts
69
+ contact:describe contact_id # Describe the given contact
70
+ contact:update contact_id [[name:value] [name:value] ...] # Update the given contact
71
+ contact:delete contact_id # Delete the given contact
72
+
73
+ extended-attributes:list tld # List all extended attributes for the given TLD
74
+
75
+ service:list # List all supported services
76
+ service:describe short_name # Describe a specific service
77
+
78
+ service:applied domain.com # List all of the services applied to the domain
79
+ service:available domain.com # List all of the services available for the domain
80
+ service:add domain.com short_name # Add the service to the domain
81
+ service:remove domain.com short_name # Remove the service from the domain
82
+
83
+ certificate:list domain.com # List all certificates for a domain
84
+ certificate:describe domain.com id # Get a specific certificate for a domain
85
+ certificate:purchase domain.com name contact_id # Purchase a certificate
86
+ certificate:submit domain.com id approver_email # Submit a certificate for processing
87
+
88
+ Please see the DNSimple documentation at https://dnsimple.com/documentation/api for additional
89
+ information on the commands that are available to DNSimple customers.
90
+
91
+ EOF
92
+ end
93
+
94
+ if $0.split("/").last == 'dnsimple'
95
+
96
+ options = {}
97
+
98
+ global = OptionParser.new do |opts|
99
+ opts.on("-s", "--site [ARG]") do |site|
100
+ DNSimple::Client.base_uri = site
101
+ end
102
+ opts.on("-u", "--username [ARG]") do |username|
103
+ DNSimple::Client.username = username
104
+ end
105
+ opts.on("-p", "--password [ARG]") do |password|
106
+ DNSimple::Client.password = password
107
+ end
108
+ opts.on("-c", "--credentials [ARG]") do |credentials|
109
+ DNSimple::Client.load_credentials(credentials)
110
+ end
111
+ opts.on("-d") do
112
+ DNSimple::Client.debug = true
113
+ end
114
+ end
115
+
116
+ subcommands = {
117
+ 'create' => OptionParser.new do |opts|
118
+ opts.on("--template [ARG]") do |opt|
119
+ options[:template] = opt
120
+ end
121
+ end,
122
+ 'register' => OptionParser.new do |opts|
123
+ opts.on("--template [ARG]") do |opt|
124
+ options[:template] = opt
125
+ end
126
+ end,
127
+ 'record:create' => OptionParser.new do |opts|
128
+ opts.on("--prio [ARG]") do |prio|
129
+ options[:prio] = prio
130
+ end
131
+ end,
132
+ 'template:add_record' => OptionParser.new do |opts|
133
+ opts.on("--prio [ARG]") do |prio|
134
+ options[:prio] = prio
135
+ end
136
+ end,
137
+ }
138
+
139
+ global.order!
140
+ command = ARGV.shift
141
+ if command.nil? || command == 'help'
142
+ usage
143
+ else
144
+ options_parser = subcommands[command]
145
+ options_parser.order! if options_parser
146
+ begin
147
+ cli.execute(command, ARGV, options)
148
+ rescue DNSimple::CommandNotFound => e
149
+ puts e.message
150
+ end
151
+ end
152
+
153
+ end
@@ -0,0 +1,191 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "dnsimple-ruby"
8
+ s.version = "1.2.6"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Anthony Eden"]
12
+ s.date = "2012-03-10"
13
+ s.description = "A ruby wrapper for the DNSimple API that also includes a command-line client."
14
+ s.email = "anthony.eden@dnsimple.com"
15
+ s.executables = ["dnsimple"]
16
+ s.extra_rdoc_files = [
17
+ "LICENSE",
18
+ "README",
19
+ "README.rdoc",
20
+ "README.textile"
21
+ ]
22
+ s.files = [
23
+ ".bundle/config",
24
+ ".rvmrc",
25
+ "Gemfile",
26
+ "Gemfile.lock",
27
+ "LICENSE",
28
+ "README",
29
+ "README.rdoc",
30
+ "README.textile",
31
+ "Rakefile",
32
+ "VERSION",
33
+ "bin/dnsimple",
34
+ "bin/dnsimple.rb",
35
+ "dnsimple-ruby.gemspec",
36
+ "features/README",
37
+ "features/cli/certificates/purchase_certificate.feature",
38
+ "features/cli/contacts/create_contact.feature",
39
+ "features/cli/domains/check_domain.feature",
40
+ "features/cli/domains/create_domain.feature",
41
+ "features/cli/domains/delete_domain.feature",
42
+ "features/cli/domains/register_domain.feature",
43
+ "features/cli/records/create_ptr_record.feature",
44
+ "features/cli/records/create_record.feature",
45
+ "features/cli/records/delete_record.feature",
46
+ "features/cli/templates/apply_template.feature",
47
+ "features/step_definitions/certificate_steps.rb",
48
+ "features/step_definitions/cli_steps.rb",
49
+ "features/step_definitions/domain_steps.rb",
50
+ "features/step_definitions/record_steps.rb",
51
+ "features/step_definitions/template_steps.rb",
52
+ "features/support/env.rb",
53
+ "fixtures/vcr_cassettes/DNSimple_Certificate/_all.yml",
54
+ "fixtures/vcr_cassettes/DNSimple_Certificate/_purchase.yml",
55
+ "fixtures/vcr_cassettes/DNSimple_Certificate/_submit.yml",
56
+ "fixtures/vcr_cassettes/DNSimple_Contact/a_new_contact.yml",
57
+ "fixtures/vcr_cassettes/DNSimple_Contact/an_existing_contact.yml",
58
+ "fixtures/vcr_cassettes/DNSimple_Domain/_all.yml",
59
+ "fixtures/vcr_cassettes/DNSimple_Domain/applying_templates.yml",
60
+ "fixtures/vcr_cassettes/DNSimple_Domain/creating_a_new_domain.yml",
61
+ "fixtures/vcr_cassettes/DNSimple_Domain/finding_an_existing_domain/by_id.yml",
62
+ "fixtures/vcr_cassettes/DNSimple_Domain/finding_an_existing_domain/by_name.yml",
63
+ "fixtures/vcr_cassettes/DNSimple_Domain/registration/with_a_new_registrant_contact.yml",
64
+ "fixtures/vcr_cassettes/DNSimple_Domain/registration/with_an_existing_contact.yml",
65
+ "fixtures/vcr_cassettes/DNSimple_Domain/setting_name_servers.yml",
66
+ "fixtures/vcr_cassettes/DNSimple_ExtendedAttribute/list_extended_attributes/for_ca.yml",
67
+ "fixtures/vcr_cassettes/DNSimple_ExtendedAttribute/list_extended_attributes/for_com.yml",
68
+ "fixtures/vcr_cassettes/DNSimple_Record/_all.yml",
69
+ "fixtures/vcr_cassettes/DNSimple_Record/creating_a_new_record.yml",
70
+ "fixtures/vcr_cassettes/DNSimple_Record/find_a_record.yml",
71
+ "fixtures/vcr_cassettes/DNSimple_Template/a_template.yml",
72
+ "fixtures/vcr_cassettes/DNSimple_User/_me.yml",
73
+ "lib/dnsimple.rb",
74
+ "lib/dnsimple/certificate.rb",
75
+ "lib/dnsimple/cli.rb",
76
+ "lib/dnsimple/client.rb",
77
+ "lib/dnsimple/command.rb",
78
+ "lib/dnsimple/commands/add_service.rb",
79
+ "lib/dnsimple/commands/add_template_record.rb",
80
+ "lib/dnsimple/commands/apply_template.rb",
81
+ "lib/dnsimple/commands/check_domain.rb",
82
+ "lib/dnsimple/commands/clear_domain.rb",
83
+ "lib/dnsimple/commands/create_contact.rb",
84
+ "lib/dnsimple/commands/create_domain.rb",
85
+ "lib/dnsimple/commands/create_record.rb",
86
+ "lib/dnsimple/commands/create_template.rb",
87
+ "lib/dnsimple/commands/delete_contact.rb",
88
+ "lib/dnsimple/commands/delete_domain.rb",
89
+ "lib/dnsimple/commands/delete_record.rb",
90
+ "lib/dnsimple/commands/delete_template.rb",
91
+ "lib/dnsimple/commands/delete_template_record.rb",
92
+ "lib/dnsimple/commands/describe_certificate.rb",
93
+ "lib/dnsimple/commands/describe_contact.rb",
94
+ "lib/dnsimple/commands/describe_domain.rb",
95
+ "lib/dnsimple/commands/describe_record.rb",
96
+ "lib/dnsimple/commands/describe_service.rb",
97
+ "lib/dnsimple/commands/describe_user.rb",
98
+ "lib/dnsimple/commands/list_applied_services.rb",
99
+ "lib/dnsimple/commands/list_available_services.rb",
100
+ "lib/dnsimple/commands/list_certificates.rb",
101
+ "lib/dnsimple/commands/list_contacts.rb",
102
+ "lib/dnsimple/commands/list_domains.rb",
103
+ "lib/dnsimple/commands/list_extended_attributes.rb",
104
+ "lib/dnsimple/commands/list_records.rb",
105
+ "lib/dnsimple/commands/list_services.rb",
106
+ "lib/dnsimple/commands/list_template_records.rb",
107
+ "lib/dnsimple/commands/list_templates.rb",
108
+ "lib/dnsimple/commands/purchase_certificate.rb",
109
+ "lib/dnsimple/commands/register_domain.rb",
110
+ "lib/dnsimple/commands/remove_service.rb",
111
+ "lib/dnsimple/commands/submit_certificate.rb",
112
+ "lib/dnsimple/commands/transfer_domain.rb",
113
+ "lib/dnsimple/commands/update_contact.rb",
114
+ "lib/dnsimple/commands/update_record.rb",
115
+ "lib/dnsimple/contact.rb",
116
+ "lib/dnsimple/domain.rb",
117
+ "lib/dnsimple/error.rb",
118
+ "lib/dnsimple/extended_attribute.rb",
119
+ "lib/dnsimple/record.rb",
120
+ "lib/dnsimple/service.rb",
121
+ "lib/dnsimple/template.rb",
122
+ "lib/dnsimple/template_record.rb",
123
+ "lib/dnsimple/transfer_order.rb",
124
+ "lib/dnsimple/user.rb",
125
+ "spec/README",
126
+ "spec/certificate_spec.rb",
127
+ "spec/command_spec.rb",
128
+ "spec/commands/add_service_spec.rb",
129
+ "spec/commands/create_record_spec.rb",
130
+ "spec/commands/list_records_spec.rb",
131
+ "spec/commands/purchase_certificate_spec.rb",
132
+ "spec/commands/submit_certificate_spec.rb",
133
+ "spec/contact_spec.rb",
134
+ "spec/domain_spec.rb",
135
+ "spec/extended_attributes_spec.rb",
136
+ "spec/record_spec.rb",
137
+ "spec/spec_helper.rb",
138
+ "spec/template_spec.rb",
139
+ "spec/user_spec.rb"
140
+ ]
141
+ s.homepage = "http://github.com/aetrion/dnsimple-ruby"
142
+ s.require_paths = ["lib"]
143
+ s.rubygems_version = "1.8.15"
144
+ s.summary = "A ruby wrapper for the DNSimple API"
145
+
146
+ if s.respond_to? :specification_version then
147
+ s.specification_version = 3
148
+
149
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
150
+ s.add_runtime_dependency(%q<httparty>, [">= 0"])
151
+ s.add_development_dependency(%q<rake>, [">= 0"])
152
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
153
+ s.add_development_dependency(%q<rspec>, [">= 2.0.0"])
154
+ s.add_development_dependency(%q<mocha>, [">= 0"])
155
+ s.add_development_dependency(%q<ruby-debug>, [">= 0"])
156
+ s.add_development_dependency(%q<cucumber>, [">= 0"])
157
+ s.add_development_dependency(%q<aruba>, [">= 0"])
158
+ s.add_development_dependency(%q<ruby-debug>, [">= 0"])
159
+ s.add_development_dependency(%q<fakeweb>, [">= 0"])
160
+ s.add_development_dependency(%q<vcr>, [">= 0"])
161
+ s.add_runtime_dependency(%q<httparty>, [">= 0"])
162
+ else
163
+ s.add_dependency(%q<httparty>, [">= 0"])
164
+ s.add_dependency(%q<rake>, [">= 0"])
165
+ s.add_dependency(%q<jeweler>, [">= 0"])
166
+ s.add_dependency(%q<rspec>, [">= 2.0.0"])
167
+ s.add_dependency(%q<mocha>, [">= 0"])
168
+ s.add_dependency(%q<ruby-debug>, [">= 0"])
169
+ s.add_dependency(%q<cucumber>, [">= 0"])
170
+ s.add_dependency(%q<aruba>, [">= 0"])
171
+ s.add_dependency(%q<ruby-debug>, [">= 0"])
172
+ s.add_dependency(%q<fakeweb>, [">= 0"])
173
+ s.add_dependency(%q<vcr>, [">= 0"])
174
+ s.add_dependency(%q<httparty>, [">= 0"])
175
+ end
176
+ else
177
+ s.add_dependency(%q<httparty>, [">= 0"])
178
+ s.add_dependency(%q<rake>, [">= 0"])
179
+ s.add_dependency(%q<jeweler>, [">= 0"])
180
+ s.add_dependency(%q<rspec>, [">= 2.0.0"])
181
+ s.add_dependency(%q<mocha>, [">= 0"])
182
+ s.add_dependency(%q<ruby-debug>, [">= 0"])
183
+ s.add_dependency(%q<cucumber>, [">= 0"])
184
+ s.add_dependency(%q<aruba>, [">= 0"])
185
+ s.add_dependency(%q<ruby-debug>, [">= 0"])
186
+ s.add_dependency(%q<fakeweb>, [">= 0"])
187
+ s.add_dependency(%q<vcr>, [">= 0"])
188
+ s.add_dependency(%q<httparty>, [">= 0"])
189
+ end
190
+ end
191
+
@@ -0,0 +1,12 @@
1
+ Before running the DNSimple Ruby Client cucumber feature files, you must do the following:
2
+
3
+ 1.) If you haven't already go to https://test.dnsimple.com and create an account. Activate your account to the Platinum level using the credit card number of "1".
4
+
5
+ 2.) Create a file in your home directory called .dnsimple.test and include the following:
6
+
7
+ username: YOUR_USERNAME
8
+ password: YOUR_PASSWORD
9
+ site: https://test.dnsimple.com
10
+
11
+
12
+
@@ -0,0 +1,10 @@
1
+ Feature: purchase a certificate with the CLI
2
+ As a user
3
+ In order to purchase a certificate
4
+ I should be able to use the CLI for purchasing a certificate
5
+
6
+ @announce-cmd @announce-stdout
7
+ Scenario:
8
+ Given I have set up my credentials
9
+ When I run `dnsimple certificate:purchase` with a domain I created
10
+ Then the output should show that a certificate was purchased
@@ -0,0 +1,10 @@
1
+ Feature: create a contact with the CLI
2
+ As a user
3
+ In order to add a contact to my list of contacts
4
+ I should be able to use the CLI to create a contact
5
+
6
+ @announce-cmd
7
+ Scenario:
8
+ Given I have set up my credentials
9
+ When I run `dnsimple contact:create first:John last:Smith address1:"Example Road" city:Anytown state:Florida postal_code:12345 country:US email:john.smith@example.com phone:12225051122 label:test-contact`
10
+ Then the output should contain "Created contact John Smith"
@@ -0,0 +1,10 @@
1
+ Feature: check a domain with the CLI
2
+ As a user
3
+ In order to check if a domain is available for registration
4
+ I should be able to use the CLI to check domains
5
+
6
+ @announce-cmd
7
+ Scenario:
8
+ Given I have set up my credentials
9
+ When I run `dnsimple check domain.com`
10
+ Then the output should contain "Check domain result for domain.com: registered"
@@ -0,0 +1,10 @@
1
+ Feature: add a domain with the CLI
2
+ As a user
3
+ In order to add a domain to my account
4
+ I should be able to use the CLI to add domains
5
+
6
+ @announce-cmd
7
+ Scenario:
8
+ Given I have set up my credentials
9
+ When I run `dnsimple create` with a new domain
10
+ Then the output should show that the domain was created