cdn77 0.0.1 → 0.0.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0bfd78dd2a34718e5ff5b883edc2fc40ae64aa49
4
- data.tar.gz: c3b54b15c9afa921baf64d440fb9c1778f8f46e8
3
+ metadata.gz: 9fb1d4de693d00f01e9e4e9bd6518a3865e96713
4
+ data.tar.gz: 3f28f5950f9050e7f46018c7eaadbef47cde752f
5
5
  SHA512:
6
- metadata.gz: 8cf0f6146103bdab9715d723769f6ac9ff6d6d38854a67f37e2d266b96962b047a60bfb0a2795f59e374f5b21e88b4f89e55a9c7c71fa31152c1be0b4f2f75c0
7
- data.tar.gz: 6bb8ccc37bc6ec4908d41ab4bd34b534c7571521dc7fca10eda3bedf0e5fbbdd89654cb60ca73da352eabcee71b093339ff7bdfd0e0b54b589bf938e452adb38
6
+ metadata.gz: 8ac14290bfaff3a0b740fc9767b1fa4da6d956f998b649f802d27189f487ea224b9003a6dbb0036646997fd95a39b46e33ec8b9cd5e76f5e98581df0cf58f135
7
+ data.tar.gz: f1a6b8a680c3926c076aea738f818be2026415be0d9aa3758effd8fdfac10bbe345704f4d51734efa9ea5dea5754ed8a580870ede4019008d1a2cfc4a6328140
@@ -0,0 +1,5 @@
1
+ ## v0.0.2
2
+
3
+ * API of CDN77 expect that arrays will be encoding using "x[]=1&x[]=2" notation. So, it's implemented now.
4
+
5
+ Please check [v0.0.1](https://github.com/ToMesto/cdn77/tree/v1.0.0) for previous changes.
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # cdn77
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/cdn77.svg)](http://badge.fury.io/rb/cdn77)
4
+
3
5
  Wrapper for CDN77 API that allows you to do a wide range of commands and tasks from an external script or server.
4
6
 
5
7
  ## Installation
@@ -19,7 +21,7 @@ bundle install
19
21
  Or install it yourself as:
20
22
 
21
23
  ```bash
22
- gem install xxx
24
+ gem install cdn77
23
25
  ```
24
26
  And require in irb:
25
27
 
@@ -38,7 +40,7 @@ cdn.get("account", "details")
38
40
  # {:status => "ok", :description => "Request was successful.", :account => ...}
39
41
  ```
40
42
 
41
- If you want to setup configuration only once you should take a look on `Cdn77.configure`. For example, it is a good idea to create initializer with following code in Rails:
43
+ If you want to setup configuration only once you should take a look on `Cdn77.configure`. For example, it is a good idea to create rails initializer with following code:
42
44
 
43
45
  ```ruby
44
46
  # config/initializers/cdn77.rb
@@ -81,10 +81,18 @@ module Cdn77
81
81
 
82
82
  def with_creditinals(params = {})
83
83
  params ||= {}
84
- params[:passwd] = params.delete(:password) if params[:password] && !params[:passwd]
85
- params[:login] ||= login
86
- params[:passwd] ||= password
87
- params
84
+ result = {}
85
+ params.each do |k, v|
86
+ if v.is_a?(Array)
87
+ result["#{k.to_s}[]"] = v
88
+ else
89
+ result[k.to_s] = v
90
+ end
91
+ end
92
+ result["login"] ||= login
93
+ result["passwd"] ||= result.delete("password") if result["password"]
94
+ result["passwd"] ||= password
95
+ result
88
96
  end
89
97
 
90
98
  def raise_if_invalid(scope, method)
@@ -1,3 +1,3 @@
1
1
  module Cdn77
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -16,31 +16,6 @@ shared_examples "an url builder" do |method_name|
16
16
  end
17
17
 
18
18
  shared_examples "a request sender" do |method, url|
19
- let (:successful_response_body) do
20
- {
21
- :status => "ok",
22
- :description => "Request was successful."
23
- }
24
- end
25
-
26
- let (:wrong_credentials_response_body) do
27
- {
28
- :status => "error",
29
- :description => "Authentication failed. Please, login again or contact our support."
30
- }
31
- end
32
-
33
- let (:wrong_parameters_response_body) do
34
- {
35
- :status => "error",
36
- :description => "Request was not successful.",
37
- :errors => {
38
- :email => "email is required.",
39
- :password => "password is required."
40
- }
41
- }
42
- end
43
-
44
19
  it "should raise MethodCallError when response code is not 200 OK" do
45
20
  stub_request(method, url).to_return(:status => 500, :body => successful_response_body.to_json)
46
21
  expect{ cdn.send(method, "account", "details") }.to raise_error(Cdn77::MethodCallError)
@@ -87,6 +62,32 @@ describe Cdn77::CDN do
87
62
  end
88
63
 
89
64
  let (:cdn) { Cdn77.cdn }
65
+
66
+ let (:successful_response_body) do
67
+ {
68
+ :status => "ok",
69
+ :description => "Request was successful."
70
+ }
71
+ end
72
+
73
+ let (:wrong_credentials_response_body) do
74
+ {
75
+ :status => "error",
76
+ :description => "Authentication failed. Please, login again or contact our support."
77
+ }
78
+ end
79
+
80
+ let (:wrong_parameters_response_body) do
81
+ {
82
+ :status => "error",
83
+ :description => "Request was not successful.",
84
+ :errors => {
85
+ :email => "email is required.",
86
+ :password => "password is required."
87
+ }
88
+ }
89
+ end
90
+
90
91
 
91
92
  describe "#configuration" do
92
93
  it "should return global configuration" do
@@ -124,6 +125,14 @@ describe Cdn77::CDN do
124
125
 
125
126
  it_behaves_like "an url builder", :post
126
127
  it_behaves_like "a request sender", :post, "https://client.cdn77.com/api/v2.0/account/details"
128
+
129
+ it "should encode array parameters correctly" do
130
+ stub_request(:post, "https://client.cdn77.com/api/v2.0/data/purge").
131
+ with(:body => "cdn_id=12345&url%5B%5D=public%2Fimages%2F1.png&url%5B%5D=public%2Fimages%2F2.png&login=ivan%40examle.com&passwd=secret").
132
+ to_return(:status => 200, :body => successful_response_body.to_json)
133
+
134
+ expect(cdn.post("data", "purge", :cdn_id => "12345", :url => ["public/images/1.png", "public/images/2.png"])).to eq(successful_response_body)
135
+ end
127
136
  end
128
137
 
129
138
  describe "#get" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cdn77
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Tsvetkov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-03 00:00:00.000000000 Z
11
+ date: 2015-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -77,6 +77,7 @@ files:
77
77
  - ".gitignore"
78
78
  - ".rspec"
79
79
  - ".travis.yml"
80
+ - CHANGELOG.md
80
81
  - Gemfile
81
82
  - LICENSE
82
83
  - README.md