fog-dtdream 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cc5888cc2436ef0e17480046ad2d4a60a74182db
4
- data.tar.gz: 065780c8718a48ad4a9a7562b63c23a4c8d280e5
3
+ metadata.gz: 7181e89e8f06a7007742bae6d0ae4854ebc98fb1
4
+ data.tar.gz: 6e8b45b762107272a5af2ee9c0e3a3b9b85567cd
5
5
  SHA512:
6
- metadata.gz: db2726ff1276ecd5562a41e2ad28a67cc4ae85e45eaabcc77556fc6c721236bcf18c3a89af2aa42b366605572f45eae5bd3eb432abf551cd55e484c07996f746
7
- data.tar.gz: 0d5f0cb08ef09dc3f0691455de385e11affd4da2a121108067d2dd39c4cf17d452483e8620aa254194c9bb47b9f58c06e2debebde8dab1273e4bfddcaa07c1f1
6
+ metadata.gz: 7e342e16a39450a10c0c7dc125338a55b0675cbafaa0cdf2d95ce5181950c02a25d682406477540d9374c831c41409916bf4f3e60aa4f2a9fc4d1f93e0755d30
7
+ data.tar.gz: e910f7716cd9d9f77ece369df48910cc25364ab15c9216d7fca8409c116d92c117ea65a8c45704c594a5d4bf2c09b5d0a0cf45b4235dfe9a68eaf7fc85f22a3d
data/.gitignore CHANGED
File without changes
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.travis.yml CHANGED
File without changes
@@ -0,0 +1,13 @@
1
+ # Contributor Code of Conduct
2
+
3
+ As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
4
+
5
+ We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
6
+
7
+ Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
8
+
9
+ Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
10
+
11
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
12
+
13
+ This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
data/README.md CHANGED
@@ -26,13 +26,13 @@ TODO: Write usage instructions here
26
26
 
27
27
  ## Development
