logstash-input-intercom 0.0.1-java → 0.0.2-java

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: 232dd14453ab0a06312dde7fa09bc9e240ecba21
4
- data.tar.gz: 9292b28e6cdbce588c7728fc49afb7064eb027dc
3
+ metadata.gz: b28212c3acad123ac073afe9ee5d931c5afa2bbe
4
+ data.tar.gz: d65f63d025125e1dd6b6e4781fc5f3f15c4710de
5
5
  SHA512:
6
- metadata.gz: 04cd065ec0897f3d1718c0cb21996c0be34429a36e1124347dc93da9ccb963f7117c9a062ba70a983fcd8790d88d85fa4b810d7e827dd1f78ac71a3ca4848c28
7
- data.tar.gz: 0ed59beed7fc3379c666a43c0b9d152b7769a8ca55b20ea1b4166fa1961ad3b9e35ace992afb5b1f917d6793c3738c19d65325b7ced29d1eaadb70d8f13a62de
6
+ metadata.gz: 04d3e266ae47c61b315e0ed61f3c4ce7ff571da9baed190bfebc80c4886e93d5a427cb79f7cef2af9b6eee253fcb9cab8859eb34caaaee071b73f27799103d8f
7
+ data.tar.gz: 299f94962cae08ea117c54b9d27483a17ed13b6d27a98ac98d6ffe38fd13960bf8598382eaff08bc71d59064ca722f3ea6842f30d69b3b5a4c0d30c1e882eda2
@@ -17,6 +17,9 @@ require "intercom"
17
17
  # intercom {
18
18
  # app_id => ":appId"
19
19
  # app_api_key => ":appApiKey"
20
+ # sync_users => true
21
+ # sync_events => true
22
+ # flatten_excludes => []
20
23
  # }
21
24
  # }
22
25
  # ----------------------------------
@@ -39,6 +42,9 @@ class LogStash::Inputs::Intercom < LogStash::Inputs::Base
39
42
  #Set if we want to synchronize users
40
43
  config :sync_users, :validate => :boolean, :default => true
41
44
 
45
+ # Set a list of keys to not flatten during export
46
+ config :flatten_excludes, :validate => :array, :default => []
47
+
42
48
  public
43
49
 
44
50
  def register
@@ -60,23 +66,15 @@ class LogStash::Inputs::Intercom < LogStash::Inputs::Base
60
66
  end
61
67
 
62
68
  def sync_all(queue)
63
- sync_users queue if @sync_users
64
- sync_events queue if @sync_events
65
- end
66
-
67
- def sync_users(queue)
68
- begin
69
- get_users.each { |user| push_event queue, from_user(user) }
70
- rescue Intercom::IntercomError => error
71
- @logger.error? @logger.error("Failed to sync users", :error => error.to_s)
72
- end
73
- end
74
-
75
- def sync_events(queue)
76
- begin
77
- get_users.each { |user| sync_events_for queue, user.id }
78
- rescue Intercom::IntercomError => error
79
- @logger.error? @logger.error("Failed to sync events", :error => error.to_s)
69
+ if @sync_users or @sync_events
70
+ begin
71
+ get_users.each { |user|
72
+ push_event queue, from_user(user) if @sync_users
73
+ sync_events_for queue, user.id if @sync_events
74
+ }
75
+ rescue Intercom::IntercomError => error
76
+ @logger.error? @logger.error("Failed to sync", :error => error.to_s)
77
+ end
80
78
  end
81
79
  end
82
80
 
@@ -138,7 +136,7 @@ class LogStash::Inputs::Intercom < LogStash::Inputs::Base
138
136
 
139
137
  def flatten_hash(hash)
140
138
  hash.each_with_object({}) do |(k, v), h|
141
- if v.respond_to? :to_hash
139
+ if v.respond_to? :to_hash and not @flatten_excludes.include? k
142
140
  flatten_hash(v.to_hash).map do |h_k, h_v|
143
141
  h["#{k}_#{h_k}"] = h_v
144
142
  end
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-input-intercom'
4
- s.version = '0.0.1'
4
+ s.version = '0.0.2'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "Experimental Logstash input plugin for Intercom API."
7
7
  s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
metadata CHANGED
@@ -1,94 +1,96 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-intercom
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: java
6
6
  authors:
7
7
  - Cogniteev
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-24 00:00:00.000000000 Z
11
+ date: 2016-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: logstash-core-plugin-api
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
- - - "~>"
17
+ - - ~>
17
18
  - !ruby/object:Gem::Version
18
19
  version: '1.0'
19
- name: logstash-core-plugin-api
20
- prerelease: false
21
20
  type: :runtime
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
+ name: logstash-codec-plain
28
29
  requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ">="
31
+ - - '>='
31
32
  - !ruby/object:Gem::Version
32
33
  version: '0'
33
- name: logstash-codec-plain
34
- prerelease: false
35
34
  type: :runtime
35
+ prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
+ name: cogniteev-intercom
42
43
  requirement: !ruby/object:Gem::Requirement
43
44
  requirements:
44
- - - "~>"
45
+ - - ~>
45
46
  - !ruby/object:Gem::Version
46
47
  version: '2.3'
47
- name: cogniteev-intercom
48
- prerelease: false
49
48
  type: :runtime
49
+ prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2.3'
55
- description: This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program
55
+ description: This gem is a Logstash plugin required to be installed on top of the
56
+ Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This
57
+ gem is not a stand-alone program
56
58
  email: techteam@cogniteev.com
57
59
  executables: []
58
60
  extensions: []
59
61
  extra_rdoc_files: []
60
62
  files:
63
+ - lib/logstash/inputs/intercom.rb
64
+ - spec/inputs/intercom_spec.rb
65
+ - logstash-input-intercom.gemspec
61
66
  - CHANGELOG.md
67
+ - README.md
62
68
  - Gemfile
63
69
  - LICENSE
64
- - README.md
65
- - lib/logstash/inputs/intercom.rb
66
- - logstash-input-intercom.gemspec
67
- - spec/inputs/intercom_spec.rb
68
70
  homepage: https://github.com/cogniteev/logstash-input-intercom
69
71
  licenses:
70
72
  - Apache License (2.0)
71
73
  metadata:
72
74
  logstash_plugin: 'true'
73
75
  logstash_group: input
74
- post_install_message:
76
+ post_install_message:
75
77
  rdoc_options: []
76
78
  require_paths:
77
79
  - lib
78
80
  required_ruby_version: !ruby/object:Gem::Requirement
79
81
  requirements:
80
- - - ">="
82
+ - - '>='
81
83
  - !ruby/object:Gem::Version
82
84
  version: '0'
83
85
  required_rubygems_version: !ruby/object:Gem::Requirement
84
86
  requirements:
85
- - - ">="
87
+ - - '>='
86
88
  - !ruby/object:Gem::Version
87
89
  version: '0'
88
90
  requirements: []
89
- rubyforge_project:
90
- rubygems_version: 2.4.8
91
- signing_key:
91
+ rubyforge_project:
92
+ rubygems_version: 2.0.14
93
+ signing_key:
92
94
  specification_version: 4
93
95
  summary: Experimental Logstash input plugin for Intercom API.
94
96
  test_files: