prefab-cloud-ruby 0.0.3 → 0.0.4

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: fc3ddaac5c929cb16c64d4c4b2fa3291466e2e95
4
- data.tar.gz: d0b778a27f96adfd56590005eb79b0c3b8b8d7b2
3
+ metadata.gz: 2bf37e03fd6b07df7d23101bc68c04c9350b78b3
4
+ data.tar.gz: 2a25f82d4a94dd2d8f542719614e81a0d95762f1
5
5
  SHA512:
6
- metadata.gz: 858f577ec72278f8f6a8580abc4f3c22198a41efcad6a22a954ac6d11ee3388b1c79d0a4e0d9f59b2be40929e793f9a7ac90d9a2d0e85b7fa1233f78d0bb395b
7
- data.tar.gz: 7e06a38d3d1ec0f0e12e84fac9c6b8d40d1ea96e4c81418aeb6e6eacd174f4794f345daff3cd22eeff728335ef9219a3098e64b621547f5b058c9fcfed603cd0
6
+ metadata.gz: 670eac18f035d12b69026292c02cee9bd51db1091a5b2c385d29e61df5ea752398871e5e5391693d5ffb2cfe49808883ff89a64348e9fb3d94d105003c6ba154
7
+ data.tar.gz: 0b062a33413bf3c8c5898643e0125a06bb03ae7742919eff6118fed229ed758931cc3552cc60208b4b926860cf8e43c6f324cab53f4e39f160f3221cd7ec7642
data/Gemfile CHANGED
@@ -1,10 +1,12 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem "grpc"
4
- gem "concurrent-ruby"
3
+ gem 'grpc', '~> 1.7.3'
4
+ gem 'concurrent-ruby', '~> 1.0', '>= 1.0.5'
5
+ gem 'openssl', '~> 2.1'
6
+ gem 'jruby-openssl', '~> 0.9.4', :platforms => :jruby
5
7
 
6
8
  group :development do
7
- gem "grpc-tools"
9
+ gem 'grpc-tools', '~> 1.8'
8
10
  gem "shoulda", ">= 0"
9
11
  gem "rdoc", "~> 3.12"
10
12
  gem "bundler", "~> 1.0"
data/Gemfile.lock CHANGED
@@ -33,11 +33,11 @@ GEM
33
33
  multi_json (~> 1.11)
34
34
  os (~> 0.9)
35
35
  signet (~> 0.7)
36
- grpc (1.7.2)
36
+ grpc (1.7.3)
37
37
  google-protobuf (~> 3.1)
38
38
  googleapis-common-protos-types (~> 1.0.0)
39
39
  googleauth (>= 0.5.1, < 0.7)
40
- grpc-tools (1.7.2)
40
+ grpc-tools (1.8.0)
41
41
  hashie (3.5.6)
42
42
  highline (1.7.10)
43
43
  i18n (0.9.1)
@@ -72,6 +72,7 @@ GEM
72
72
  multi_json (~> 1.3)
73
73
  multi_xml (~> 0.5)
74
74
  rack (>= 1.2, < 3)
75
+ openssl (2.1.0)
75
76
  os (0.9.6)
76
77
  public_suffix (3.0.1)
77
78
  rack (2.0.3)
@@ -104,10 +105,12 @@ PLATFORMS
104
105
 
105
106
  DEPENDENCIES
106
107
  bundler (~> 1.0)
107
- concurrent-ruby
108
- grpc
109
- grpc-tools
108
+ concurrent-ruby (~> 1.0, >= 1.0.5)
109
+ grpc (~> 1.7.3)
110
+ grpc-tools (~> 1.8)
111
+ jruby-openssl (~> 0.9.4)
110
112
  juwelier (~> 2.1.0)
113
+ openssl (~> 2.1)
111
114
  rdoc (~> 3.12)
112
115
  shoulda
113
116
  simplecov
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.3
1
+ 0.0.4
data/lib/prefab/client.rb CHANGED
@@ -1,10 +1,8 @@
1
1
  module Prefab
2
2
  class Client
3
-
4
3
  attr_reader :account_id, :shared_cache, :stats, :namespace, :logger
5
4
 
6
5
  def initialize(api_key:,
7
- ssl_certs: "/usr/local/etc/openssl/cert.pem",
8
6
  logger: nil,
9
7
  stats: nil, # receives increment("prefab.limitcheck", {:tags=>["policy_group:page_view", "pass:true"]})
10
8
  shared_cache: nil, # Something that quacks like Rails.cache ideally memcached
@@ -20,29 +18,44 @@ module Prefab
20
18
  @namespace = namespace
21
19
 
22
20
  @interceptor = AuthInterceptor.new(api_key)
23
- @creds = GRPC::Core::ChannelCredentials.new(File.open(ssl_certs).read)
24
21
 
22
+ @creds = GRPC::Core::ChannelCredentials.new(ssl_certs)
25
23
  @channel = GRPC::Core::Channel.new('api.prefab.cloud:8443', nil, @creds)
26
24
  if local
27
25
  @channel = GRPC::Core::Channel.new('localhost:8443', nil, :this_channel_is_insecure)
28
26
  end
29
27
  end
30
28
 
31
- def config_client
29
+ def config_client(timeout: 10.0)
32
30
  @config_client ||= Prefab::ConfigClient.new(Prefab::ConfigService::Stub.new(nil,
33
31
  @creds,
34
32
  channel_override: @channel,
33
+ timeout: timeout,
35
34
  interceptors: [@interceptor]),
36
35
  self)
37
36
  end
38
37
 
39
- def ratelimit_client
38
+ def ratelimit_client(timeout: 5.0)
40
39
  @ratelimit_client ||= Prefab::RateLimitClient.new(Prefab::RateLimitService::Stub.new(nil,
41
40
  @creds,
42
41
  channel_override: @channel,
42
+ timeout: timeout,
43
43
  interceptors: [@interceptor]),
44
44
  self)
45
45
  end
46
+
47
+ private
48
+
49
+ def ssl_certs
50
+ ssl_certs = ""
51
+ Dir.foreach(OpenSSL::X509::DEFAULT_CERT_DIR) do |cert|
52
+ next if cert == '.' or cert == '..'
53
+ ssl_certs << File.open(cert).read
54
+ end
55
+ ssl_certs << File.open(OpenSSL::X509::DEFAULT_CERT_FILE).read
56
+ ssl_certs
57
+ end
58
+
46
59
  end
47
60
  end
48
61
 
@@ -1,5 +1,6 @@
1
1
  require "concurrent/atomics"
2
2
  require 'concurrent'
3
+ require 'openssl'
3
4
  require 'prefab_pb'
4
5
  require 'prefab_services_pb'
5
6
  require 'ratelimit_pb'
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: prefab-cloud-ruby 0.0.3 ruby lib
5
+ # stub: prefab-cloud-ruby 0.0.4 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "prefab-cloud-ruby".freeze
9
- s.version = "0.0.3"
9
+ s.version = "0.0.4"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Jeff Dwyer".freeze]
14
- s.date = "2017-12-18"
14
+ s.date = "2017-12-19"
15
15
  s.description = "RateLimits & Config as a service".freeze
16
16
  s.email = "jdwyer@prefab.cloud".freeze
17
17
  s.extra_rdoc_files = [
@@ -48,18 +48,22 @@ Gem::Specification.new do |s|
48
48
  s.specification_version = 4
49
49
 
50
50
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
51
- s.add_runtime_dependency(%q<grpc>.freeze, [">= 0"])
52
- s.add_runtime_dependency(%q<concurrent-ruby>.freeze, [">= 0"])
53
- s.add_development_dependency(%q<grpc-tools>.freeze, [">= 0"])
51
+ s.add_runtime_dependency(%q<grpc>.freeze, ["~> 1.7.3"])
52
+ s.add_runtime_dependency(%q<concurrent-ruby>.freeze, [">= 1.0.5", "~> 1.0"])
53
+ s.add_runtime_dependency(%q<openssl>.freeze, ["~> 2.1"])
54
+ s.add_runtime_dependency(%q<jruby-openssl>.freeze, ["~> 0.9.4"])
55
+ s.add_development_dependency(%q<grpc-tools>.freeze, ["~> 1.8"])
54
56
  s.add_development_dependency(%q<shoulda>.freeze, [">= 0"])
55
57
  s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
56
58
  s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
57
59
  s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
58
60
  s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
59
61
  else
60
- s.add_dependency(%q<grpc>.freeze, [">= 0"])
61
- s.add_dependency(%q<concurrent-ruby>.freeze, [">= 0"])
62
- s.add_dependency(%q<grpc-tools>.freeze, [">= 0"])
62
+ s.add_dependency(%q<grpc>.freeze, ["~> 1.7.3"])
63
+ s.add_dependency(%q<concurrent-ruby>.freeze, [">= 1.0.5", "~> 1.0"])
64
+ s.add_dependency(%q<openssl>.freeze, ["~> 2.1"])
65
+ s.add_dependency(%q<jruby-openssl>.freeze, ["~> 0.9.4"])
66
+ s.add_dependency(%q<grpc-tools>.freeze, ["~> 1.8"])
63
67
  s.add_dependency(%q<shoulda>.freeze, [">= 0"])
64
68
  s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
65
69
  s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
@@ -67,9 +71,11 @@ Gem::Specification.new do |s|
67
71
  s.add_dependency(%q<simplecov>.freeze, [">= 0"])
68
72
  end
69
73
  else
70
- s.add_dependency(%q<grpc>.freeze, [">= 0"])
71
- s.add_dependency(%q<concurrent-ruby>.freeze, [">= 0"])
72
- s.add_dependency(%q<grpc-tools>.freeze, [">= 0"])
74
+ s.add_dependency(%q<grpc>.freeze, ["~> 1.7.3"])
75
+ s.add_dependency(%q<concurrent-ruby>.freeze, [">= 1.0.5", "~> 1.0"])
76
+ s.add_dependency(%q<openssl>.freeze, ["~> 2.1"])
77
+ s.add_dependency(%q<jruby-openssl>.freeze, ["~> 0.9.4"])
78
+ s.add_dependency(%q<grpc-tools>.freeze, ["~> 1.8"])
73
79
  s.add_dependency(%q<shoulda>.freeze, [">= 0"])
74
80
  s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
75
81
  s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
metadata CHANGED
@@ -1,57 +1,91 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prefab-cloud-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Dwyer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-18 00:00:00.000000000 Z
11
+ date: 2017-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grpc
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 1.7.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 1.7.3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: concurrent-ruby
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 1.0.5
34
+ - - "~>"
35
+ - !ruby/object:Gem::Version
36
+ version: '1.0'
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
41
  - - ">="
39
42
  - !ruby/object:Gem::Version
40
- version: '0'
43
+ version: 1.0.5
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: openssl
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '2.1'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '2.1'
61
+ - !ruby/object:Gem::Dependency
62
+ name: jruby-openssl
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: 0.9.4
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: 0.9.4
41
75
  - !ruby/object:Gem::Dependency
42
76
  name: grpc-tools
43
77
  requirement: !ruby/object:Gem::Requirement
44
78
  requirements:
45
- - - ">="
79
+ - - "~>"
46
80
  - !ruby/object:Gem::Version
47
- version: '0'
81
+ version: '1.8'
48
82
  type: :development
49
83
  prerelease: false
50
84
  version_requirements: !ruby/object:Gem::Requirement
51
85
  requirements:
52
- - - ">="
86
+ - - "~>"
53
87
  - !ruby/object:Gem::Version
54
- version: '0'
88
+ version: '1.8'
55
89
  - !ruby/object:Gem::Dependency
56
90
  name: shoulda
57
91
  requirement: !ruby/object:Gem::Requirement