fluent-plugin-amplitude 0.0.2 → 0.0.3

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: f5f2237ec43b951cfb7576f887db3b348b17e715
4
- data.tar.gz: 186f689b78f3730f49105784f8f18eb033a4c594
3
+ metadata.gz: 01e61239e194c3e3ed6d86efc525edcd1b45df04
4
+ data.tar.gz: 629c94af197ff1b8c0e59b06cc78d7e2f00a47f6
5
5
  SHA512:
6
- metadata.gz: cbf0925b1d932001abcb0a04d235a72859dbe1f32ef992883bec8c07365b5ad4b95941c3b4b00386a3b325a077ff072d0ffaf5244ebe975723da33aa79374b93
7
- data.tar.gz: dff860a1922798a7e9f83daf258cb3c00f96523fd846e1e307bf8a35d9609ec3754f953ce00130ed60e91d2741b3582af6066a2e2e52353dfc1293d966fb098c
6
+ metadata.gz: 699c3638100a649487f63f19eac4b3e48f2cb2bff4e7501998e3b2a3411342d3ee8710747cc20c46fdc0617d4faf5ebe7490684967d14cfea5c31c95b8061b34
7
+ data.tar.gz: 6431d376d1862d0cc5fa819b4f51d49efe84a25b446d2af10bc7ff14d31264e7838274b9ad5d8a1edb5adaadbd94c2f5f4f91d4114adc558ec6a17528829faa2
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'fluent-plugin-amplitude'
7
- spec.version = '0.0.2'
7
+ spec.version = '0.0.3'
8
8
  spec.authors = ['Vijay Ramesh']
9
9
  spec.email = ['vijay@change.org']
10
10
  spec.summary = 'Fluentd plugin to output event data to Amplitude'
@@ -0,0 +1,22 @@
1
+ # Some things we want from ActiveSupport
2
+ module FakeActiveSupport
3
+ def simple_symbolize_keys(hsh)
4
+ Hash[hsh.map do |k, v|
5
+ begin
6
+ [k.to_sym, v]
7
+ rescue
8
+ [k, v]
9
+ end
10
+ end]
11
+ end
12
+
13
+ def blank?(var)
14
+ # rubocop:disable DoubleNegation
15
+ var.respond_to?(:empty?) ? !!var.empty? : !var
16
+ # rubocop:enable DoubleNegation
17
+ end
18
+
19
+ def present?(var)
20
+ !blank?(var)
21
+ end
22
+ end
@@ -1,9 +1,11 @@
1
+ require './lib/fluent/plugin/fake_active_support'
1
2
  module Fluent
2
3
  # Fluent::AmplitudeOutput plugin
3
4
  class AmplitudeOutput < Fluent::BufferedOutput
4
5
  Fluent::Plugin.register_output('amplitude', self)
5
6
 
6
7
  include Fluent::HandleTagNameMixin
8
+ include FakeActiveSupport
7
9
 
8
10
  config_param :api_key, :string, secret: true
9
11
  config_param :device_id_key, :string
@@ -76,7 +78,9 @@ module Fluent
76
78
  end
77
79
 
78
80
  def verify_user_and_device_or_fail(amplitude_hash)
79
- return if amplitude_hash[:user_id] || amplitude_hash[:device_id]
81
+ user_id = amplitude_hash[:user_id]
82
+ device_id = amplitude_hash[:device_id]
83
+ return if present?(user_id) || present?(device_id)
80
84
  raise AmplitudeError, 'Error: either user_id or device_id must be set'
81
85
  end
82
86
 
@@ -116,15 +120,5 @@ module Fluent
116
120
  raise AmplitudeError, "Error: #{e.message}"
117
121
  end
118
122
  end
119
-
120
- def simple_symbolize_keys(hsh)
121
- Hash[hsh.map do |k, v|
122
- begin
123
- [k.to_sym, v]
124
- rescue
125
- [k, v]
126
- end
127
- end]
128
- end
129
123
  end
130
124
  end
@@ -144,6 +144,25 @@ describe Fluent::AmplitudeOutput do
144
144
  end
145
145
  end
146
146
 
147
+ context 'the input only contains empty user_id and device_id fields' do
148
+ let(:event) do
149
+ {
150
+ 'user_id' => '',
151
+ 'uuid' => '',
152
+ 'first_name' => 'Bobby',
153
+ 'last_name' => 'Weir',
154
+ 'state' => 'CA',
155
+ 'current_source' => 'fb_share',
156
+ 'recruiter_id' => 710
157
+ }
158
+ end
159
+ it 'raises a Fluent::AmplitudeOutput::AmplitudeError' do
160
+ expect { amplitude.run }.to raise_error(
161
+ Fluent::AmplitudeOutput::AmplitudeError
162
+ )
163
+ end
164
+ end
165
+
147
166
  context 'properties_blacklist is specified' do
148
167
  let(:conf) do
149
168
  %(
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-amplitude
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vijay Ramesh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-08 00:00:00.000000000 Z
11
+ date: 2016-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -141,6 +141,7 @@ files:
141
141
  - README.md
142
142
  - Rakefile
143
143
  - fluent-plugin-amplitude.gemspec
144
+ - lib/fluent/plugin/fake_active_support.rb
144
145
  - lib/fluent/plugin/out_amplitude.rb
145
146
  - spec/out_amplitude_spec.rb
146
147
  - spec/spec_helper.rb