28
28
 
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake false` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
29
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
30
 
31
31
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
32
 
33
33
  ## Contributing
34
34
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/fog-dtdream.
35
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/fog-dtdream. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.
36
36
 
37
37
 
38
38
  ## License
data/Rakefile CHANGED
@@ -1 +1,6 @@
1
1
  require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
data/fog-dtdream.gemspec CHANGED
@@ -14,14 +14,6 @@ Gem::Specification.new do |spec|
14
14
  spec.homepage = "https://github.com/denques/fog-aliyun.git"
15
15
  spec.license = "MIT"
16
16
 
17
- # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
18
- # delete this section to allow pushing this gem to any host.
19
- if spec.respond_to?(:metadata)
20
- spec.metadata['allowed_push_host'] = "https://rubygems.org"
21
- else
22
- raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
23
- end
24
-
25
17
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
26
18
  spec.bindir = "exe"
27
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
@@ -29,4 +21,11 @@ Gem::Specification.new do |spec|
29
21
 
30
22
  spec.add_development_dependency "bundler", "~> 1.10"
31
23
  spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_development_dependency "rspec"
25
+
26
+ spec.add_dependency 'fog-core', '~> 1.27'
27
+ spec.add_dependency 'fog-json', '~> 1.0'
28
+ spec.add_dependency 'fog-xml', '~> 0.1'
29
+ spec.add_dependency 'ipaddress', '~> 0.8'
30
+ spec.add_dependency 'activesupport'
32
31
  end
@@ -5,12 +5,7 @@ module Fog
5
5
  module Storage
6
6
  class Dtdream
7
7
  class Directory < Fog::Model
8
- identity :key, :aliases => 'name'
9
-
10
- attribute :bytes, :aliases => 'X-Container-Bytes-Used'
11
- attribute :count, :aliases => 'X-Container-Object-Count'
12
-
13
- attr_writer :public
8
+ identity :key
14
9
 
15
10
  def destroy
16
11
  #��ȫ��飬���Ŀ¼�ǿղ�����ɾ��
@@ -43,7 +43,12 @@ module Fog
43
43
 
44
44
  def destroy
45
45
  requires :directory, :key
46
- service.delete_object(directory.key, key)
46
+ if directory.key == ""
47
+ object = key
48
+ else
49
+ object = directory.key+"/"+key
50
+ end
51
+ service.delete_object(object)
47
52
  true
48
53
  end
49
54
 
@@ -74,7 +79,12 @@ module Fog
74
79
  #
75
80
  def url(expires, options = {})
76
81
  requires :directory, :key
77
- self.service.create_temp_url(directory.key, key, expires, "GET", options)
82
+ if directory.key == ""
83
+ object = key
84
+ else
85
+ object = directory.key+"/"+key
86
+ end
87
+ self.service.get_object_http_url_public(object, expires, options)
78
88
  end
79
89
 
80
90
  def public_url
@@ -23,14 +23,23 @@ module Fog
23
23
  i = 0
24
24
  files.each do |file|
25
25
  if file["Key"][0][-1] != "/"
26
+ content_length = file["Size"][0].to_i
26
27
  key = file["Key"][0]
27
- data[i] = {:key=>key}
28
+ key = key[13..-1]
29
+ lastModified = file["LastModified"][0]
30
+ if lastModified != nil && lastModified != ""
31
+ last_modified = (Time.parse(lastModified)).localtime
32
+ else
33
+ last_modified = nil
34
+ end
35
+ data[i] = {:content_length=>content_length,
36
+ :key=>key,
37
+ :last_modified=>last_modified}
28
38
  i = i + 1
29
39
  end
30
40
  end
31
41
 
32
- #load(data)
33
- data
42
+ load(data)
34
43
 
35
44
  end
36
45
 
@@ -64,11 +73,18 @@ module Fog
64
73
  if data[:status] != 200 || contentLen <= 0
65
74
  return nil
66
75
  end
76
+ lastModified = data[:headers]["Last-Modified"]
77
+ if lastModified != nil && lastModified != ""
78
+ last_modified = (Time.parse(lastModified)).localtime
79
+ else
80
+ last_modified = nil
81
+ end
82
+
67
83
 
68
84
  file_data = {
69
85
  :content_length => contentLen,
70
86
  :key => key,
71
- :last_modified => data[:headers]["Last-Modified"]
87
+ :last_modified => last_modified
72
88
  }
73
89
 
74
90
  if block_given?
@@ -78,7 +94,8 @@ module Fog
78
94
  _start = (i-1)*(Excon::CHUNK_SIZE)
79
95
  _end = i*(Excon::CHUNK_SIZE) - 1
80
96
  range = "#{_start}-#{_end}"
81
- chunk = service.get_object(object, range) && yield(chunk)
97
+ chunk = service.get_object(object, range)[:body]
98
+ yield(chunk)
82
99
  end
83
100
  new(file_data)
84
101
  else
@@ -127,9 +144,18 @@ module Fog
127
144
  object = directory.key+"/"+key
128
145
  end
129
146
  data = service.head_object(object).data
130
- file_data = data[:headers].merge({
131
- :key => key
132
- })
147
+ lastModified = data[:headers]["Last-Modified"]
148
+ if lastModified != nil && lastModified != ""
149
+ last_modified = (Time.parse(lastModified)).localtime
150
+ else
151
+ last_modified = nil
152
+ end
153
+
154
+ file_data = {
155
+ :content_length => data[:headers]["Content-Length"].to_i,
156
+ :key => key,
157
+ :last_modified => last_modified
158
+ }
133
159
  new(file_data)
134
160
  rescue Fog::Storage::Dtdream::NotFound
135
161
  nil
@@ -27,6 +27,12 @@ module Fog
27
27
  })
28
28
  end
29
29
  end
30
+
31
+ class Mock
32
+ def copy_object(source_bucket, source_object, target_bucket, target_object)
33
+
34
+ end
35
+ end
30
36
  end
31
37
  end
32
38
  end
@@ -21,6 +21,11 @@ module Fog
21
21
  )
22
22
  end
23
23
  end
24
+
25
+ class Mock
26
+ def delete_bucket(bucket)
27
+ end
28
+ end
24
29
  end
25
30
  end
26
31
  end
@@ -27,6 +27,12 @@ module Fog
27
27
  )
28
28
  end
29
29
  end
30
+ class Mock
31
+
32
+ def delete_container(container, options={})
33
+
34
+ end
35
+ end
30
36
  end
31
37
  end
32
38
  end
@@ -8,7 +8,7 @@ module Fog
8
8
  # * container<~String> - Name of container to delete
9
9
  # * object<~String> - Name of object to delete
10
10
  #
11
- def delete_object(object, options)
11
+ def delete_object(object, options={})
12
12
  bucket = options[:bucket]
13
13
  bucket ||= @aliyun_oss_bucket
14
14
  location = get_bucket_location(bucket)
@@ -43,7 +43,11 @@ module Fog
43
43
  )
44
44
 
45
45
  end
46
-
46
+ end
47
+
48
+ class Mock
49
+ def delete_object(object, options={})
50
+ end
47
51
  end
48
52
  end
49
53
  end
@@ -1,5 +1,3 @@
1
- require 'xmlsimple'
2
-
3
1
  module Fog
4
2
  module Storage
5
3
  class Dtdream
@@ -16,7 +14,7 @@ module Fog
16
14
  :endpoint => endpoint
17
15
  )
18
16
  xml = ret.data[:body]
19
- result = XmlSimple.xml_in(xml)
17
+ result = Hash.from_xml(xml)
20
18
  end
21
19
 
22
20
  def get_bucket_location(bucket)
@@ -29,7 +27,7 @@ module Fog
29
27
  :bucket => bucket,
30
28
  :resource => resource
31
29
  )
32
- location = XmlSimple.xml_in(ret.data[:body])
30
+ location = Hash.from_xml(ret.data[:body])["LocationConstraint"]
33
31
  end
34
32
 
35
33
  def get_bucket_acl(bucket)
@@ -45,7 +43,7 @@ module Fog
45
43
  :resource => resource,
46
44
  :endpoint => endpoint
47
45
  )
48
- acl = XmlSimple.xml_in(ret.data[:body])["AccessControlList"][0]["Grant"][0]
46
+ acl = Hash.from_xml(ret.data[:body])["AccessControlPolicy"]["AccessControlList"]["Grant"]
49
47
  end
50
48
 
51
49
  #{"AllowedOrigin"=>["1"], "AllowedMethod"=>["DELETE"], "AllowedHeader"=>["1"], "ExposeHeader"=>["1"], "MaxAgeSeconds"=>["1"]}
@@ -62,7 +60,7 @@ module Fog
62
60
  :resource => resource,
63
61
  :endpoint => endpoint
64
62
  )
65
- cors = XmlSimple.xml_in(ret.data[:body])["CORSRule"][0]
63
+ cors = Hash.from_xml(ret.data[:body])["CORSConfiguration"]["CORSRule"]
66
64
  end
67
65
 
68
66
  #{"ID"=>["651a67ed-5b4f-4d9b-87ae-49dbaaa4b0ad"], "Prefix"=>["1"], "Status"=>["Enabled"], "Expiration"=>[{"Days"=>["30"]}]}
@@ -79,7 +77,7 @@ module Fog
79
77
  :resource => resource,
80
78
  :endpoint => endpoint
81
79
  )
82
- lifecycle = XmlSimple.xml_in(ret.data[:body])["Rule"][0]
80
+ lifecycle = Hash.from_xml(ret.data[:body])["LifecycleConfiguration"]["Rule"]
83
81
  end
84
82
 
85
83
  #返回log的prefix,如果没有设置log开关,返回nil
@@ -96,7 +94,7 @@ module Fog
96
94
  :resource => resource,
97
95
  :endpoint => endpoint
98
96
  )
99
- logging = XmlSimple.xml_in(ret.data[:body])["LoggingEnabled"][0]["TargetPrefix"]
97
+ logging = Hash.from_xml(ret.data[:body])["BucketLoggingStatus"]["LoggingEnabled"]
100
98
  end
101
99
 
102
100
  #{"AllowEmptyReferer"=>["true"], "RefererList"=>[{}]}
@@ -113,7 +111,7 @@ module Fog
113
111
  :resource => resource,
114
112
  :endpoint => endpoint
115
113
  )
116
- referer = XmlSimple.xml_in(ret.data[:body])
114
+ referer = Hash.from_xml(ret.data[:body])["RefererConfiguration"]
117
115
  end
118
116
 
119
117
  #{"IndexDocument"=>[{"Suffix"=>["abc.html"]}], "ErrorDocument"=>[{"Key"=>["error.html"]}]}
@@ -130,11 +128,16 @@ module Fog
130
128
  :resource => resource,
131
129
  :endpoint => endpoint
132
130
  )
133
- website = XmlSimple.xml_in(ret.data[:body])
131
+ website = Hash.from_xml(ret.data[:body])["WebsiteConfiguration"]
134
132
  end
135
133
 
136
134
  end
135
+ class Mock
136
+
137
+ def get_bucket(bucket)
137
138
 
139
+ end
140
+ end
138
141
  end
139
142
  end
140
143
  end
@@ -59,7 +59,13 @@ module Fog
59
59
  :bucket => bucket
60
60
  )
61
61
  xml = ret.data[:body]
62
- result = XmlSimple.xml_in(xml)["CommonPrefixes"]
62
+ result = Hash.from_xml(xml)["ListBucketResult"]["CommonPrefixes"]
63
+ end
64
+ end
65
+
66
+ class Mock
67
+ def get_container(container, options = {})
68
+
63
69
  end
64
70
  end
65
71
  end
@@ -64,7 +64,13 @@ module Fog
64
64
  :bucket => bucket
65
65
  )
66
66
  xml = ret.data[:body]
67
- result = XmlSimple.xml_in(xml)["CommonPrefixes"]
67
+ result = Hash.from_xml(xml)["ListBucketResult"]["CommonPrefixes"]
68
+ end
69
+ end
70
+
71
+ class Mock
72
+ def get_containers(options = {})
73
+
68
74
  end
69
75
  end
70
76
  end
@@ -32,10 +32,14 @@ module Fog
32
32
  para[:headers] = {'Range' => rangeStr}
33
33
  end
34
34
 
35
- ret = request(para)
36
- return ret.data
35
+ response = request(para)
36
+ response.data
37
+ end
38
+ end
39
+
40
+ class Mock
41
+ def get_object(object, range = nil, options = {})
37
42
  end
38
-
39
43
  end
40
44
  end
41
45
  end
@@ -31,6 +31,10 @@ module Fog
31
31
  else
32
32
  url = "acl is wrong with value:"+acl
33
33
  end
34
+ end
35
+ end
36
+ class Mock
37
+ def get_object_http_url_public(object, expires, options = {})
34
38
 
35
39
  end
36
40
  end
@@ -92,6 +92,12 @@ module Fog
92
92
  }.join
93
93
  end
94
94
  end
95
+
96
+ class Mock
97
+ def get_object_https_url_public(object, expires, options = {})
98
+
99
+ end
100
+ end
95
101
  end
96
102
  end
97
103
  end
@@ -23,6 +23,11 @@ module Fog
23
23
  :endpoint => endpoint
24
24
  )
25
25
  return ret
26
+ end
27
+ end
28
+
29
+ class Mock
30
+ def head_object(object, options={})
26
31
 
27
32
  end
28
33
  end
@@ -36,11 +36,16 @@ module Fog
36
36
  :path => path
37
37
  )
38
38
  xml = ret.data[:body]
39
- result = XmlSimple.xml_in(xml)["Buckets"][0]["Bucket"]
39
+ result = Hash.from_xml(xml)["ListAllMyBucketsResult"]["Buckets"]["Bucket"]
40
40
  end
41
41
 
42
42
  end
43
43
 
44
+ class Mock
45
+ def list_buckets(options={})
46
+
47
+ end
48
+ end
44
49
  end
45
50
  end
46
51
  end
@@ -1,11 +1,8 @@
1
- require 'xmlsimple'
2
-
3
1
  module Fog
4
2
  module Storage
5
3
  class Dtdream
6
4
  class Real
7
5
  def list_objects(options={})
8
-
9
6
  bucket = options[:bucket]
10
7
  bucket ||= @aliyun_oss_bucket
11
8
  prefix = options[:prefix]
@@ -56,7 +53,7 @@ module Fog
56
53
  :bucket => bucket
57
54
  )
58
55
  xml = ret.data[:body]
59
- result = XmlSimple.xml_in(xml)
56
+ result = Hash.from_xml(xml)
60
57
  end
61
58
 
62
59
  def list_multipart_uploads(bucket, endpoint, options = {})
@@ -75,7 +72,7 @@ module Fog
75
72
  :resource => resource,
76
73
  :endpoint => endpoint
77
74
  )
78
- uploadid = XmlSimple.xml_in(ret.data[:body])["Upload"]
75
+ result = Hash.from_xml(ret.data[:body])["ListMultipartUploadsResult"]["Upload"]
79
76
 
80
77
  end
81
78
 
@@ -95,11 +92,16 @@ module Fog
95
92
  :resource => resource,
96
93
  :endpoint => endpoint
97
94
  )
98
- parts = XmlSimple.xml_in(ret.data[:body])["Part"]
95
+ result = Hash.from_xml(ret.data[:body])["ListPartsResult"]["Part"]
99
96
  end
100
97
 
101
98
  end
102
99
 
100
+ class Mock
101
+ def list_objects(options={})
102
+ puts " Aliyun Storage Mock list objects."
103
+ end
104
+ end
103
105
  end
104
106
  end
105
107
  end
@@ -13,6 +13,12 @@ module Fog
13
13
  )
14
14
  end
15
15
  end
16
+
17
+ class Mock
18
+ def put_bucket(bucketName)
19
+
20
+ end
21
+ end
16
22
 
17
23
  end
18
24
  end
@@ -25,6 +25,12 @@ module Fog
25
25
  )
26
26
  end
27
27
  end
28
+
29
+ class Mock
30
+ def put_container(name, options={})
31
+
32
+ end
33
+ end
28
34
  end
29
35
  end
30
36
  end
@@ -143,7 +143,7 @@ module Fog
143
143
  :resource => resource,
144
144
  :endpoint => endpoint
145
145
  )
146
- uploadid = XmlSimple.xml_in(ret.data[:body])["UploadId"][0]
146
+ uploadid = Hash.from_xml(ret.data[:body])["InitiateMultipartUploadResult"]["UploadId"]
147
147
  end
148
148
 
149
149
  def upload_part(bucket, object, endpoint, partNumber, uploadId, body)
@@ -171,12 +171,14 @@ module Fog
171
171
  end
172
172
  parts = list_parts(bucket, object, endpoint, uploadId, options = {})
173
173
  request_part = Array.new
174
+ if parts.size == 0
175
+ return
176
+ end
174
177
  for i in 0..(parts.size-1)
175
178
  part = parts[i]
176
179
  request_part[i] = {"PartNumber"=>part["PartNumber"], "ETag"=>part["ETag"]}
177
180
  end
178
- body =XmlSimple.xml_out({"Part"=>request_part},'RootName'=>'CompleteMultipartUpload')
179
-
181
+ body = request_part.to_xml({root:"CompleteMultipartUpload", children:"Part", skip_instruct:true, skip_types:true})
180
182
  path = object+"?uploadId="+uploadId
181
183
  resource = bucket+'/'+path
182
184
  ret = request(
@@ -191,6 +193,12 @@ module Fog
191
193
 
192
194
  end
193
195
  end
196
+
197
+ class Mock
198
+ def put_object(object, file=nil, options={})
199
+
200
+ end
201
+ end
194
202
  end
195
203
  end
196
204
  end
@@ -1,4 +1,6 @@
1
1
  require 'fog/dtdream/core'
2
+ require "active_support/core_ext/hash"
3
+ require "active_support/core_ext/hash/conversions"
2
4
 
3
5
  module Fog
4
6
  module Storage
@@ -66,7 +68,6 @@ module Fog
66
68
 
67
69
  @persistent = options[:persistent] || false
68
70
 
69
-
70
71
  end
71
72
 
72
73
  def reload
@@ -167,38 +168,31 @@ module Fog
167
168
  end
168
169
 
169
170
  class Mock
170
- def self.data
171
- @data ||= Hash.new do |hash, key|
172
- hash[key] = {}
173
- end
174
- end
175
-
176
- def self.reset
177
- @data = nil
178
- end
179
-
180
171
  def initialize(options={})
181
- @openstack_api_key = options[:openstack_api_key]
182
- @openstack_username = options[:openstack_username]
183
- @path = '/v1/AUTH_1234'
184
- end
185
-
186
- def data
187
- self.class.data[@openstack_username]
188
- end
172
+ #��ʼ����λ�ȡ
173
+ @aliyun_oss_endpoint = options[:aliyun_oss_endpoint]
174
+ @aliyun_oss_location = options[:aliyun_oss_location]
175
+ @aliyun_accesskey_id = options[:aliyun_accesskey_id]
176
+ @aliyun_accesskey_secret = options[:aliyun_accesskey_secret]
177
+ @aliyun_oss_bucket = options[:aliyun_oss_bucket]
189
178
 
190
- def reset_data
191
- self.class.data.delete(@openstack_username)
192
- end
179
+ #��μ�飬�ؼ���������ȱ��
180
+ #missing_credentials = Array.new
181
+ #missing_credentials << :aliyun_oss_endpoint unless @aliyun_oss_endpoint
182
+ #missing_credentials << :aliyun_oss_location unless @aliyun_oss_location
183
+ #missing_credentials << :aliyun_accesskey_id unless @aliyun_accesskey_id
184
+ #missing_credentials << :aliyun_accesskey_secret unless @aliyun_accesskey_secret
185
+ #raise ArgumentError, "Missing required arguments: #{missing_credentials.join(', ')}" unless missing_credentials.empty?
193
186
 
194
- def change_account(account)
195
- @original_path ||= @path
196
- version_string = @original_path.split('/')[1]
197
- @path = "/#{version_string}/#{account}"
198
- end
187
+ @connection_options = options[:connection_options] || {}
188
+
189
+ #uri = URI.parse(@aliyun_oss_endpoint)
190
+ #@host = uri.host
191
+ #@path = uri.path
192
+ #@port = uri.port
193
+ #@scheme = uri.scheme
199
194
 
200
- def reset_account_name
201
- @path = @original_path
195
+ #@persistent = options[:persistent] || false
202
196
  end
203
197
  end
204
198
  end
@@ -1,5 +1,5 @@
1
1
  module Fog
2
2
  module Dtdream
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog-dtdream
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - dengqinsi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-09-18 00:00:00.000000000 Z
11
+ date: 2015-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,90 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
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: fog-core
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.27'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.27'
69
+ - !ruby/object:Gem::Dependency
70
+ name: fog-json
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: fog-xml
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.1'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.1'
97
+ - !ruby/object:Gem::Dependency
98
+ name: ipaddress
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.8'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.8'
111
+ - !ruby/object:Gem::Dependency
112
+ name: activesupport
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
41
125
  description: This library can be used as a module for `fog` or as standalone provider
42
126
  to use the Aliyun Web Services in applications..
43
127
  email:
@@ -47,7 +131,9 @@ extensions: []
47
131
  extra_rdoc_files: []
48
132
  files:
49
133
  - ".gitignore"
134
+ - ".rspec"
50
135
  - ".travis.yml"
136
+ - CODE_OF_CONDUCT.md
51
137
  - Gemfile
52
138
  - LICENSE.txt
53
139
  - README.md
@@ -82,8 +168,7 @@ files:
82
168
  homepage: https://github.com/denques/fog-aliyun.git
83
169
  licenses:
84
170
  - MIT
85
- metadata:
86
- allowed_push_host: https://rubygems.org
171
+ metadata: {}
87
172
  post_install_message:
88
173
  rdoc_options: []
89
174
  require_paths: