prefab-cloud-ruby 0.0.28 → 0.1.0.alpha.1

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