prefab-cloud-ruby 0.0.3 → 0.0.4

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: 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