Skip to content

Commit f539dc7

Browse files
author
Inbal Tako
committed
Remove uneeded namespace and prefix and restructure project
1 parent 2d4cb35 commit f539dc7

100 files changed

Lines changed: 679 additions & 2424 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: .
33
specs:
4-
securenative (0.1.28)
4+
securenative (0.1.29)
55

66
GEM
77
remote: https://rubygems.org/

README.md

Lines changed: 23 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -50,36 +50,36 @@ To get your *API KEY*, login to your SecureNative account and go to project sett
5050
SecureNative can automatically load your config from *securenative.yml* file or from the file that is specified in your *SECURENATIVE_CONFIG_FILE* env variable:
5151

5252
```ruby
53-
require 'securenative/securenative'
53+
require 'securenative'
5454

5555

56-
secureative = SecureNative::SecureNative.init
56+
secureative = SecureNativeSDK.init
5757
```
5858
### Option 2: Initialize via API Key
5959

6060
```ruby
61-
require 'securenative/sdk'
61+
require 'securenative'
6262

6363

64-
securenative = SecureNative::SecureNative.init_with_api_key('YOUR_API_KEY')
64+
securenative = SecureNativeSDK.init_with_api_key('YOUR_API_KEY')
6565
```
6666

6767
### Option 3: Initialize via ConfigurationBuilder
6868
```ruby
69-
require 'securenative/sdk'
69+
require 'securenative'
7070

7171

72-
options = SecureNative::ConfigurationBuilder.new(api_key: 'API_KEY', max_events: 10, log_level: 'ERROR')
73-
SecureNative::SecureNative.init_with_options(options)
72+
options = ConfigurationBuilder.new(api_key: 'API_KEY', max_events: 10, log_level: 'ERROR')
73+
SecureNativeSDK.init_with_options(options)
7474
```
7575

7676
## Getting SecureNative instance
7777
Once initialized, sdk will create a singleton instance which you can get:
7878
```ruby
79-
require 'securenative/sdk'
79+
require 'securenative'
8080

8181

82-
secureNative = SecureNative::SecureNative.instance
82+
secureNative = SecureNativeSDK.instance
8383
```
8484

8585
## Tracking events
@@ -88,15 +88,12 @@ Once the SDK has been initialized, tracking requests sent through the SDK
8888
instance. Make sure you build event with the EventBuilder:
8989

9090
```ruby
91-
require 'securenative/sdk'
92-
require 'securenative/models/event_options'
93-
require 'securenative/enums/event_types'
94-
require 'securenative/models/user_traits'
91+
require 'securenative'
9592

9693

9794
def track
98-
securenative = SecureNative::SecureNative.instance
99-
context = SecureNative::SecureNativeContext.new(client_token: 'SECURED_CLIENT_TOKEN', ip: '127.0.0.1',
95+
securenative = SecureNativeSDK.instance
96+
context = SecureNative::Context.new(client_token: 'SECURED_CLIENT_TOKEN', ip: '127.0.0.1',
10097
headers: { 'user-agent' => 'Mozilla: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.3 Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/43.4' })
10198

10299
event_options = SecureNative::EventOptions.new(event: SecureNative::EventTypes::LOG_IN, user_id: '1234', context: context,
@@ -112,15 +109,12 @@ end
112109
You can also create request securenative.context from requests:
113110

114111
```ruby
115-
require 'securenative/sdk'
116-
require 'securenative/models/event_options'
117-
require 'securenative/enums/event_types'
118-
require 'securenative/models/user_traits'
112+
require 'securenative'
119113

120114

121115
def track(request)
122-
securenative = SecureNative::SecureNative.instance
123-
context = SecureNative::SecureNativeContext.from_http_request(request)
116+
securenative = SecureNativeSDK.instance
117+
context = SecureNative::Context.from_http_request(request)
124118

125119
event_options = SecureNative::EventOptions.new(event: SecureNative::EventTypes::LOG_IN, user_id: '1234', context: context,
126120
user_traits: SecureNative::UserTraits.new(name: 'Your Name', email: 'name@gmail.com', phone: '+1234567890'),
@@ -137,15 +131,12 @@ end
137131
**Example**
138132

139133
```ruby
140-
require 'securenative/sdk'
141-
require 'securenative/models/event_options'
142-
require 'securenative/enums/event_types'
143-
require 'securenative/models/user_traits'
134+
require 'securenative'
144135

145136

146137
def verify(request)
147-
securenative = SecureNative::SecureNative.instance
148-
context = SecureNative::SecureNativeContext.from_http_request(request)
138+
securenative = SecureNativeSDK.instance
139+
context = SecureNative::Context.from_http_request(request)
149140

150141
event_options = SecureNative::EventOptions.new(event: SecureNative::EventTypes::LOG_IN, user_id: '1234', context: context,
151142
user_traits: SecureNative::UserTraits.new(name: 'Your Name', email: 'name@gmail.com', phone: '+1234567890'),
@@ -163,11 +154,11 @@ end
163154
Apply our filter to verify the request is from us, for example:
164155

165156
```ruby
166-
require 'securenative/sdk'
157+
require 'securenative'
167158

168159

169160
def webhook_endpoint(request)
170-
securenative = SecureNative::SecureNative.instance
161+
securenative = SecureNativeSDK.instance
171162

172163
# Checks if request is verified
173164
is_verified = securenative.verify_request_payload(request)
@@ -190,9 +181,9 @@ Initialize sdk as showed above.
190181
### Options 2: Using ConfigurationBuilder
191182
192183
```ruby
193-
require 'securenative/sdk'
184+
require 'securenative'
194185

195-
options = SecureNative::SecureNativeOptions.new(api_key: 'API_KEY', max_events: 10, log_level: 'ERROR', proxy_headers: ['CF-Connecting-IP'])
186+
options = SecureNative::Options.new(api_key: 'API_KEY', max_events: 10, log_level: 'ERROR', proxy_headers: ['CF-Connecting-IP'])
196187

197-
SecureNative::SecureNative.init_with_options(options)
188+
SecureNativeSDK.init_with_options(options)
198189
```

lib/securenative.rb

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# frozen_string_literal: true
2+
3+
require 'securenative/enums/failover_strategy'
4+
require 'securenative/enums/risk_level'
5+
require 'securenative/enums/api_route'
6+
require 'securenative/enums/event_types'
7+
require 'securenative/enums/risk_level'
8+
require 'securenative/config/configuration_builder'
9+
require 'securenative/config/configuration_manager'
10+
require 'securenative/config/options'
11+
require 'securenative/utils/request_utils'
12+
require 'securenative/utils/version_utils'
13+
require 'securenative/utils/encryption_utils'
14+
require 'securenative/utils/signature_utils'
15+
require 'securenative/utils/date_utils'
16+
require 'securenative/utils/utils'
17+
require 'securenative/utils/log'
18+
require 'securenative/utils/ip_utils'
19+
require 'securenative/context/rails_context'
20+
require 'securenative/context/hanami_context'
21+
require 'securenative/context/sinatra_context'
22+
require 'securenative/context/context'
23+
require 'securenative/models/event_options'
24+
require 'securenative/models/user_traits'
25+
require 'securenative/models/request_context'
26+
require 'securenative/models/client_token'
27+
require 'securenative/models/sdk_event'
28+
require 'securenative/models/verify_result'
29+
require 'securenative/errors/invalid_options_error'
30+
require 'securenative/errors/sdk_Illegal_state_error'
31+
require 'securenative/errors/config_error'
32+
require 'securenative/errors/sdk_error'
33+
require 'securenative/errors/http_error'
34+
require 'securenative/http/http_client'
35+
require 'securenative/event_manager'
36+
require 'securenative/api_manager'
37+
require 'securenative/sdk'
38+
39+
require 'yaml'
40+
require 'net/http'
41+
require 'uri'
42+
require 'json'
43+
require 'securerandom'
44+
require 'openssl'
45+
require 'digest'
46+
require 'base64'
47+
require 'resolv'
48+
require 'logger'

lib/securenative/api_manager.rb

Lines changed: 24 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,32 @@
11
# frozen_string_literal: true
22

3-
require 'securenative/models/sdk_event'
4-
require 'securenative/enums/failover_strategy'
5-
require 'securenative/enums/risk_level'
6-
require 'securenative/enums/api_route'
7-
require 'securenative/models/verify_result'
8-
require 'json'
9-
10-
module SecureNative
11-
class ApiManager
12-
def initialize(event_manager, securenative_options)
13-
@event_manager = event_manager
14-
@options = securenative_options
15-
end
16-
17-
def track(event_options)
18-
SecureNativeLogger.debug('Track event call')
19-
event = SDKEvent.new(event_options, @options)
20-
@event_manager.send_async(event, ApiRoute::TRACK)
21-
end
3+
class ApiManager
4+
def initialize(event_manager, securenative_options)
5+
@event_manager = event_manager
6+
@options = securenative_options
7+
end
228

23-
def verify(event_options)
24-
SecureNativeLogger.debug('Verify event call')
25-
event = SDKEvent.new(event_options, @options)
9+
def track(event_options)
10+
SecureNative::Log.debug('Track event call')
11+
event = SecureNative::SDKEvent.new(event_options, @options)
12+
@event_manager.send_async(event, ApiRoute::TRACK)
13+
end
2614

27-
begin
28-
res = @event_manager.send_sync(event, ApiRoute::VERIFY, false)
29-
ver_result = JSON.parse(res.body)
30-
return VerifyResult.new(risk_level: ver_result['riskLevel'], score: ver_result['score'], triggers: ver_result['triggers'])
31-
rescue StandardError => e
32-
SecureNativeLogger.debug("Failed to call verify; #{e}")
33-
end
34-
if @options.fail_over_strategy == FailOverStrategy::FAIL_OPEN
35-
return VerifyResult.new(risk_level: RiskLevel::LOW, score: 0, triggers: nil)
36-
end
15+
def verify(event_options)
16+
SecureNative::Log.debug('Verify event call')
17+
event = SecureNative::SDKEvent.new(event_options, @options)
3718

38-
VerifyResult.new(risk_level: RiskLevel::HIGH, score: 1, triggers: nil)
19+
begin
20+
res = @event_manager.send_sync(event, ApiRoute::VERIFY, false)
21+
ver_result = JSON.parse(res.body)
22+
return VerifyResult.new(risk_level: ver_result['riskLevel'], score: ver_result['score'], triggers: ver_result['triggers'])
23+
rescue StandardError => e
24+
SecureNative::Log.debug("Failed to call verify; #{e}")
3925
end
26+
if @options.fail_over_strategy == SecureNative::FailOverStrategy::FAIL_OPEN
27+
return SecureNative::VerifyResult.new(risk_level: RiskLevel::LOW, score: 0, triggers: nil)
28+
end
29+
30+
VerifyResult.new(risk_level: RiskLevel::HIGH, score: 1, triggers: nil)
4031
end
4132
end
Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,25 @@
11
# frozen_string_literal: true
22

3-
require 'securenative/enums/failover_strategy'
3+
class ConfigurationBuilder
4+
attr_reader :api_key, :api_url, :interval, :max_events, :timeout, :auto_send, :disable, :log_level, :fail_over_strategy, :proxy_headers
5+
attr_writer :api_key, :api_url, :interval, :max_events, :timeout, :auto_send, :disable, :log_level, :fail_over_strategy, :proxy_headers
46

5-
module SecureNative
6-
class ConfigurationBuilder
7-
attr_reader :api_key, :api_url, :interval, :max_events, :timeout, :auto_send, :disable, :log_level, :fail_over_strategy, :proxy_headers
8-
attr_writer :api_key, :api_url, :interval, :max_events, :timeout, :auto_send, :disable, :log_level, :fail_over_strategy, :proxy_headers
9-
10-
def initialize(api_key: nil, api_url: 'https://api.securenative.com/collector/api/v1', interval: 1000,
11-
max_events: 1000, timeout: 1500, auto_send: true, disable: false, log_level: 'FATAL',
12-
fail_over_strategy: FailOverStrategy::FAIL_OPEN, proxy_headers: nil)
13-
@api_key = api_key
14-
@api_url = api_url
15-
@interval = interval
16-
@max_events = max_events
17-
@timeout = timeout
18-
@auto_send = auto_send
19-
@disable = disable
20-
@log_level = log_level
21-
@fail_over_strategy = fail_over_strategy
22-
@proxy_headers = proxy_headers
23-
end
7+
def initialize(api_key: nil, api_url: 'https://api.securenative.com/collector/api/v1', interval: 1000,
8+
max_events: 1000, timeout: 1500, auto_send: true, disable: false, log_level: 'FATAL',
9+
fail_over_strategy: SecureNative::FailOverStrategy::FAIL_OPEN, proxy_headers: nil)
10+
@api_key = api_key
11+
@api_url = api_url
12+
@interval = interval
13+
@max_events = max_events
14+
@timeout = timeout
15+
@auto_send = auto_send
16+
@disable = disable
17+
@log_level = log_level
18+
@fail_over_strategy = fail_over_strategy
19+
@proxy_headers = proxy_headers
20+
end
2421

25-
def self.default_securenative_options
26-
SecureNativeOptions.new
27-
end
22+
def self.default_securenative_options
23+
Options.new
2824
end
29-
end
25+
end

0 commit comments

Comments
 (0)