thisdata 0.1.3 → 0.1.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: c769ec94d780ff1f93699730acb971cf09d0d580
4
- data.tar.gz: 1d4a7fa9e5b57fc1e6d563d02dd50473f4a1f809
3
+ metadata.gz: 733fd722c94d64605f71c6c1dde7651ee3637ef0
4
+ data.tar.gz: c35dfe168584f381f8d7b4ec785be3d30000a22f
5
5
  SHA512:
6
- metadata.gz: b06b6d18354099b7dafb19eb982710606d1cba120fe9b0c99db8f3e7107f0c5a3b748b136eb4a554ad6ac3d73b6bab727a7169da9e146d80dd99b49944f1b01d
7
- data.tar.gz: ad687196cfd094456dc13046e76ccc12ca60a92fbc718bf770e0d3c109e6e4f7afa3bffe4cc679338a3b17d56faf78998e737d0b7ebc8c770f1d208d2f61f4ed
6
+ metadata.gz: ed4916c46d949108998764e9dec362e558fefa757bf49944512ad4ea2d6831158a7f858a34fc33ae2d2a1af05cd4ea53deacc03383243925317462e7c9260842
7
+ data.tar.gz: 003187257e62124d7ab56c6f0c5b4a11f45c6721254413b21d0d55e3764e62938c1853aa9acc83cc591e5bce0a0689cc15c454ee39f8fc1578a7befe6725eb6c
data/CHANGELOG CHANGED
@@ -1,3 +1,13 @@
1
+ # 0.1.4
2
+
3
+ - ThisData wasn't being required properly: https://github.com/thisdata/thisdata-ruby/issues/8
4
+ - The response / failure of a request to our API wasn't being correctly logged
5
+ https://github.com/thisdata/thisdata-ruby/issues/9
6
+ - There are some new verbs with special semantic meaning which we've added
7
+ https://github.com/thisdata/thisdata-ruby/issues/12
8
+ - Tweaks to the ruby sample code, by @timhaines
9
+ https://github.com/thisdata/thisdata-ruby/pull/7
10
+
1
11
  # 0.1.3
2
12
 
3
13
  In the `ThisData::TrackRequest` module, make tracking a bit easier especially
data/README.md CHANGED
@@ -27,22 +27,23 @@ http://help.thisdata.com
27
27
 
28
28
  #### Configuration
29
29
 
30
- Configure ThisData as follows:
30
+ An example ThisData configuration is below. See `this_data/configuration.rb` for
31
+ more options. For example, in production we recommend you turn on
32
+ the asynchronous and non-logging behaviour.
33
+
34
+ If you're using Rails, you can generate this config file by following our
35
+ [Set Up](#set-up) steps further down.
36
+
31
37
 
32
38
  ```ruby
39
+ require 'this_data'
33
40
  ThisData.setup do |config|
34
- config.api_key = "API_KEY_HERE" # Don't commit your key to source control!
41
+ config.api_key = 'API_KEY_HERE' # Don't commit your key to source control!
35
42
  config.logger = Logger.new($stdout)
36
43
  config.async = false
37
44
  end
38
45
  ```
39
46
 
40
- See `this_data/configuration.rb` for more options, and some suggested
41
- Ruby on Rails options in `this_data/generators/install_generator.rb`.
42
-
43
- For example, in production you will probably want asynchronous and non-logging
44
- behaviour.
45
-
46
47
  #### Tracking an Event
47
48
 
48
49
  You can then track any event by calling `ThisData.track` and passing a Hash which
@@ -58,7 +59,7 @@ ThisData.track(
58
59
  user: {
59
60
  id: user.id.to_s,
60
61
  name: user.name,
61
- email: user.email
62
+ email: user.email,
62
63
  mobile: user.mobile
63
64
  }
64
65
  }
@@ -128,6 +129,19 @@ Note: as with many sensitive operations, taking different actions when an
128
129
  account exists vs. when an account doesn't exist can lead to a information
129
130
  disclosure through timing attacks.
130
131
 
132
+ ### Will this break my app?
133
+
134
+ We hope not! We encourage you to use the asynchronous API call where possible
135
+ just in case our end goes down. In all cases we have error handling to capture
136
+ hard failures, but there may be edge-cases where timeouts or other bugs haven't
137
+ been properly handled.
138
+
139
+ So in your own app you could move tracking to a background job, enforce timeouts,
140
+ add threading (safely!), or employ other methods which enforce good behaviour of
141
+ third party gems.
142
+
143
+ Read more: http://help.thisdata.com/docs/how-do-you-not-break-my-app
144
+
131
145
 
132
146
  ### Stuck?
133
147
 
@@ -1,3 +1,4 @@
1
+ require 'this_data'
1
2
  module ThisData
2
3
  class InstallGenerator < Rails::Generators::Base
3
4
 
data/lib/this_data.rb CHANGED
@@ -74,7 +74,8 @@ module ThisData
74
74
  # Returns an HTTPResponse
75
75
  def track_with_response(event)
76
76
  response = Client.new.track(event)
77
- if response.try(:success?)
77
+ success = response && response.success? # HTTParty doesn't like `.try`
78
+ if success
78
79
  log("Tracked event! #{response.response.inspect}")
79
80
  else
80
81
  warn("Track failure! #{response.response.inspect} #{response.body}")
@@ -1,3 +1,10 @@
1
+ # We use verbs to distinguish between different types of events.
2
+ # The following is a a list of verbs which hold special semantic meaning to us.
3
+ # In addition to these you can send any verb you like.
4
+ #
5
+ # Learn more about these verbs, and others, here:
6
+ # http://help.thisdata.com/docs/verbs
7
+ #
1
8
  module ThisData
2
9
  class Verbs
3
10
 
@@ -6,5 +13,20 @@ module ThisData
6
13
  LOG_IN_DENIED = 'log-in-denied'
7
14
  LOG_IN_CHALLENGE = 'log-in-challenge'
8
15
 
16
+ ACCESS = 'access'
17
+
18
+ EMAIL_UPDATE = 'email-update'
19
+ PASSWORD_UPDATE = 'password-update'
20
+
21
+ PASSWORD_RESET_REQUEST = 'password-reset-request'
22
+ PASSWORD_RESET = 'password-reset'
23
+ PASSWORD_RESET_FAIL = 'password-reset-fail'
24
+
25
+ AUTHENTICATION_CHALLENGE = 'authentication-challenge'
26
+ AUTHENTICATION_CHALLENGE_PASS = 'authentication-challenge-pass'
27
+ AUTHENTICATION_CHALLENGE_FAIL = 'authentication-challenge-fail'
28
+
29
+ TWO_FACTOR_DISABLE = 'two-factor-disable'
30
+
9
31
  end
10
32
  end
@@ -1,3 +1,3 @@
1
1
  module ThisData
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thisdata
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - ThisData Ltd
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-02-26 00:00:00.000000000 Z
12
+ date: 2016-05-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty