namecheap 0.2.0 → 0.3.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.
@@ -0,0 +1,13 @@
1
+ require 'helper'
2
+
3
+ describe Namecheap::Users do
4
+ before { set_dummy_config }
5
+
6
+ it 'should initialize' do
7
+ Namecheap::Users.new
8
+ end
9
+
10
+ it 'should be already initialized from the Namecheap namespace' do
11
+ Namecheap.users.should_not be_nil
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require 'helper'
2
+
3
+ describe Namecheap::Whois_Guard do
4
+ before { set_dummy_config }
5
+
6
+ it 'should initialize' do
7
+ Namecheap::Whois_Guard.new
8
+ end
9
+
10
+ it 'should be already initialized from the Namecheap namespace' do
11
+ Namecheap.whois_guard.should_not be_nil
12
+ end
13
+ end
@@ -1,48 +1,39 @@
1
- require File.dirname(__FILE__) + '/spec_helper'
1
+ require File.dirname(__FILE__) + '/helper'
2
2
 
3
- describe "NamecheapAPI Wrapper" do
4
- describe "initializating settings" do
3
+ describe Namecheap do
4
+ before { reset_config }
5
5
 
6
- before :each do
7
- Namecheap.reset
8
- end
6
+ context "with default config" do
7
+ subject { Namecheap.config }
9
8
 
10
- describe "with defaults" do
11
- it "should contain a username" do
12
- Namecheap.username.should == 'apiuser'
13
- end
14
- it "should contain a key" do
15
- Namecheap.key.should == 'apikey'
16
- end
17
- it "should contain a client_ip" do
18
- Namecheap.client_ip.should == '127.0.0.1'
19
- end
20
- end
9
+ its(:username) { should be_nil }
10
+ its(:key) { should be_nil }
11
+ its(:client_ip) { should be_nil }
12
+ end
21
13
 
22
- describe "with defaults overidden" do
23
- it "should contain an overidden key" do
14
+ describe '.configure' do
15
+ it 'should set the api key' do
16
+ expect {
24
17
  Namecheap.configure do |config|
25
- config.key = 'newkey'
18
+ config.key = 'the_apikey'
26
19
  end
20
+ }.to change { Namecheap::Config.key }.to('the_apikey')
21
+ end
27
22
 
28
- Namecheap.key.should == 'newkey'
29
- end
30
-
31
- it "should contain an overridden username" do
23
+ it 'should set the username' do
24
+ expect {
32
25
  Namecheap.configure do |config|
33
- config.username = 'newuser'
26
+ config.username = 'the_username'
34
27
  end
28
+ }.to change { Namecheap::Config.username }.to('the_username')
29
+ end
35
30
 
36
- Namecheap.username.should == 'newuser'
37
- end
38
-
39
- it "should contain an overridden client_ip" do
31
+ it 'should set the client_ip' do
32
+ expect {
40
33
  Namecheap.configure do |config|
41
- config.client_ip = '192.168.0.1'
34
+ config.client_ip = 'the_client_ip'
42
35
  end
43
-
44
- Namecheap.client_ip.should == '192.168.0.1'
45
- end
36
+ }.to change { Namecheap::Config.client_ip }.to('the_client_ip')
46
37
  end
47
38
  end
48
- end
39
+ end
metadata CHANGED
@@ -1,67 +1,85 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: namecheap
3
- version: !ruby/object:Gem::Version
4
- hash: 23
5
- prerelease:
6
- segments:
7
- - 0
8
- - 2
9
- - 0
10
- version: 0.2.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.0
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - parasquid
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2013-06-14 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
11
+ date: 2014-08-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
21
14
  name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
22
21
  prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec-its
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
32
34
  type: :development
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
35
42
  name: httparty
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
36
49
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: activesupport
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 3.0.0
46
62
  type: :runtime
47
- version_requirements: *id002
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: 3.0.0
48
69
  description: Ruby wrapper for the Namecheap API
49
- email:
70
+ email:
50
71
  - tristan.gomez@gmail.com
51
72
  executables: []
52
-
53
73
  extensions: []
54
-
55
74
  extra_rdoc_files: []
56
-
57
- files:
75
+ files:
58
76
  - .gitignore
59
- - .rvmrc
77
+ - .ruby-version
78
+ - .travis.yml
60
79
  - COPYING
61
80
  - Gemfile
62
81
  - README.md
63
82
  - Rakefile
64
- - lib/monkey_patch.rb
65
83
  - lib/namecheap.rb
66
84
  - lib/namecheap/api.rb
67
85
  - lib/namecheap/config.rb
@@ -74,43 +92,37 @@ files:
74
92
  - lib/namecheap/version.rb
75
93
  - lib/namecheap/whois_guard.rb
76
94
  - namecheap.gemspec
77
- - spec/domains_spec.rb
95
+ - spec/helper.rb
96
+ - spec/namecheap/dns_spec.rb
97
+ - spec/namecheap/domains_spec.rb
98
+ - spec/namecheap/ns_spec.rb
99
+ - spec/namecheap/ssl_spec.rb
100
+ - spec/namecheap/transfers.rb
101
+ - spec/namecheap/users_spec.rb
102
+ - spec/namecheap/whois_guard_spec.rb
78
103
  - spec/namecheap_spec.rb
