salesforce_streamer 0.3.0 → 0.4.0

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
  SHA256:
3
- metadata.gz: 7e5279cbf060a7998dda26f5b8243f4f7f45a235df437b6e5b43dded0a0db770
4
- data.tar.gz: fe42569934ea906d2a90426367233918558abf2848be187263af5556ab56ae3e
3
+ metadata.gz: 0b2b0f558cddea62f7daa6836378714c462efee9041651c018a3c03ba12f9e37
4
+ data.tar.gz: 0b78a376cc983420c7d0306db33ad81c91d29817048893f975b9647d748ccc75
5
5
  SHA512:
6
- metadata.gz: d3f90343488c893ef58bf82ef39105acaef83283476228d7263f524ca87855dd781212cb8b107786def223c32bfea43d9f299a15bca50e95698c3b733350ad9a
7
- data.tar.gz: 68467636cccd05ffdd5acc046b32f8f8d5dff0a14b9a72f7bcb18ac102b7664d4bb69538b5613200964f3186b596f345c1c7de83bbf1191a36df811bd825d589
6
+ metadata.gz: 9a94f0948ab22945f7609e8164330fb273eb32c3366e259fb40ea9b8dd0b39d7b7634972df36af6c4e2e57ce5cf43ee48d9e9ec6c6f46f61354c58144ee68c98
7
+ data.tar.gz: 4759ab638d353562eeda92be76d660314d7ea37b2bc7f2e2290cf1502f58282e63e8672bb15eeffd093600ae87fb9e63911e67cbfdd47a196697369c75a88983
data/.gitignore CHANGED
@@ -1,5 +1,4 @@
1
1
  /.bundle/
2
- /.byebug_history
3
2
  /.yardoc
4
3
  /_yardoc/
5
4
  /coverage/
@@ -10,4 +9,7 @@
10
9
 
11
10
  # rspec failure tracking
12
11
  .rspec_status
13
- .env
12
+
13
+ # Cached rubocop config files
14
+ .rubocop-http*
15
+ vidar.yml
data/.rubocop.yml ADDED
@@ -0,0 +1,8 @@
1
+ require:
2
+ - rubocop-performance
3
+
4
+ inherit_from:
5
+ - https://raw.githubusercontent.com/RenoFi/rubocop/master/ruby.yml
6
+
7
+ AllCops:
8
+ TargetRubyVersion: 2.6
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.6.5
data/.travis.yml CHANGED
@@ -3,6 +3,8 @@ sudo: false
3
3
  language: ruby
4
4
  cache: bundler
5
5
  rvm:
6
- - 2.6
7
6
  - 2.5
8
- before_install: gem install bundler -v 2.0.1
7
+ - 2.6
8
+ before_install: gem install bundler -v 2.0.2
9
+ script:
10
+ - bundle exec rake
data/Gemfile CHANGED
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  source 'https://rubygems.org'
4
2
 
5
3
  # Specify your gem's dependencies in salesforce_streamer.gemspec
data/Gemfile.lock CHANGED
@@ -1,17 +1,18 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- salesforce_streamer (0.3.0)
4
+ salesforce_streamer (0.4.0)
5
5
  faye (= 0.8.9)
6
- restforce (~> 3.1.0)
6
+ restforce (~> 4.2)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
11
  addressable (2.7.0)
12
12
  public_suffix (>= 2.0.2, < 5.0)
13
+ ast (2.4.0)
13
14
  byebug (11.0.1)
14
- codecov (0.1.14)
15
+ codecov (0.1.16)
15
16
  json
16
17
  simplecov
17
18
  url
@@ -27,7 +28,7 @@ GEM
27
28
  em-socksify (0.3.2)
28
29
  eventmachine (>= 1.0.0.beta.4)
29
30
  eventmachine (1.2.7)
30
- faraday (0.17.0)
31
+ faraday (0.17.1)
31
32
  multipart-post (>= 1.2, < 3)
32
33
  faraday_middleware (0.13.1)
33
34
  faraday (>= 0.7.4, < 1.0)
@@ -43,34 +44,52 @@ GEM
43
44
  websocket-driver (>= 0.5.1)
44
45
  hashie (3.6.0)
45
46
  http_parser.rb (0.6.0)
47
+ jaro_winkler (1.5.4)
46
48
  json (2.2.0)
49
+ jwt (2.2.1)
47
50
  multipart-post (2.1.1)
51
+ parallel (1.19.1)
52
+ parser (2.6.5.0)
53
+ ast (~> 2.4.0)
48
54
  public_suffix (4.0.1)
49
55
  rack (2.0.7)
50
- rake (10.5.0)
51
- restforce (3.1.0)
56
+ rainbow (3.0.0)
57
+ rake (13.0.1)
58
+ restforce (4.2.0)
52
59
  faraday (>= 0.9.0, <= 1.0)
53
60
  faraday_middleware (>= 0.8.8, <= 1.0)
54
61
  hashie (>= 1.2.0, < 4.0)
55
62
  json (>= 1.7.5)
56
- rspec (3.8.0)
57
- rspec-core (~> 3.8.0)
58
- rspec-expectations (~> 3.8.0)
59
- rspec-mocks (~> 3.8.0)
60
- rspec-core (3.8.2)
61
- rspec-support (~> 3.8.0)
62
- rspec-expectations (3.8.4)
63
+ jwt (>= 1.5.6)
64
+ rspec (3.9.0)
65
+ rspec-core (~> 3.9.0)
66
+ rspec-expectations (~> 3.9.0)
67
+ rspec-mocks (~> 3.9.0)
68
+ rspec-core (3.9.0)
69
+ rspec-support (~> 3.9.0)
70
+ rspec-expectations (3.9.0)
63
71
  diff-lcs (>= 1.2.0, < 2.0)
64
- rspec-support (~> 3.8.0)
65
- rspec-mocks (3.8.1)
72
+ rspec-support (~> 3.9.0)
73
+ rspec-mocks (3.9.0)
66
74
  diff-lcs (>= 1.2.0, < 2.0)
67
- rspec-support (~> 3.8.0)
68
- rspec-support (3.8.2)
69
- simplecov (0.17.0)
75
+ rspec-support (~> 3.9.0)
76
+ rspec-support (3.9.0)
77
+ rubocop (0.76.0)
78
+ jaro_winkler (~> 1.5.1)
79
+ parallel (~> 1.10)
80
+ parser (>= 2.6)
81
+ rainbow (>= 2.2.2, < 4.0)
82
+ ruby-progressbar (~> 1.7)
83
+ unicode-display_width (>= 1.4.0, < 1.7)
84
+ rubocop-performance (1.5.1)
85
+ rubocop (>= 0.71.0)
86
+ ruby-progressbar (1.10.1)
87
+ simplecov (0.17.1)
70
88
  docile (~> 1.1)
71
89
  json (>= 1.8, < 3)
72
90
  simplecov-html (~> 0.10.0)
73
91
  simplecov-html (0.10.2)
92
+ unicode-display_width (1.6.0)
74
93
  url (0.3.2)
75
94
  websocket-driver (0.7.1)
76
95
  websocket-extensions (>= 0.1.0)
@@ -81,11 +100,12 @@ PLATFORMS
81
100
  ruby
82
101
 
83
102
  DEPENDENCIES
84
- bundler (~> 2.0)
85
- byebug (~> 11.0.1)
86
- codecov (~> 0.1.14)
87
- rake (~> 10.0)
88
- rspec (~> 3.0)
103
+ byebug
104
+ codecov
105
+ rake
106
+ rspec
107
+ rubocop
108
+ rubocop-performance
89
109
  salesforce_streamer!
90
110
 
91
111
  BUNDLED WITH
data/Rakefile CHANGED
@@ -1,8 +1,8 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'bundler/gem_tasks'
4
2
  require 'rspec/core/rake_task'
3
+ require 'rubocop/rake_task'
5
4
 
6
5
  RSpec::Core::RakeTask.new(:spec)
6
+ RuboCop::RakeTask.new
7
7
 
8
- task default: :spec
8
+ task default: %i[rubocop spec]
data/bin/console CHANGED
@@ -1,6 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
2
  require 'bundler/setup'
5
3
  require 'salesforce_streamer'
6
4
 
data/exe/streamer CHANGED
@@ -1,6 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
2
  require 'salesforce_streamer'
5
3
  require 'salesforce_streamer/cli'
6
4
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Original source code at
4
2
  # https://github.com/dwaite/cookiejar/blob/master/lib/cookiejar/cookie_validation.rb
5
3
  # Re-opening the CookieValidation module to rewrite the domains_match method to
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module SalesforceStreamer
4
2
  class CLI
5
3
  def initialize(argv)
@@ -21,8 +19,7 @@ module SalesforceStreamer
21
19
  @config.config_file = arg
22
20
  end
23
21
 
24
- o.on '-e', '--environment ENVIRONMENT',
25
- 'The environment to run the app on (default development)' do |arg|
22
+ o.on '-e', '--environment ENVIRONMENT', 'The environment to run the app on (default development)' do |arg|
26
23
  @config.environment = arg
