rox-rollout 4.7.0 → 4.7.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
  SHA256:
3
- metadata.gz: 6250ca231936b4d88356da80de6b2aadd4f88dbb799322a48024bfe6b8313984
4
- data.tar.gz: 2b29111b2c899ab7e320610db0b43f8fddb36029e58e3740eb47e98753d355d1
3
+ metadata.gz: f469e98c7755e93dd933348040c9427b948dfc74b291909edf2f95f29782dc04
4
+ data.tar.gz: 33fb5b1fbba476ed8c8c3782bdd37df0ca8c9e162b86c68b50e158cace43681e
5
5
  SHA512:
6
- metadata.gz: 45e156d7b9452b07f75305d4cf0d729764ce086b677aa33ced194b0ce080efd7229ae9889059b6ddfa43d53d1eefe0075abaf3c0ac29f2ec748dbc75457c8111
7
- data.tar.gz: 94e8e1841ff73cb085e53d38315620cfff72383099ec5191079a157e8ac44e93e1e4b62f736fc5dbf15953fc007d5c8ac753f68035966c68ae718ba2ddda11f3
6
+ metadata.gz: 1e6586963cd6fad7a99c83a547ace73534779d4fa40a325a9dfd2027b11a1f5b807665f9058130282a79a3a0aec36bcbc165f3d41f9e33301405d74083a9aac5
7
+ data.tar.gz: 7383631322c0186f6567196975d28688afb4b0b8b4c911e9f79a25ef4b2ee82bcc7bc007ccf9c612e3d441158bcf3c62189506bda667e970780113790a738790
data/CODEOWNERS ADDED
@@ -0,0 +1 @@
1
+ * @joshpuetz
data/README_DEVELOP.md CHANGED
@@ -16,6 +16,10 @@ rake e2e
16
16
 
17
17
  ### Steps
18
18
 
19
- 1. Increment version in ```lib/rox/version.rb```
19
+ 1. Increment version in ```lib/rox/version.rb```, open a PR and wait for CI to clear
20
+ 2. Merge to master, wait for CI to clear
20
21
  2. Generate the gem package: ```gem build rox.gemspec```
21
- 2. Upload to RubyGem: ```gem push rox-rollout-VERSION.gem```
22
+ 3. Install gem locally, and test with a sample project
23
+ 4. Upload to RubyGems: ```gem push rox-rollout-VERSION.gem```
24
+ 5. Update documentation at https://support.rollout.io/docs/ruby-changelog
25
+ 6. Celebrate! 🎉
@@ -30,8 +30,8 @@ module Rox
30
30
  serialized_feature_flags = StateSender.seralize_flag_repository(@flag_repository)
31
31
  serialized_custom_properties = StateSender.serialize_custom_properties_repository(@custom_property_repository)
32
32
 
33
- state_payload = StateSender.current_state_payload(serialized_feature_flags, serialized_custom_properties)
34
- md5_signature = StateSender.generate_md5_signature(serialized_feature_flags, serialized_custom_properties, @device_properties, @sdk_settings.dev_mode_secret)
33
+ state_payload = StateSender.state_payload(serialized_feature_flags, serialized_custom_properties, @device_properties, @sdk_settings.dev_mode_secret)
34
+ md5_signature = StateSender.md5_signature(serialized_feature_flags, serialized_custom_properties, @device_properties, @sdk_settings.dev_mode_secret)
35
35
 
36
36
  response = get_state_from_CDN(rollout_key, md5_signature)
37
37
  if !response.success?
@@ -54,25 +54,24 @@ module Rox
54
54
  end
55
55
 
56
56
  def send_state_to_API(rollout_key, md5_signature, state_payload)
57
- @request.send_post("#{Rox::Core::Environment.state_api_path}/#{rollout_key}/#{md5_signature}", state_payload)
57
+ @request.send_post("#{Rox::Core::Environment.state_api_path}/#{rollout_key}/#{md5_signature}", state_payload)
58
58
  end
59
59
 
60
- def self.generate_md5_signature(serialized_feature_flags, serialized_custom_properties, device_properties, dev_mode_secret)
61
- values = []
62
- values << device_properties.all_properties[PropertyType::APP_KEY.name]
63
- values << device_properties.all_properties[PropertyType::PLATFORM.name]
64
- values << serialized_feature_flags
65
- values << serialized_custom_properties
66
- values << dev_mode_secret
60
+ def self.md5_signature(serialized_feature_flags, serialized_custom_properties, device_properties, dev_mode_secret)
61
+ values = self.state_payload(serialized_feature_flags, serialized_custom_properties, device_properties, dev_mode_secret).values
67
62
 
68
63
  hash = Digest::MD5.hexdigest(values.join('|'))
69
64
  hash.upcase
70
65
  end
71
66
 
72
- def self.current_state_payload(seralized_flag_repository, serialized_custom_property_repository)
73
- values = []
74
- values << seralized_flag_repository
75
- values << serialized_custom_property_repository
67
+ def self.state_payload(seralized_flag_repository, serialized_custom_property_repository, device_properties, dev_mode_secret)
68
+ values = {}
69
+ values[PropertyType::APP_KEY.name] = device_properties.all_properties[PropertyType::APP_KEY.name]
70
+ values[PropertyType::PLATFORM.name] = device_properties.all_properties[PropertyType::PLATFORM.name]
71
+ values.merge!(device_properties.all_properties)
72
+ values.merge!({feature_flags: seralized_flag_repository})
73
+ values.merge!({custom_properties: serialized_custom_property_repository})
74
+ values["devModeSecret"] = dev_mode_secret
76
75
  values
77
76
  end
78
77
 
@@ -85,7 +84,7 @@ module Rox
85
84
  options: f.options
86
85
  }
87
86
  end
88
- JSON.dump(flags)
87
+ flags
89
88
  end
90
89
 
91
90
  def self.serialize_custom_properties_repository(custom_property_repository)
@@ -97,7 +96,7 @@ module Rox
97
96
  externalType: p.type.external_type
98
97
  }
99
98
  end
100
- JSON.dump(properties)
99
+ properties
101
100
  end
102
101
  end
103
102
  end
data/lib/rox/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Rox
2
- VERSION = "4.7.0"
2
+ VERSION = "4.7.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rox-rollout
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.7.0
4
+ version: 4.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rollout.io
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-15 00:00:00.000000000 Z
11
+ date: 2019-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: em-eventsource
@@ -103,6 +103,7 @@ extra_rdoc_files: []
103
103
  files:
104
104
  - ".circleci/config.yml"
105
105
  - ".gitignore"
106
+ - CODEOWNERS
106
107
  - Gemfile
107
108
  - LICENSE
108
109
  - README_DEVELOP.md