79
- - spec/spec_helper.rb
80
104
  homepage: https://github.com/parasquid/namecheap
81
- licenses: []
82
-
105
+ licenses:
106
+ - GNU
107
+ metadata: {}
83
108
  post_install_message:
84
109
  rdoc_options: []
85
-
86
- require_paths:
110
+ require_paths:
87
111
  - lib
88
- required_ruby_version: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ">="
92
- - !ruby/object:Gem::Version
93
- hash: 3
94
- segments:
95
- - 0
96
- version: "0"
97
- required_rubygems_version: !ruby/object:Gem::Requirement
98
- none: false
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- hash: 3
103
- segments:
104
- - 0
105
- version: "0"
112
+ required_ruby_version: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - '>='
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ required_rubygems_version: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
106
122
  requirements: []
107
-
108
123
  rubyforge_project: namecheap
109
- rubygems_version: 1.8.25
124
+ rubygems_version: 2.1.5
110
125
  signing_key:
111
- specification_version: 3
126
+ specification_version: 4
112
127
  summary: Ruby wrapper for the Namecheap API
113
- test_files:
114
- - spec/domains_spec.rb
115
- - spec/namecheap_spec.rb
116
- - spec/spec_helper.rb
128
+ test_files: []
data/.rvmrc DELETED
@@ -1,3 +0,0 @@
1
- rvm 1.8.7
2
- rvm gemset create namecheap
3
- rvm 1.8.7@namecheap
@@ -1,84 +0,0 @@
1
- # Monkey-patches, mostly taken from Rails :)
2
-
3
- class Hash
4
- def symbolize_keys!
5
- keys.each do |key|
6
- self[(key.to_sym rescue key) || key] = delete(key)
7
- end
8
- self
9
- end
10
-
11
- def to_param(namespace = nil)
12
- collect do |key, value|
13
- value.to_query(namespace ? "#{namespace}[#{key}]" : key)
14
- end.sort * '&'
15
- end
16
-
17
- def camelize_keys!
18
- keys.each do |key|
19
- self[key.to_s.camelize] = delete(key)
20
- end
21
- self
22
- end
23
-
24
-
25
- protected
26
-
27
- def to_query(key)
28
- require 'cgi' unless defined?(CGI) && defined?(CGI::escape)
29
- "#{CGI.escape(key.to_param)}=#{CGI.escape(to_param.to_s)}"
30
- end
31
- end
32
-
33
- class Module
34
- # Delegate method
35
- # It expects an array of arguments that contains
36
- # the methods to be delegated and a hash of options
37
- def delegate(*methods)
38
- # Pop up the options hash from arguments array
39
- options = methods.pop
40
- # Check the availability of the options hash
41
- # and more specifically the :to option
42
- # Raises an error if one of them is not there
43
- unless options.is_a?(Hash) && to = options[:to]
44
- raise ArgumentError, "Delegation needs a target. Supply an options hash with a :to key as the last argument (e.g. delegate :hello, :to => :greeter)."
45
- end
46
-
47
- # Make sure the :to option follows syntax rules
48
- # for method names
49
- if options[:prefix] == true && options[:to].to_s =~ /^[^a-z_]/
50
- raise ArgumentError, "Can only automatically set the delegation prefix when delegating to a method."
51
- end
52
-
53
- # Set the real prefix value
54
- prefix = options[:prefix] && "#{options[:prefix] == true ? to : options[:prefix]}_"
55
-
56
- # Here comes the magic of ruby :)
57
- # Reflection techniques are used here:
58
- # module_eval is used to add new methods on the fly which:
59
- # expose the contained methods' objects
60
- methods.each do |method|
61
- module_eval("def #{prefix}#{method}(*args, &block)\n#{to}.__send__(#{method.inspect}, *args, &block)\nend\n", "(__DELEGATION__)", 1)
62
- end
63
- end
64
- end
65
-
66
- class String
67
- def camelize(first_letter = :upper)
68
- case first_letter
69
- when :upper then _camelize(self, true)
70
- when :lower then _camelize(self, false)
71
- end
72
- end
73
-
74
- private
75
-
76
- def _camelize(lower_case_and_underscored_word, first_letter_in_uppercase = true)
77
- if first_letter_in_uppercase
78
- lower_case_and_underscored_word.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
79
- else
80
- lower_case_and_underscored_word.to_s[0].chr.downcase + camelize(lower_case_and_underscored_word)[1..-1]
81
- end
82
- end
83
-
84
- end
@@ -1,10 +0,0 @@
1
- begin
2
- require 'rspec'
3
- rescue LoadError
4
- require 'rubygems'
5
- gem 'rspec'
6
- require 'spec'
7
- end
8
-
9
- require File.dirname(__FILE__) + '/../lib/namecheap'
10
- $LOAD_PATH.unshift("#{File.dirname(__FILE__)}/../lib/namecheap")