27
24
  end
28
25
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module SalesforceStreamer
4
2
  # Manages server configuration.
5
3
  class Configuration
@@ -16,7 +14,7 @@ module SalesforceStreamer
16
14
  def initialize
17
15
  @environment = ENV['RACK_ENV'] || :development
18
16
  @logger = Logger.new(IO::NULL)
19
- @exception_adapter = proc { |exc| raise exc }
17
+ @exception_adapter = proc { |exc| fail(exc) }
20
18
  @persistence_adapter = RedisReplay.new
21
19
  @manage_topics = false
22
20
  @config_file = './config/streamer.yml'
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module SalesforceStreamer
4
2
  class MissingCLIFlagError < StandardError
5
3
  def initialize(flag)
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module SalesforceStreamer
4
2
  # SalesforceStreamer::Launcher is the entry point for starting the Restforce
5
3
  # Streaming API server. It is responsible for upserting each PushTopic and
@@ -27,10 +25,10 @@ module SalesforceStreamer
27
25
  end
28
26
 
29
27
  def require_application
30
- if Configuration.instance.require_path
31
- Log.debug 'Loading the require path'
32
- require Configuration.instance.require_path
33
- end
28
+ return unless Configuration.instance.require_path
29
+
30
+ Log.debug 'Loading the require path'
31
+ require Configuration.instance.require_path
34
32
  end
35
33
 
36
34
  def initialize_push_topics
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module SalesforceStreamer
4
2
  class MessageReceiver
5
3
  class << self
@@ -1,11 +1,9 @@
1
- # frozen_string_literal: true
2
-
3
1
  module SalesforceStreamer
4
2
  # Models the PushTopic object for both Restforce and Streamer
5
3
  class PushTopic
6
4
  attr_accessor :id
7
5
  attr_reader :name, :description, :notify_for_fields, :query,
8
- :handler, :handler_constant, :api_version
6
+ :handler, :handler_constant, :api_version
9
7
 
10
8
  def initialize(data:)
11
9
  @handler = data['handler']
@@ -19,8 +17,8 @@ module SalesforceStreamer
19
17
  end
20
18
 
21
19
  def replay
22
- @replay ||= (ReplayPersistence.retrieve(name) || @static_replay).tap do |replayId|
23
- Log.info "PushTopic name=#{name} starting at replayId=#{replayId}"
20
+ @replay ||= (ReplayPersistence.retrieve(name) || @static_replay).tap do |replay_id|
21
+ Log.info "PushTopic name=#{name} starting at replayId=#{replay_id}"
24
22
  end
25
23
  end
26
24
 
@@ -33,7 +31,7 @@ module SalesforceStreamer
33
31
  private
34
32
 
35
33
  def validate!
36
- raise(PushTopicNameTooLongError, @name) if @name.size > 25
34
+ fail(PushTopicNameTooLongError, @name) if @name.size > 25
37
35
 
38
36
  @handler_constant = Object.const_get(@handler)
39
37
  true
@@ -43,7 +41,7 @@ module SalesforceStreamer
43
41
  end
44
42
 
45
43
  def strip_spaces(str)
46
- raise(NilQueryError, @name) unless str
44
+ fail(NilQueryError, @name) unless str
47
45
 
48
46
  str.gsub(/\s+/, ' ')
49
47
  end
@@ -1,10 +1,8 @@
1
- # frozen_string_literal: true
2
-
3
1
  module SalesforceStreamer
4
2
  class RedisReplay
5
3
  class << self
6
4
  def redis_connection
7
- @redis_connection ||= Configuration.instance.redis_connection || raise(RedisConnectionError)
5
+ @redis_connection ||= Configuration.instance.redis_connection || fail(RedisConnectionError)
8
6
  end
9
7
 
10
8
  attr_writer :redis_connection
@@ -27,7 +25,7 @@ module SalesforceStreamer
27
25
  key = namespaced_key(key)
28
26
  value = Integer(value)
29
27
  connection { |c| c.setex key, SECONDS_TO_EXPIRE, value }
30
- rescue StandardError, TypeError => e
28
+ rescue StandardError => e
31
29
  Configuration.instance.exception_adapter.call e
32
30
  nil
33
31
  end
@@ -49,7 +47,7 @@ module SalesforceStreamer
49
47
  NAMESPACE + key.to_s
50
48
  end
51
49
 
52
- NAMESPACE = 'SalesforceStreamer:'
50
+ NAMESPACE = 'SalesforceStreamer:'.freeze
53
51
  SECONDS_TO_EXPIRE = 24 * 60 * 60 # 24 hours
54
52
  START = 0
55
53
  STOP = 0
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module SalesforceStreamer
4
2
  # Store values for a given key in a sorted sequence
5
3
  # Retrieves the highest value given a key
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module SalesforceStreamer
4
2
  class SalesforceClient
5
3
  def initialize(client: Restforce.new)
@@ -24,17 +22,17 @@ module SalesforceStreamer
24
22
 
25
23
  # Returns true or raises an exception if the upsert fails
26
24
  def upsert_push_topic(push_topic)
27
- @client.upsert!('PushTopic', :Id,
28
- 'Id' => push_topic.id,
29
- 'Name' => push_topic.name,
30
- 'ApiVersion' => push_topic.api_version,
31
- 'Description' => push_topic.description,
32
- 'NotifyForFields' => push_topic.notify_for_fields,
33
- 'Query' => push_topic.query)
25
+ @client.upsert!(
26
+ 'PushTopic', :Id,
27
+ 'Id' => push_topic.id,
28
+ 'Name' => push_topic.name,
29
+ 'ApiVersion' => push_topic.api_version,
30
+ 'Description' => push_topic.description,
31
+ 'NotifyForFields' => push_topic.notify_for_fields,
32
+ 'Query' => push_topic.query
33
+ )
34
34
  end
35
35
 
36
- private
37
-
38
36
  QUERY = <<~SOQL.chomp.freeze
39
37
  SELECT Id, Name, ApiVersion, Description, NotifyForFields, Query, isActive
40
38
  FROM PushTopic
@@ -1,16 +1,12 @@
1
- # frozen_string_literal: true
2
-
3
1
  module SalesforceStreamer
4
2
  class Server
5
3
  attr_writer :push_topics
6
4
 
7
5
  def initialize(push_topics: [])
8
6
  @push_topics = push_topics
9
- @client = Restforce.new
10
7
  end
11
8
 
12
9
  def run
13
- @client.authenticate!
14
10
  Log.info 'Starting Server'
15
11
  catch_signals
16
12
  start_em
@@ -27,10 +23,14 @@ module SalesforceStreamer
27
23
  end
28
24
  end
29
25
 
26
+ def client
27
+ Restforce.new.tap(&:authenticate!)
28
+ end
29
+
30
30
  def start_em
31
31
  EM.run do
32
32
  @push_topics.map do |topic|
33
- @client.subscribe topic.name, replay: topic.replay.to_i do |msg|
33
+ client.subscribe topic.name, replay: topic.replay.to_i do |msg|
34
34
  Log.info "Message received from topic #{topic.name}"
35
35
  MessageReceiver.call topic.name, topic.handler_constant, msg
36
36
  end
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module SalesforceStreamer
4
2
  class TopicManager
5
3
  attr_reader :push_topics
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module SalesforceStreamer
4
- VERSION = '0.3.0'
2
+ VERSION = '0.4.0'.freeze
5
3
  end
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'faye'
4
2
  require 'logger'
5
3
  require 'optparse'
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  lib = File.expand_path('lib', __dir__)
4
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
3
  require 'salesforce_streamer/version'
@@ -10,24 +8,13 @@ Gem::Specification.new do |spec|
10
8
  spec.authors = ['Scott Serok']
11
9
  spec.email = ['scott@renofi.com']
12
10
 
13
- spec.summary = 'A wrapper around the Restforce Streaming API.'
14
- spec.description = 'A wrapper around the Restforce Streaming API.'
11
+ spec.summary = 'A wrapper around the Restforce Streaming API with a built-in PushTopic manager.'
15
12
  spec.homepage = 'https://github.com/renofi/salesforce_streamer'
16
13
  spec.license = 'MIT'
17
14
 
18
- # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
19
- # to allow pushing to a single host or delete this section to allow pushing to any host.
20
- if spec.respond_to?(:metadata)
21
- spec.metadata['homepage_uri'] = spec.homepage
22
- spec.metadata['source_code_uri'] = spec.homepage
23
- spec.metadata['changelog_uri'] = spec.homepage
24
- else
25
- raise 'RubyGems 2.0 or newer is required to protect against ' \
26
- 'public gem pushes.'
27
- end
15
+ spec.metadata['homepage_uri'] = spec.homepage
16
+ spec.metadata['source_code_uri'] = spec.homepage
28
17
 
29
- # Specify which files should be added to the gem when it is released.
30
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
31
18
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
32
19
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
33
20
  end
@@ -35,11 +22,13 @@ Gem::Specification.new do |spec|
35
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
36
23
  spec.require_paths = ['lib']
37
24
 
