yao 0.3.0 → 0.3.1

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: cb8a0a2dadc975011f644129f9373df0ae5d361c
4
- data.tar.gz: 193b029611bdd15bbd73e8e6eaf23b0b2ffa5284
3
+ metadata.gz: cd6c10a9f17a721d151c633f1668bc518c01fb51
4
+ data.tar.gz: e520c0d5a5a3eff1dfbd796c883af865747f0882
5
5
  SHA512:
6
- metadata.gz: d596134cae2041930bb56177ce417dced0437c24d3589c8e6a1a0081a264b261c150bdc51360ecee5e8a340aea44cb1e79d4f989bcf7ecc5559acf55d33f3b4e
7
- data.tar.gz: fd6c3d18fe67ea85a399f31919213eac3a69a50fa7bffa08e7984a0addaf3ae42c07c1fbee2a08eb394920274138504a0ed68b735cb46cdf7d1d0f8edd1cba31
6
+ metadata.gz: eff49cbc10c33dffc702372092d7af9196a9dda99af850f61531e592a3b1ffaa0601cfedcdd0872a98e35b70a1a38226f3cbf3fc852c6db192933f5546317c03
7
+ data.tar.gz: dac64ca02915c373496db975899f53e44b3b489f81f558207449796d9644cc51c29ceeee0dba4cee5e1141514c4b04dc5e0137c53c00fccb8e0aa0f24a749f39
data/README.md CHANGED
@@ -36,6 +36,18 @@ Yao::Network.list # list up networks...
36
36
  Yao::Server.list_detail # list up instances...
37
37
  ```
38
38
 
39
+ If you want to override some of endpoints by service, you can do:
40
+
41
+ ```ruby
42
+ Yao.configure do
43
+ auth_url "http://endpoint.example.com:12345"
44
+ tenant_name "example"
45
+ username "udzura"
46
+ password "XXXXXXXX"
47
+ endpoints identity: { public: "http://override-endpoint.example.com:35357/v3.0" }
48
+ end
49
+ ```
50
+
39
51
  ## Support policy
40
52
 
41
53
  YAO supports rubies which are supported by Ruby Core Team. Please look into [`.travis.yml`](./.travis.yml) 's directive.
@@ -3,6 +3,8 @@ require 'faraday'
3
3
  require 'yao/plugins/default_client_generator'
4
4
 
5
5
  module Yao
6
+ Yao.config.param :endpoints, nil
7
+
6
8
  module Client
7
9
  class ClientSet
8
10
  def initialize
@@ -32,8 +34,11 @@ module Yao
32
34
  }.to_h
33
35
  end
34
36
 
35
- self.pool[type] = Yao::Client.gen_client(urls[:public_url], token: token) if urls[:public_url]
36
- self.admin_pool[type] = Yao::Client.gen_client(urls[:admin_url], token: token) if urls[:admin_url]
37
+ force_public_url = Yao.config.endpoints[type.to_sym][:public] rescue nil
38
+ force_admin_url = Yao.config.endpoints[type.to_sym][:admin] rescue nil
39
+
40
+ self.pool[type] = Yao::Client.gen_client(force_public_url || urls[:public_url], token: token) if force_public_url || urls[:public_url]
41
+ self.admin_pool[type] = Yao::Client.gen_client(force_admin_url || urls[:admin_url], token: token) if force_admin_url || urls[:admin_url]
37
42
  end
38
43
  end
39
44
  end
@@ -1,3 +1,3 @@
1
1
  module Yao
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
@@ -14,6 +14,9 @@ class TestAuth < Test::Unit::TestCase
14
14
  end
15
15
 
16
16
  def teardown
17
+ Yao.configure do
18
+ endpoints nil
19
+ end
17
20
  end
18
21
 
19
22
  def test_auth_successful
@@ -57,4 +60,17 @@ class TestAuth < Test::Unit::TestCase
57
60
  end
58
61
  assert_received(auth) {|a| a.new }
59
62
  end
63
+
64
+ def test_override_endpoint
65
+ Yao.configure do
66
+ auth_url "http://endpoint.example.com:12345"
67
+ tenant_name "example"
68
+ username "udzura"
69
+ password "XXXXXXXX"
70
+ endpoints ({ identity: { public: "http://override-endpoint.example.com:35357/v3.0" } })
71
+ end
72
+ assert(Yao.default_client.pool["identity"].url_prefix.to_s, "http://override-endpoint.example.com:35357/v3.0")
73
+ end
74
+
75
+
60
76
  end
@@ -56,7 +56,7 @@ class TestConfig < Test::Unit::TestCase
56
56
  mock(auth).try_new.times(count)
57
57
  Yao::Config::HOOK_RENEW_CLIENT_KEYS.each do |key|
58
58
  Yao.configure do
59
- set key, "dummy"
59
+ set key, "http://dummy"
60
60
  end
61
61
  end
62
62
 
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_dependency "json"
22
- spec.add_dependency "faraday"
22
+ spec.add_dependency "faraday", "~> 0.12.0"
23
23
  spec.add_dependency "faraday_middleware"
24
24
 
25
25
  spec.add_development_dependency "bundler", ">= 1.10"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yao
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Uchio, KONDO
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-17 00:00:00.000000000 Z
11
+ date: 2017-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: faraday
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 0.12.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 0.12.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: faraday_middleware
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -239,7 +239,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
239
239
  version: '0'
240
240
  requirements: []
241
241
  rubyforge_project:
242
- rubygems_version: 2.4.5.1
242
+ rubygems_version: 2.5.1
243
243
  signing_key:
244
244
  specification_version: 4
245
245
  summary: Yet Another OpenStack API Wrapper that rocks!!