prefab-cloud-ruby 0.0.28 → 0.1.0.alpha.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: c934f3fd7a0c76ce64b527a218242a790511d57c
4
- data.tar.gz: 68888c9da30d4828192a060432e7de77993d7146
3
+ metadata.gz: a6110ec98aca7e02107488ae5e1e8d3ca54d20a4
4
+ data.tar.gz: e2eec0324a91dc71ceb13e16cc757d33afa59d47
5
5
  SHA512:
6
- metadata.gz: 307e09f82acca69b21a20a701d346c7bf8227f28dc5c02368ab64ed6d4d7bb22d2271278403cb104d773b478e150d68711f482987d5d2b92f056ae1f6670e64c
7
- data.tar.gz: 53c07b191c35e24f1bce6583c29b72905ef3ba23ed46321c3116b29761a47ad4a719eb7cf0d2902da7900c70c3ce323cef13cbf888d78d90e666ffbbaab41431
6
+ metadata.gz: b9c1a27e9505dd06b7d24a8ed82f72b99cd5867707f951ef9f45104c745d8b4560f3b3eae29fcd239a68c3ffec7901107dfb2b8730361c9fba28db72b03d6d8a
7
+ data.tar.gz: 49365d95c9fb9d3192d62d303e59c93d7d64e400da530819d91a9fd889283e92da64678709942237cba78c493d279c606204dfd2e044dca67aaf5b1d4c40f1ee
data/Gemfile CHANGED
@@ -1,11 +1,11 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem 'grpc', '~> 1.15.0'
3
+ gem 'grpc', '~> 1.17.1'
4
4
  gem 'concurrent-ruby', '~> 1.0', '>= 1.0.5'
5
5
  gem 'aws-sdk-s3', '~> 1'
6
6
 
7
7
  group :development do
8
- gem 'grpc-tools', '~> 1.11.0'
8
+ gem 'grpc-tools', '~> 1.17.1'
9
9
  gem "shoulda", ">= 0"
10
10
  gem "rdoc", "~> 3.12"
11
11
  gem "bundler", "~> 1.0"
data/Gemfile.lock CHANGED
@@ -38,10 +38,10 @@ GEM
38
38
  google-protobuf (3.6.1)
39
39
  googleapis-common-protos-types (1.0.2)
40
40
  google-protobuf (~> 3.0)
41
- grpc (1.15.0)
41
+ grpc (1.17.1)
42
42
  google-protobuf (~> 3.1)
43
43
  googleapis-common-protos-types (~> 1.0.0)
44
- grpc-tools (1.11.0)
44
+ grpc-tools (1.17.1)
45
45
  hashie (3.5.7)
46
46
  highline (1.7.10)
47
47
  i18n (1.0.1)
@@ -105,8 +105,8 @@ DEPENDENCIES
105
105
  aws-sdk-s3 (~> 1)
106
106
  bundler (~> 1.0)
107
107
  concurrent-ruby (~> 1.0, >= 1.0.5)
108
- grpc (~> 1.15.0)
109
- grpc-tools (~> 1.11.0)
108
+ grpc (~> 1.17.1)
109
+ grpc-tools (~> 1.17.1)
110
110
  juwelier (~> 2.4.9)
111
111
  rdoc (~> 3.12)
112
112
  shoulda
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.28
1
+ 0.1.0.alpha.1
data/lib/prefab/client.rb CHANGED
@@ -36,10 +36,9 @@ module Prefab
36
36
  end
37
37
 
38
38
  def channel
39
- @_channel ||= @local ?
40
- GRPC::Core::Channel.new('localhost:8443', nil, :this_channel_is_insecure)
41
- :
42
- GRPC::Core::Channel.new('api.prefab.cloud:8443', nil, creds)
39
+ credentials = ENV["PREFAB_CLOUD_HTTP"] == "true" ? :this_channel_is_insecure : creds
40
+ url = ENV["PREFAB_API_URL"] || 'api.prefab.cloud:443'
41
+ @_channel ||= GRPC::Core::Channel.new(url, nil, credentials)
43
42
  end
44
43
 
45
44
  def config_client(timeout: 5.0)
@@ -39,20 +39,22 @@ module Prefab
39
39
  handle_error(e, on_error, groups)
40
40
  end
41
41
 
42
- def upsert(group, policy_name, limit, burst: nil, safety_level: nil)
42
+ def upsert(key, policy_name, limit, burst: nil, safety_level: nil)
43
43
  burst = limit if burst.nil?
44
- limit_defintion = Prefab::LimitDefinition.new(
44
+ limit_definition = Prefab::LimitDefinition.new(
45
45
  account_id: @base_client.account_id,
46
- group: group,
47
46
  policy_name: Object.const_get("Prefab::LimitResponse::LimitPolicyNames::#{policy_name}"),
48
47
  limit: limit,
49
48
  burst: burst
50
49
  )
51
50
  unless safety_level.nil?
52
- limit_defintion.safety_level = safety_level
51
+ limit_definition.safety_level = safety_level
53
52
  end
53
+ config_value = Prefab::ConfigValue.new(limit_definition: limit_definition)
54
+ config_delta = Prefab::ConfigClient.value_to_delta(key, config_value)
55
+ upsert_req = Prefab::UpsertRequest.new(config_delta: config_delta)
54
56
 
55
- @base_client.request Prefab::RateLimitService, :upsert_limit_definition, params: limit_defintion
57
+ @base_client.request Prefab::ConfigService, :upsert, req_options: { timeout: @timeout }, params: upsert_req
56
58
  end
57
59
 
58
60
  private
data/lib/prefab_pb.rb CHANGED
@@ -12,6 +12,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
12
12
  optional :id, :int64, 2
13
13
  optional :key, :string, 3
14
14
  optional :value, :message, 4, "prefab.ConfigValue"
15
+ optional :created_by, :string, 5
15
16
  end
16
17
  add_message "prefab.ConfigValue" do
17
18
  oneof :type do
@@ -21,6 +22,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
21
22
  optional :double, :double, 4
22
23
  optional :bool, :bool, 5
23
24
  optional :feature_flag, :message, 6, "prefab.FeatureFlag"
25
+ optional :limit_definition, :message, 7, "prefab.LimitDefinition"
24
26
  end
25
27
  end
26
28
  add_message "prefab.ConfigDeltas" do
@@ -29,7 +31,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
29
31
  add_message "prefab.UpsertRequest" do
30
32
  optional :account_id, :int64, 1
31
33
  optional :config_delta, :message, 2, "prefab.ConfigDelta"
32
- optional :previous_key, :string, 3
34
+ optional :changed_by, :string, 4
33
35
  end
34
36
  add_message "prefab.LimitResponse" do
35
37
  optional :passed, :bool, 1
@@ -59,6 +61,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
59
61
  repeated :groups, :string, 3
60
62
  optional :limit_combiner, :enum, 4, "prefab.LimitRequest.LimitCombiner"
61
63
  optional :allow_partial_response, :bool, 5
64
+ optional :safety_level, :enum, 6, "prefab.LimitDefinition.SafetyLevel"
62
65
  end
63
66
  add_enum "prefab.LimitRequest.LimitCombiner" do
64
67
  value :NOT_SET, 0
@@ -70,7 +73,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
70
73
  repeated :whitelisted, :string, 4
71
74
  end
72
75
  add_message "prefab.LimitDefinition" do
73
- optional :group, :string, 1
74
76
  optional :policy_name, :enum, 2, "prefab.LimitResponse.LimitPolicyNames"
75
77
  optional :limit, :int32, 3
76
78
  optional :burst, :int32, 4
@@ -15,7 +15,6 @@ module Prefab
15
15
  self.service_name = 'prefab.RateLimitService'
16
16
 
17
17
  rpc :LimitCheck, LimitRequest, LimitResponse
18
- rpc :UpsertLimitDefinition, LimitDefinition, BasicResponse
19
18
  end
20
19
 
21
20
  Stub = Service.rpc_stub_class
@@ -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.28 ruby lib
5
+ # stub: prefab-cloud-ruby 0.1.0.alpha.1 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "prefab-cloud-ruby".freeze
9
- s.version = "0.0.28"
9
+ s.version = "0.1.0.alpha.1"
10
10
 
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
11
+ s.required_rubygems_version = Gem::Requirement.new("> 1.3.1".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 = "2018-09-26"
14
+ s.date = "2019-01-18"
15
15
  s.description = "RateLimits & Config as a service".freeze
16
16
  s.email = "jdwyer@prefab.cloud".freeze
17
17
  s.extra_rdoc_files = [
@@ -58,20 +58,20 @@ Gem::Specification.new do |s|
58
58
  s.specification_version = 4
59
59
 
60
60
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
61
- s.add_runtime_dependency(%q<grpc>.freeze, ["~> 1.15.0"])
61
+ s.add_runtime_dependency(%q<grpc>.freeze, ["~> 1.17.1"])
62
62
  s.add_runtime_dependency(%q<concurrent-ruby>.freeze, [">= 1.0.5", "~> 1.0"])
63
63
  s.add_runtime_dependency(%q<aws-sdk-s3>.freeze, ["~> 1"])
64
- s.add_development_dependency(%q<grpc-tools>.freeze, ["~> 1.11.0"])
64
+ s.add_development_dependency(%q<grpc-tools>.freeze, ["~> 1.17.1"])
65
65
  s.add_development_dependency(%q<shoulda>.freeze, [">= 0"])
66
66
  s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
67
67
  s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
68
68
  s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
69
69
  s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
70
70
  else
71
- s.add_dependency(%q<grpc>.freeze, ["~> 1.15.0"])
71
+ s.add_dependency(%q<grpc>.freeze, ["~> 1.17.1"])
72
72
  s.add_dependency(%q<concurrent-ruby>.freeze, [">= 1.0.5", "~> 1.0"])
73
73
  s.add_dependency(%q<aws-sdk-s3>.freeze, ["~> 1"])
74
- s.add_dependency(%q<grpc-tools>.freeze, ["~> 1.11.0"])
74
+ s.add_dependency(%q<grpc-tools>.freeze, ["~> 1.17.1"])
75
75
  s.add_dependency(%q<shoulda>.freeze, [">= 0"])
76
76
  s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
77
77
  s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
@@ -79,10 +79,10 @@ Gem::Specification.new do |s|
79
79
  s.add_dependency(%q<simplecov>.freeze, [">= 0"])
80
80
  end
81
81
  else
82
- s.add_dependency(%q<grpc>.freeze, ["~> 1.15.0"])
82
+ s.add_dependency(%q<grpc>.freeze, ["~> 1.17.1"])
83
83
  s.add_dependency(%q<concurrent-ruby>.freeze, [">= 1.0.5", "~> 1.0"])
84
84
  s.add_dependency(%q<aws-sdk-s3>.freeze, ["~> 1"])
85
- s.add_dependency(%q<grpc-tools>.freeze, ["~> 1.11.0"])
85
+ s.add_dependency(%q<grpc-tools>.freeze, ["~> 1.17.1"])
86
86
  s.add_dependency(%q<shoulda>.freeze, [">= 0"])
87
87
  s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
88
88
  s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prefab-cloud-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.28
4
+ version: 0.1.0.alpha.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Dwyer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-26 00:00:00.000000000 Z
11
+ date: 2019-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grpc
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.15.0
19
+ version: 1.17.1
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: 1.15.0
26
+ version: 1.17.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: concurrent-ruby
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -64,14 +64,14 @@ dependencies:
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: 1.11.0
67
+ version: 1.17.1
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: 1.11.0
74
+ version: 1.17.1
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: shoulda
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -194,9 +194,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
194
194
  version: '0'
195
195
  required_rubygems_version: !ruby/object:Gem::Requirement
196
196
  requirements:
197
- - - ">="
197
+ - - ">"
198
198
  - !ruby/object:Gem::Version
199
- version: '0'
199
+ version: 1.3.1
200
200
  requirements: []
201
201
  rubyforge_project:
202
202
  rubygems_version: 2.6.14