38
- spec.add_development_dependency 'bundler', '~> 2.0'
39
- spec.add_development_dependency 'byebug', '~> 11.0.1'
40
- spec.add_development_dependency 'codecov', '~> 0.1.14'
41
- spec.add_development_dependency 'rake', '~> 10.0'
42
- spec.add_development_dependency 'rspec', '~> 3.0'
43
25
  spec.add_dependency 'faye', '0.8.9'
44
- spec.add_dependency 'restforce', '~> 3.1.0'
26
+ spec.add_dependency 'restforce', '~> 4.2'
27
+
28
+ spec.add_development_dependency 'byebug'
29
+ spec.add_development_dependency 'codecov'
30
+ spec.add_development_dependency 'rake'
31
+ spec.add_development_dependency 'rspec'
32
+ spec.add_development_dependency 'rubocop'
33
+ spec.add_development_dependency 'rubocop-performance'
45
34
  end
metadata CHANGED
@@ -1,114 +1,128 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: salesforce_streamer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Serok
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-29 00:00:00.000000000 Z
11
+ date: 2019-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: faye
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 0.8.9
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 0.8.9
27
+ - !ruby/object:Gem::Dependency
28
+ name: restforce
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
31
  - - "~>"
18
32
  - !ruby/object:Gem::Version
19
- version: '2.0'
20
- type: :development
33
+ version: '4.2'
34
+ type: :runtime
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
38
  - - "~>"
25
39
  - !ruby/object:Gem::Version
26
- version: '2.0'
40
+ version: '4.2'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: byebug
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - "~>"
45
+ - - ">="
32
46
  - !ruby/object:Gem::Version
33
- version: 11.0.1
47
+ version: '0'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - "~>"
52
+ - - ">="
39
53
  - !ruby/object:Gem::Version
40
- version: 11.0.1
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: codecov
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - "~>"
59
+ - - ">="
46
60
  - !ruby/object:Gem::Version
47
- version: 0.1.14
61
+ version: '0'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - "~>"
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
- version: 0.1.14
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rake
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - "~>"
73
+ - - ">="
60
74
  - !ruby/object:Gem::Version
61
- version: '10.0'
75
+ version: '0'
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - "~>"
80
+ - - ">="
67
81
  - !ruby/object:Gem::Version
68
- version: '10.0'
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rspec
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - "~>"
87
+ - - ">="
74
88
  - !ruby/object:Gem::Version
75
- version: '3.0'
89
+ version: '0'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - "~>"
94
+ - - ">="
81
95
  - !ruby/object:Gem::Version
82
- version: '3.0'
96
+ version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
- name: faye
98
+ name: rubocop
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - '='
101
+ - - ">="
88
102
  - !ruby/object:Gem::Version
89
- version: 0.8.9
90
- type: :runtime
103
+ version: '0'
104
+ type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - '='
108
+ - - ">="
95
109
  - !ruby/object:Gem::Version
96
- version: 0.8.9
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
- name: restforce
112
+ name: rubocop-performance
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - "~>"
115
+ - - ">="
102
116
  - !ruby/object:Gem::Version
103
- version: 3.1.0
104
- type: :runtime
117
+ version: '0'
118
+ type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
- - - "~>"
122
+ - - ">="
109
123
  - !ruby/object:Gem::Version
110
- version: 3.1.0
111
- description: A wrapper around the Restforce Streaming API.
124
+ version: '0'
125
+ description:
112
126
  email:
113
127
  - scott@renofi.com
114
128
  executables:
@@ -118,6 +132,8 @@ extra_rdoc_files: []
118
132
  files:
119
133
  - ".gitignore"
120
134
  - ".rspec"
135
+ - ".rubocop.yml"
136
+ - ".ruby-version"
121
137
  - ".travis.yml"
122
138
  - CODE_OF_CONDUCT.md
123
139
  - Gemfile
@@ -150,7 +166,6 @@ licenses:
150
166
  metadata:
151
167
  homepage_uri: https://github.com/renofi/salesforce_streamer
152
168
  source_code_uri: https://github.com/renofi/salesforce_streamer
153
- changelog_uri: https://github.com/renofi/salesforce_streamer
154
169
  post_install_message:
155
170
  rdoc_options: []
156
171
  require_paths:
@@ -169,5 +184,5 @@ requirements: []
169
184
  rubygems_version: 3.0.6
170
185
  signing_key:
171
186
  specification_version: 4
172
- summary: A wrapper around the Restforce Streaming API.
187
+ summary: A wrapper around the Restforce Streaming API with a built-in PushTopic manager.
173
188
  test_files: []