dynect_rest 0.3.0 → 0.4.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.
- data/{spec/spec.opts → .rspec} +0 -0
- data/Gemfile +15 -0
- data/Gemfile.lock +36 -0
- data/README.rdoc +1 -1
- data/Rakefile +3 -14
- data/VERSION +1 -1
- data/dynect_rest.gemspec +80 -0
- data/example.rb +27 -0
- data/lib/dynect_rest.rb +22 -4
- data/lib/dynect_rest/resource.rb +32 -16
- data/spec/dynect_rest_spec.rb +87 -0
- data/spec/spec_helper.rb +4 -4
- metadata +98 -44
- data/.gitignore +0 -23
- data/spec/dynect-rest_spec.rb +0 -7
data/{spec/spec.opts → .rspec}
RENAMED
File without changes
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
GEM
|
2
|
+
remote: http://rubygems.org/
|
3
|
+
specs:
|
4
|
+
diff-lcs (1.1.2)
|
5
|
+
git (1.2.5)
|
6
|
+
jeweler (1.6.2)
|
7
|
+
bundler (~> 1.0)
|
8
|
+
git (>= 1.2.5)
|
9
|
+
rake
|
10
|
+
json (1.5.1)
|
11
|
+
mime-types (1.16)
|
12
|
+
rake (0.9.1)
|
13
|
+
rest-client (1.6.3)
|
14
|
+
mime-types (>= 1.16)
|
15
|
+
rspec (2.0.1)
|
16
|
+
rspec-core (~> 2.0.1)
|
17
|
+
rspec-expectations (~> 2.0.1)
|
18
|
+
rspec-mocks (~> 2.0.1)
|
19
|
+
rspec-core (2.0.1)
|
20
|
+
rspec-expectations (2.0.1)
|
21
|
+
diff-lcs (>= 1.1.2)
|
22
|
+
rspec-mocks (2.0.1)
|
23
|
+
rspec-core (~> 2.0.1)
|
24
|
+
rspec-expectations (~> 2.0.1)
|
25
|
+
yard (0.7.1)
|
26
|
+
|
27
|
+
PLATFORMS
|
28
|
+
ruby
|
29
|
+
|
30
|
+
DEPENDENCIES
|
31
|
+
jeweler
|
32
|
+
json
|
33
|
+
rake
|
34
|
+
rest-client
|
35
|
+
rspec (~> 2.0.0)
|
36
|
+
yard
|
data/README.rdoc
CHANGED
@@ -12,7 +12,7 @@ Since this is 90% of what you'll be doing, we make it easy.
|
|
12
12
|
dyn.cname.fqdn("something.example.com").cname("ec2-10-10-10-10.amazonaws.com").save
|
13
13
|
dyn.publish
|
14
14
|
|
15
|
-
Will add an A record and a CNAME. You can use the chained method syntax for every resource record - we map unknown methods to the resource data you make in the call.
|
15
|
+
Will add an A record and a CNAME. You can use the chained method syntax for every resource record - we map unknown methods to the resource data you make in the call. See link:"example.rb" for an executable example using environment variables.
|
16
16
|
|
17
17
|
== Everything else
|
18
18
|
|
data/Rakefile
CHANGED
@@ -10,7 +10,7 @@ begin
|
|
10
10
|
gem.email = "adam@opscode.com"
|
11
11
|
gem.homepage = "http://github.com/adamhjk/dynect-rest"
|
12
12
|
gem.authors = ["Adam Jacob"]
|
13
|
-
gem.add_development_dependency "rspec", ">=
|
13
|
+
gem.add_development_dependency "rspec", ">= 2.0"
|
14
14
|
gem.add_development_dependency "yard", ">= 0"
|
15
15
|
gem.add_dependency('json')
|
16
16
|
gem.add_dependency('rest-client')
|
@@ -21,19 +21,8 @@ rescue LoadError
|
|
21
21
|
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
22
22
|
end
|
23
23
|
|
24
|
-
require '
|
25
|
-
|
26
|
-
spec.libs << 'lib' << 'spec'
|
27
|
-
spec.spec_files = FileList['spec/**/*_spec.rb']
|
28
|
-
end
|
29
|
-
|
30
|
-
Spec::Rake::SpecTask.new(:rcov) do |spec|
|
31
|
-
spec.libs << 'lib' << 'spec'
|
32
|
-
spec.pattern = 'spec/**/*_spec.rb'
|
33
|
-
spec.rcov = true
|
34
|
-
end
|
35
|
-
|
36
|
-
task :spec => :check_dependencies
|
24
|
+
require 'rspec/core/rake_task'
|
25
|
+
RSpec::Core::RakeTask.new(:spec)
|
37
26
|
|
38
27
|
task :default => :spec
|
39
28
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
data/dynect_rest.gemspec
ADDED
@@ -0,0 +1,80 @@
|
|
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 = %q{dynect_rest}
|
8
|
+
s.version = "0.4.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = [%q{Adam Jacob}]
|
12
|
+
s.date = %q{2011-06-08}
|
13
|
+
s.description = %q{Use the Dynect services REST API}
|
14
|
+
s.email = %q{adam@opscode.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
".rspec",
|
22
|
+
"Gemfile",
|
23
|
+
"Gemfile.lock",
|
24
|
+
"LICENSE",
|
25
|
+
"README.rdoc",
|
26
|
+
"Rakefile",
|
27
|
+
"VERSION",
|
28
|
+
"dynect_rest.gemspec",
|
29
|
+
"example.rb",
|
30
|
+
"lib/dynect_rest.rb",
|
31
|
+
"lib/dynect_rest/exceptions.rb",
|
32
|
+
"lib/dynect_rest/resource.rb",
|
33
|
+
"spec/dynect_rest_spec.rb",
|
34
|
+
"spec/spec_helper.rb"
|
35
|
+
]
|
36
|
+
s.homepage = %q{http://github.com/adamhjk/dynect-rest}
|
37
|
+
s.require_paths = [%q{lib}]
|
38
|
+
s.rubygems_version = %q{1.8.5}
|
39
|
+
s.summary = %q{Dynect REST API library}
|
40
|
+
|
41
|
+
if s.respond_to? :specification_version then
|
42
|
+
s.specification_version = 3
|
43
|
+
|
44
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
45
|
+
s.add_runtime_dependency(%q<rest-client>, [">= 0"])
|
46
|
+
s.add_runtime_dependency(%q<json>, [">= 0"])
|
47
|
+
s.add_development_dependency(%q<rake>, [">= 0"])
|
48
|
+
s.add_development_dependency(%q<rspec>, ["~> 2.0.0"])
|
49
|
+
s.add_development_dependency(%q<yard>, [">= 0"])
|
50
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
51
|
+
s.add_development_dependency(%q<rspec>, [">= 2.0"])
|
52
|
+
s.add_development_dependency(%q<yard>, [">= 0"])
|
53
|
+
s.add_runtime_dependency(%q<json>, [">= 0"])
|
54
|
+
s.add_runtime_dependency(%q<rest-client>, [">= 0"])
|
55
|
+
else
|
56
|
+
s.add_dependency(%q<rest-client>, [">= 0"])
|
57
|
+
s.add_dependency(%q<json>, [">= 0"])
|
58
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
59
|
+
s.add_dependency(%q<rspec>, ["~> 2.0.0"])
|
60
|
+
s.add_dependency(%q<yard>, [">= 0"])
|
61
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
62
|
+
s.add_dependency(%q<rspec>, [">= 2.0"])
|
63
|
+
s.add_dependency(%q<yard>, [">= 0"])
|
64
|
+
s.add_dependency(%q<json>, [">= 0"])
|
65
|
+
s.add_dependency(%q<rest-client>, [">= 0"])
|
66
|
+
end
|
67
|
+
else
|
68
|
+
s.add_dependency(%q<rest-client>, [">= 0"])
|
69
|
+
s.add_dependency(%q<json>, [">= 0"])
|
70
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
71
|
+
s.add_dependency(%q<rspec>, ["~> 2.0.0"])
|
72
|
+
s.add_dependency(%q<yard>, [">= 0"])
|
73
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
74
|
+
s.add_dependency(%q<rspec>, [">= 2.0"])
|
75
|
+
s.add_dependency(%q<yard>, [">= 0"])
|
76
|
+
s.add_dependency(%q<json>, [">= 0"])
|
77
|
+
s.add_dependency(%q<rest-client>, [">= 0"])
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
data/example.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'dynect_rest'
|
2
|
+
|
3
|
+
DYNECT_CUST = ENV['DYNECT_CUST'] || 'customer'
|
4
|
+
DYNECT_USER = ENV['DYNECT_USER'] || 'user'
|
5
|
+
DYNECT_PASS = ENV['DYNECT_PASS'] || 'secretword'
|
6
|
+
DYNECT_ZONE = ENV['DYNECT_ZONE'] || 'example.com'
|
7
|
+
|
8
|
+
@dyn = DynectRest.new(DYNECT_CUST, DYNECT_USER, DYNECT_PASS, DYNECT_ZONE, true)
|
9
|
+
|
10
|
+
# Create or Update an A Record for the given host
|
11
|
+
host = "example.#{DYNECT_ZONE}"
|
12
|
+
@record = @dyn.a.fqdn(host)
|
13
|
+
if @record.get(host)
|
14
|
+
@dyn.a.fqdn(host).ttl(300).address("10.4.5.254").save(true)
|
15
|
+
# the true flag will use a put instead of a post. This is required if you want to be able to update, as welll as create
|
16
|
+
else
|
17
|
+
@dyn.a.fqdn(host).ttl(300).address("10.4.5.254").save(false)
|
18
|
+
end
|
19
|
+
|
20
|
+
# Create a new cname record
|
21
|
+
@dyn.cname.fqdn("example-cname.#{DYNECT_ZONE}").cname("ec2-10-10-10-10.amazonaws.com").save
|
22
|
+
|
23
|
+
@dyn.publish
|
24
|
+
@dyn.logout
|
25
|
+
|
26
|
+
|
27
|
+
|
data/lib/dynect_rest.rb
CHANGED
@@ -109,15 +109,32 @@ class DynectRest
|
|
109
109
|
# @return [Hash] The dynect API response
|
110
110
|
def thaw(zone=nil)
|
111
111
|
zone ||= @zone
|
112
|
-
put("Zone/#{zone}", { "
|
112
|
+
put("Zone/#{zone}", { "thaw" => true })
|
113
|
+
end
|
114
|
+
|
115
|
+
# Convert a CamelCasedString to an under_scored_string.
|
116
|
+
def self.underscore(string)
|
117
|
+
word = string.dup
|
118
|
+
word.gsub!(/::/, '/')
|
119
|
+
word.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
|
120
|
+
word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
|
121
|
+
word.tr!("-", "_")
|
122
|
+
word.downcase!
|
123
|
+
word
|
113
124
|
end
|
114
125
|
|
115
126
|
##
|
116
127
|
# Resource Records
|
117
128
|
##
|
118
|
-
%w{AAAA A CNAME DNSKEY DS KEY LOC MX NS PTR RP SOA SRV TXT}.each do |
|
119
|
-
define_method
|
120
|
-
DynectRest::Resource.new(self,
|
129
|
+
%w{AAAA A CNAME DNSKEY DS KEY LOC MX NS PTR RP SOA SRV TXT}.each do |record_type|
|
130
|
+
define_method underscore(record_type) do
|
131
|
+
DynectRest::Resource.new(self,"#{record_type}Record" , @zone)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
%w{Node NodeList}.each do |type|
|
136
|
+
define_method underscore(type) do
|
137
|
+
DynectRest::Resource.new(self,"#{type}" , @zone)
|
121
138
|
end
|
122
139
|
end
|
123
140
|
|
@@ -195,4 +212,5 @@ class DynectRest
|
|
195
212
|
end
|
196
213
|
end
|
197
214
|
|
215
|
+
|
198
216
|
end
|
data/lib/dynect_rest/resource.rb
CHANGED
@@ -53,30 +53,41 @@ class DynectRest
|
|
53
53
|
|
54
54
|
def resource_path(full=false)
|
55
55
|
if (full == true || full == :full)
|
56
|
-
"/REST/#{@record_type}
|
56
|
+
"/REST/#{@record_type}/#{@zone}"
|
57
57
|
else
|
58
|
-
"#{@record_type}
|
58
|
+
"#{@record_type}/#{@zone}"
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
62
|
-
def get(fqdn, record_id=nil)
|
63
|
-
if record_id
|
62
|
+
def get(fqdn = nil, record_id=nil)
|
63
|
+
if record_id && fqdn
|
64
64
|
raw_rr = @dynect.get("#{resource_path}/#{fqdn}/#{record_id}")
|
65
|
-
DynectRest::Resource.new(dynect,
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
65
|
+
DynectRest::Resource.new(dynect,
|
66
|
+
raw_rr["record_type"],
|
67
|
+
raw_rr["zone"],
|
68
|
+
raw_rr["fqdn"],
|
69
|
+
raw_rr["record_id"],
|
70
|
+
raw_rr["ttl"],
|
71
|
+
raw_rr["rdata"])
|
72
|
+
elsif fqdn
|
73
|
+
results = @dynect.get("#{resource_path}/#{fqdn}")
|
74
|
+
raw_rr_list = results.map do |record|
|
75
|
+
if (record =~ /^#{resource_path(:full)}\/#{Regexp.escape(fqdn)}\/(\d+)$/)
|
76
|
+
self.get(fqdn, $1)
|
77
|
+
else
|
78
|
+
record
|
79
|
+
end
|
71
80
|
end
|
72
81
|
case raw_rr_list.length
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
82
|
+
when 0
|
83
|
+
raise DynectRest::Exceptions::RequestFailed, "Cannot find #{record_type} record for #{fqdn}"
|
84
|
+
when 1
|
85
|
+
raw_rr_list[0]
|
77
86
|
else
|
78
87
|
raw_rr_list
|
79
88
|
end
|
89
|
+
else
|
90
|
+
@dynect.get(resource_path)
|
80
91
|
end
|
81
92
|
end
|
82
93
|
|
@@ -104,7 +115,12 @@ class DynectRest
|
|
104
115
|
end
|
105
116
|
|
106
117
|
def delete
|
107
|
-
|
118
|
+
url = if record_id
|
119
|
+
"#{resource_path}/#{fqdn}/#{record_id}"
|
120
|
+
else
|
121
|
+
"#{resource_path}/#{fqdn}"
|
122
|
+
end
|
123
|
+
@dynect.delete(url)
|
108
124
|
end
|
109
125
|
|
110
126
|
def to_json
|
@@ -117,7 +133,7 @@ class DynectRest
|
|
117
133
|
def method_missing(method_symbol, *args, &block)
|
118
134
|
method_string = method_symbol.to_s
|
119
135
|
if (args.length > 0 && method_string !~ /=$/)
|
120
|
-
@rdata[method_string] =
|
136
|
+
@rdata[method_string] = args.length == 1 ? args[0] : args
|
121
137
|
self
|
122
138
|
elsif @rdata.has_key?(method_string)
|
123
139
|
@rdata[method_string]
|
@@ -0,0 +1,87 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
describe DynectRest do
|
4
|
+
let(:d) do
|
5
|
+
DynectRest.new("customer", "username", "password", "zone", false)
|
6
|
+
end
|
7
|
+
|
8
|
+
describe "a" do
|
9
|
+
subject { d.a }
|
10
|
+
its(:resource_path) { should == 'ARecord/zone' }
|
11
|
+
end
|
12
|
+
|
13
|
+
describe "aaaa" do
|
14
|
+
subject { d.aaaa }
|
15
|
+
its(:resource_path) { should == 'AAAARecord/zone' }
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "cname" do
|
19
|
+
subject { d.cname }
|
20
|
+
its(:resource_path) { should == 'CNAMERecord/zone' }
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "dnskey" do
|
24
|
+
subject { d.dnskey }
|
25
|
+
its(:resource_path) { should == 'DNSKEYRecord/zone' }
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "ds" do
|
29
|
+
subject { d.ds }
|
30
|
+
its(:resource_path) { should == 'DSRecord/zone' }
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "key" do
|
34
|
+
subject { d.key }
|
35
|
+
its(:resource_path) { should == 'KEYRecord/zone' }
|
36
|
+
end
|
37
|
+
|
38
|
+
describe "loc" do
|
39
|
+
subject { d.loc }
|
40
|
+
its(:resource_path) { should == 'LOCRecord/zone' }
|
41
|
+
end
|
42
|
+
|
43
|
+
describe "mx" do
|
44
|
+
subject { d.mx }
|
45
|
+
its(:resource_path) { should == 'MXRecord/zone' }
|
46
|
+
end
|
47
|
+
|
48
|
+
describe "ns" do
|
49
|
+
subject { d.ns }
|
50
|
+
its(:resource_path) { should == 'NSRecord/zone' }
|
51
|
+
end
|
52
|
+
|
53
|
+
describe "ptr" do
|
54
|
+
subject { d.ptr }
|
55
|
+
its(:resource_path) { should == 'PTRRecord/zone' }
|
56
|
+
end
|
57
|
+
|
58
|
+
describe "rp" do
|
59
|
+
subject { d.rp }
|
60
|
+
its(:resource_path) { should == 'RPRecord/zone' }
|
61
|
+
end
|
62
|
+
|
63
|
+
describe "soa" do
|
64
|
+
subject { d.soa }
|
65
|
+
its(:resource_path) { should == 'SOARecord/zone' }
|
66
|
+
end
|
67
|
+
|
68
|
+
describe "srv" do
|
69
|
+
subject { d.srv }
|
70
|
+
its(:resource_path) { should == 'SRVRecord/zone' }
|
71
|
+
end
|
72
|
+
|
73
|
+
describe "txt" do
|
74
|
+
subject { d.txt }
|
75
|
+
its(:resource_path) { should == 'TXTRecord/zone' }
|
76
|
+
end
|
77
|
+
|
78
|
+
describe "node_list" do
|
79
|
+
subject { d.node_list }
|
80
|
+
its(:resource_path) { should == 'NodeList/zone' }
|
81
|
+
end
|
82
|
+
|
83
|
+
describe "node" do
|
84
|
+
subject { d.node }
|
85
|
+
its(:resource_path) { should == 'Node/zone' }
|
86
|
+
end
|
87
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
2
2
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
3
|
-
require '
|
4
|
-
require '
|
5
|
-
require '
|
3
|
+
require 'dynect_rest'
|
4
|
+
require 'rspec'
|
5
|
+
require 'rspec/autorun'
|
6
6
|
|
7
|
-
|
7
|
+
RSpec.configure do |config|
|
8
8
|
|
9
9
|
end
|
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dynect_rest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 3
|
8
|
-
- 0
|
9
|
-
version: 0.3.0
|
4
|
+
prerelease:
|
5
|
+
version: 0.4.0
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- Adam Jacob
|
@@ -14,59 +10,118 @@ autorequire:
|
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
12
|
|
17
|
-
date:
|
18
|
-
default_executable:
|
13
|
+
date: 2011-06-08 00:00:00 Z
|
19
14
|
dependencies:
|
20
15
|
- !ruby/object:Gem::Dependency
|
21
|
-
name:
|
22
|
-
prerelease: false
|
16
|
+
name: rest-client
|
23
17
|
requirement: &id001 !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
24
19
|
requirements:
|
25
20
|
- - ">="
|
26
21
|
- !ruby/object:Gem::Version
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
- 9
|
31
|
-
version: 1.2.9
|
32
|
-
type: :development
|
22
|
+
version: "0"
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
33
25
|
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: json
|
28
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "0"
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: *id002
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: rake
|
39
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: "0"
|
45
|
+
type: :development
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *id003
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: rspec
|
50
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
53
|
+
- - ~>
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 2.0.0
|
56
|
+
type: :development
|
57
|
+
prerelease: false
|
58
|
+
version_requirements: *id004
|
34
59
|
- !ruby/object:Gem::Dependency
|
35
60
|
name: yard
|
61
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
62
|
+
none: false
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: "0"
|
67
|
+
type: :development
|
36
68
|
prerelease: false
|
37
|
-
|
69
|
+
version_requirements: *id005
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: jeweler
|
72
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
38
74
|
requirements:
|
39
75
|
- - ">="
|
40
76
|
- !ruby/object:Gem::Version
|
41
|
-
segments:
|
42
|
-
- 0
|
43
77
|
version: "0"
|
44
78
|
type: :development
|
45
|
-
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: *id006
|
46
81
|
- !ruby/object:Gem::Dependency
|
47
|
-
name:
|
82
|
+
name: rspec
|
83
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: "2.0"
|
89
|
+
type: :development
|
48
90
|
prerelease: false
|
49
|
-
|
91
|
+
version_requirements: *id007
|
92
|
+
- !ruby/object:Gem::Dependency
|
93
|
+
name: yard
|
94
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
96
|
+
requirements:
|
97
|
+
- - ">="
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: "0"
|
100
|
+
type: :development
|
101
|
+
prerelease: false
|
102
|
+
version_requirements: *id008
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: json
|
105
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
50
107
|
requirements:
|
51
108
|
- - ">="
|
52
109
|
- !ruby/object:Gem::Version
|
53
|
-
segments:
|
54
|
-
- 0
|
55
110
|
version: "0"
|
56
111
|
type: :runtime
|
57
|
-
|
112
|
+
prerelease: false
|
113
|
+
version_requirements: *id009
|
58
114
|
- !ruby/object:Gem::Dependency
|
59
115
|
name: rest-client
|
60
|
-
|
61
|
-
|
116
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
117
|
+
none: false
|
62
118
|
requirements:
|
63
119
|
- - ">="
|
64
120
|
- !ruby/object:Gem::Version
|
65
|
-
segments:
|
66
|
-
- 0
|
67
121
|
version: "0"
|
68
122
|
type: :runtime
|
69
|
-
|
123
|
+
prerelease: false
|
124
|
+
version_requirements: *id010
|
70
125
|
description: Use the Dynect services REST API
|
71
126
|
email: adam@opscode.com
|
72
127
|
executables: []
|
@@ -78,47 +133,46 @@ extra_rdoc_files:
|
|
78
133
|
- README.rdoc
|
79
134
|
files:
|
80
135
|
- .document
|
81
|
-
- .
|
136
|
+
- .rspec
|
137
|
+
- Gemfile
|
138
|
+
- Gemfile.lock
|
82
139
|
- LICENSE
|
83
140
|
- README.rdoc
|
84
141
|
- Rakefile
|
85
142
|
- VERSION
|
143
|
+
- dynect_rest.gemspec
|
144
|
+
- example.rb
|
86
145
|
- lib/dynect_rest.rb
|
87
146
|
- lib/dynect_rest/exceptions.rb
|
88
147
|
- lib/dynect_rest/resource.rb
|
89
|
-
- spec/
|
90
|
-
- spec/spec.opts
|
148
|
+
- spec/dynect_rest_spec.rb
|
91
149
|
- spec/spec_helper.rb
|
92
|
-
has_rdoc: true
|
93
150
|
homepage: http://github.com/adamhjk/dynect-rest
|
94
151
|
licenses: []
|
95
152
|
|
96
153
|
post_install_message:
|
97
|
-
rdoc_options:
|
98
|
-
|
154
|
+
rdoc_options: []
|
155
|
+
|
99
156
|
require_paths:
|
100
157
|
- lib
|
101
158
|
required_ruby_version: !ruby/object:Gem::Requirement
|
159
|
+
none: false
|
102
160
|
requirements:
|
103
161
|
- - ">="
|
104
162
|
- !ruby/object:Gem::Version
|
105
|
-
segments:
|
106
|
-
- 0
|
107
163
|
version: "0"
|
108
164
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
|
+
none: false
|
109
166
|
requirements:
|
110
167
|
- - ">="
|
111
168
|
- !ruby/object:Gem::Version
|
112
|
-
segments:
|
113
|
-
- 0
|
114
169
|
version: "0"
|
115
170
|
requirements: []
|
116
171
|
|
117
172
|
rubyforge_project:
|
118
|
-
rubygems_version: 1.
|
173
|
+
rubygems_version: 1.8.5
|
119
174
|
signing_key:
|
120
175
|
specification_version: 3
|
121
176
|
summary: Dynect REST API library
|
122
|
-
test_files:
|
123
|
-
|
124
|
-
- spec/spec_helper.rb
|
177
|
+
test_files: []
|
178
|
+
|
data/.gitignore
DELETED