marketo_api 0.1.1.pre.alpha → 0.3.0.pre.alpha

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
  SHA256:
3
- metadata.gz: b66ff88fcb787f69745f1119bfa69298cca89aec9e3446a12cc5688e3b4cf2f5
4
- data.tar.gz: 7bbbed4b3ba4c557dd54f3ad212f8029fcbbd953d5537ab7e16c39c58ea46a71
3
+ metadata.gz: 621998d3de29611ae32a2da7e8501ea13ea0384434126e4de6e8e8802c00bfb5
4
+ data.tar.gz: 9eff51f7105d9e8f369f6e60fddbb18f096eeaa4b1086667f0d235686728b25f
5
5
  SHA512:
6
- metadata.gz: b9db3ec1fe011c9e759ed589e2ca17baac5bd5f35ab56f096e2c9ab8c232b225b80d55cdf97755372607cc9905008a45c0d38c1b3991cd76925d7df1aa267c92
7
- data.tar.gz: 39b6e083bf6123d7021e7186df8eb651d07516022eb3e81c4e4f5d54a4dac94d6181123473ab63dec28aead571dd7c74d8b049e702edd61e01d79d69579aae10
6
+ metadata.gz: c7c25909ea2fd725ebc104199697787d902a28b6670d0d9a3d95d1a06f2b660d2702fbbd8b5569a683a0796f2c8e36d14f020411bdd28462ed90fc3f2c29d2b9
7
+ data.tar.gz: b7e76af0270a5425e83c659b70dbc8e2ed4e6083a2f9cffff951ff054a93f417e4407228f21bccf544cc0b7c2a627600c6ab2f812bea57b71e40ca1ab321e469
data/.gitignore CHANGED
@@ -1,4 +1,5 @@
1
1
  .DS_Store
2
+ .idea
2
3
  *.gem
3
4
  *.rbc
4
5
  test.rb
@@ -20,5 +21,4 @@ tmp
20
21
  .ruby-version
21
22
  *.swp
22
23
  junk.rb
23
- Gemfile.lock
24
24
  tags
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,44 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2023-06-22 18:49:35 UTC using RuboCop version 1.52.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 4
10
+ # This cop supports safe autocorrection (--autocorrect).
11
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
12
+ # SupportedStyles: with_first_argument, with_fixed_indentation
13
+ Layout/ArgumentAlignment:
14
+ Exclude:
15
+ - 'bin/_guard-core'
16
+ - 'bin/guard'
17
+ - 'bin/rake'
18
+ - 'bin/rspec'
19
+
20
+ # Offense count: 4
21
+ # This cop supports safe autocorrection (--autocorrect).
22
+ Layout/EmptyLineAfterMagicComment:
23
+ Exclude:
24
+ - 'bin/_guard-core'
25
+ - 'bin/guard'
26
+ - 'bin/rake'
27
+ - 'bin/rspec'
28
+
29
+ # Offense count: 2
30
+ # This cop supports unsafe autocorrection (--autocorrect-all).
31
+ # Configuration parameters: EnforcedStyle.
32
+ # SupportedStyles: always, always_true, never
33
+ Style/FrozenStringLiteralComment:
34
+ Exclude:
35
+ - 'Rakefile'
36
+ - 'bin/console'
37
+
38
+ # Offense count: 1
39
+ # This cop supports safe autocorrection (--autocorrect).
40
+ # Configuration parameters: EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
41
+ # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
42
+ # SupportedShorthandSyntax: always, never, either, consistent
43
+ Style/HashSyntax:
44
+ EnforcedStyle: hash_rockets
data/Gemfile.lock CHANGED
@@ -1,110 +1,125 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- marketo_api (0.1.1.pre.alpha)
5
- faraday (~> 0.12.2)
6
- faraday_middleware (~> 0.11.0.1)
7
- hashie (~> 3.5.6)
8
- json (>= 1.7.5)
4
+ marketo_api (0.3.0.pre.alpha)
5
+ faraday (~> 2.7.10)
6
+ faraday-follow_redirects (~> 0.3.0)
7
+ faraday-http-cache (~> 2.2)
8
+ hashie
9
+ json
9
10
 
10
11
  GEM
11
12
  remote: https://rubygems.org/
12
13
  specs:
13
- addressable (2.5.1)
14
- public_suffix (~> 2.0, >= 2.0.2)
15
- ast (2.3.0)
16
- coderay (1.1.1)
17
- crack (0.4.3)
18
- safe_yaml (~> 1.0.0)
19
- diff-lcs (1.3)
20
- docile (1.1.5)
21
- faraday (0.12.2)
22
- multipart-post (>= 1.2, < 3)
23
- faraday_middleware (0.11.0.1)
24
- faraday (>= 0.7.4, < 1.0)
25
- ffi (1.9.18)
26
- formatador (0.2.5)
27
- guard (2.14.1)
14
+ addressable (2.8.4)
15
+ public_suffix (>= 2.0.2, < 6.0)
16
+ ast (2.4.2)
17
+ coderay (1.1.3)
18
+ crack (0.4.5)
19
+ rexml
20
+ diff-lcs (1.5.0)
21
+ docile (1.4.0)
22
+ faraday (2.7.10)
23
+ faraday-net_http (>= 2.0, < 3.1)
24
+ ruby2_keywords (>= 0.0.4)
25
+ faraday-follow_redirects (0.3.0)
26
+ faraday (>= 1, < 3)
27
+ faraday-http-cache (2.5.0)
28
+ faraday (>= 0.8)
29
+ faraday-net_http (3.0.2)
30
+ ffi (1.15.5)
31
+ formatador (1.1.0)
32
+ guard (2.18.0)
28
33
  formatador (>= 0.2.4)
29
34
  listen (>= 2.7, < 4.0)
30
- lumberjack (~> 1.0)
35
+ lumberjack (>= 1.0.12, < 2.0)
31
36
  nenv (~> 0.1)
32
37
  notiffany (~> 0.0)
33
- pry (>= 0.9.12)
38
+ pry (>= 0.13.0)
34
39
  shellany (~> 0.0)
35
40
  thor (>= 0.18.1)
36
- guard-rspec (4.3.1)
41
+ guard-compat (1.2.1)
42
+ guard-rspec (4.7.3)
37
43
  guard (~> 2.1)
38
- rspec (>= 2.14, < 4.0)
39
- guard-rubocop (1.3.0)
44
+ guard-compat (~> 1.1)
45
+ rspec (>= 2.99.0, < 4.0)
46
+ guard-rubocop (1.5.0)
40
47
  guard (~> 2.0)
41
- rubocop (~> 0.20)
42
- hashie (3.5.7)
43
- json (2.1.0)
44
- listen (3.1.5)
45
- rb-fsevent (~> 0.9, >= 0.9.4)
46
- rb-inotify (~> 0.9, >= 0.9.7)
47
- ruby_dep (~> 1.2)
48
- lumberjack (1.0.12)
49
- method_source (0.8.2)
50
- multipart-post (2.0.0)
48
+ rubocop (< 2.0)
49
+ hashdiff (1.0.1)
50
+ hashie (5.0.0)
51
+ json (2.6.3)
52
+ language_server-protocol (3.17.0.3)
53
+ listen (3.8.0)
54
+ rb-fsevent (~> 0.10, >= 0.10.3)
55
+ rb-inotify (~> 0.9, >= 0.9.10)
56
+ lumberjack (1.2.9)
57
+ method_source (1.0.0)
51
58
  nenv (0.3.0)
52
- notiffany (0.1.1)
59
+ notiffany (0.1.3)
53
60
  nenv (~> 0.1)
54
61
  shellany (~> 0.0)
55
- parallel (1.12.0)
56
- parser (2.4.0.0)
57
- ast (~> 2.2)
58
- powerpack (0.1.1)
59
- pry (0.10.4)
60
- coderay (~> 1.1.0)
61
- method_source (~> 0.8.1)
62
- slop (~> 3.4)
63
- public_suffix (2.0.5)
64
- rainbow (2.2.2)
65
- rake
66
- rake (12.0.0)
67
- rb-fsevent (0.9.8)
68
- rb-inotify (0.9.10)
69
- ffi (>= 0.5.0, < 2)
70
- rspec (3.6.0)
71
- rspec-core (~> 3.6.0)
72
- rspec-expectations (~> 3.6.0)
73
- rspec-mocks (~> 3.6.0)
74
- rspec-core (3.6.0)
75
- rspec-support (~> 3.6.0)
76
- rspec-expectations (3.6.0)
62
+ parallel (1.23.0)
63
+ parser (3.2.2.3)
64
+ ast (~> 2.4.1)
65
+ racc
66
+ pry (0.14.2)
67
+ coderay (~> 1.1)
68
+ method_source (~> 1.0)
69
+ public_suffix (5.0.3)
70
+ racc (1.7.1)
71
+ rainbow (3.1.1)
72
+ rake (13.0.6)
73
+ rb-fsevent (0.11.2)
74
+ rb-inotify (0.10.1)
75
+ ffi (~> 1.0)
76
+ regexp_parser (2.8.1)
77
+ rexml (3.2.6)
78
+ rspec (3.12.0)
79
+ rspec-core (~> 3.12.0)
80
+ rspec-expectations (~> 3.12.0)
81
+ rspec-mocks (~> 3.12.0)
82
+ rspec-core (3.12.2)
83
+ rspec-support (~> 3.12.0)
84
+ rspec-expectations (3.12.3)
77
85
  diff-lcs (>= 1.2.0, < 2.0)
78
- rspec-support (~> 3.6.0)
79
- rspec-mocks (3.6.0)
86
+ rspec-support (~> 3.12.0)
87
+ rspec-mocks (3.12.6)
80
88
  diff-lcs (>= 1.2.0, < 2.0)
81
- rspec-support (~> 3.6.0)
82
- rspec-support (3.6.0)
83
- rubocop (0.49.1)
89
+ rspec-support (~> 3.12.0)
90
+ rspec-support (3.12.1)
91
+ rubocop (1.55.0)
92
+ json (~> 2.3)
93
+ language_server-protocol (>= 3.17.0)
84
94
  parallel (~> 1.10)
85
- parser (>= 2.3.3.1, < 3.0)
86
- powerpack (~> 0.1)
87
- rainbow (>= 1.99.1, < 3.0)
95
+ parser (>= 3.2.2.3)
96
+ rainbow (>= 2.2.2, < 4.0)
97
+ regexp_parser (>= 1.8, < 3.0)
98
+ rexml (>= 3.2.5, < 4.0)
99
+ rubocop-ast (>= 1.28.1, < 2.0)
88
100
  ruby-progressbar (~> 1.7)
89
- unicode-display_width (~> 1.0, >= 1.0.1)
90
- ruby-progressbar (1.8.1)
91
- ruby_dep (1.5.0)
92
- safe_yaml (1.0.4)
101
+ unicode-display_width (>= 2.4.0, < 3.0)
102
+ rubocop-ast (1.29.0)
103
+ parser (>= 3.2.1.0)
104
+ ruby-progressbar (1.13.0)
105
+ ruby2_keywords (0.0.5)
93
106
  shellany (0.0.1)
94
- simplecov (0.14.1)
95
- docile (~> 1.1.0)
96
- json (>= 1.8, < 3)
97
- simplecov-html (~> 0.10.0)
98
- simplecov-html (0.10.1)
99
- slop (3.6.0)
100
- thor (0.19.4)
101
- unicode-display_width (1.3.0)
102
- webmock (1.13.0)
103
- addressable (>= 2.2.7)
107
+ simplecov (0.22.0)
108
+ docile (~> 1.1)
109
+ simplecov-html (~> 0.11)
110
+ simplecov_json_formatter (~> 0.1)
111
+ simplecov-html (0.12.3)
112
+ simplecov_json_formatter (0.1.4)
113
+ thor (1.2.2)
114
+ unicode-display_width (2.4.2)
115
+ webmock (3.18.1)
116
+ addressable (>= 2.8.0)
104
117
  crack (>= 0.3.2)
118
+ hashdiff (>= 0.4.0, < 2.0.0)
105
119
 
106
120
  PLATFORMS
107
- ruby
121
+ arm64-darwin-21
122
+ x86_64-darwin-22
108
123
 
109
124
  DEPENDENCIES
110
125
  guard
@@ -112,11 +127,11 @@ DEPENDENCIES
112
127
  guard-rubocop
113
128
  marketo_api!
114
129
  pry
115
- rake (~> 12.0.0)
116
- rspec (~> 3.6.0)
117
- rubocop (~> 0.49.1)
118
- simplecov (~> 0.14.1)
119
- webmock (~> 1.13.0)
130
+ rake
131
+ rspec
132
+ rubocop
133
+ simplecov
134
+ webmock
120
135
 
121
136
  BUNDLED WITH
122
- 1.16.0
137
+ 2.4.10
@@ -19,6 +19,14 @@ module MarketoApi
19
19
  def cache
20
20
  options[:cache]
21
21
  end
22
+
23
+ def options_with_custom_strategy
24
+ {
25
+ :strategy => MarketoApi::Middleware::CachingStrategy,
26
+ :store => cache,
27
+ **options
28
+ }
29
+ end
22
30
  end
23
31
  end
24
32
  end
@@ -23,7 +23,7 @@ module MarketoApi
23
23
  # Converts the request into JSON.
24
24
  builder.request(:json)
25
25
 
26
- # Handles reauthentication for 403 responses.
26
+ # Handles re-authentication for 403 responses.
27
27
  if authentication_middleware
28
28
  builder.use(authentication_middleware, self, options)
29
29
  end
@@ -35,10 +35,10 @@ module MarketoApi
35
35
  # builder.use(MarketoApi::Middleware::InstanceURL, self, options)
36
36
 
37
37
  # Caches GET requests.
38
- builder.use(MarketoApi::Middleware::Caching, cache, options) if cache
38
+ builder.use(MarketoApi::Middleware::Caching, options_with_custom_strategy) if cache
39
39
 
40
40
  # Follows 30x redirects.
41
- builder.use(FaradayMiddleware::FollowRedirects)
41
+ builder.response(:follow_redirects)
42
42
 
43
43
  # Raises errors for 40x responses.
44
44
  builder.use(MarketoApi::Middleware::RaiseError)
@@ -1,26 +1,32 @@
1
1
  module MarketoApi
2
- class Middleware::Caching < FaradayMiddleware::Caching
2
+ class Middleware::Caching < Faraday::HttpCache
3
3
  def call(env)
4
- expire(cache_key(env)) unless use_cache?
4
+ unless use_cache?
5
+ expire(@strategy.cache_key_for(
6
+ env[:url],
7
+ env[:request_headers][MarketoApi::Middleware::Authorization::AUTH_HEADER]
8
+ ))
9
+ end
5
10
  super
6
11
  end
7
12
 
8
13
  def expire(key)
9
- cache.delete(key) if cache
14
+ @strategy.delete(key)
10
15
  end
11
16
 
12
- # We don't want to cache requests for different clients, so append the
13
- # oauth token to the cache key.
14
- def cache_key(env)
15
- super(env) + hashed_auth_header(env)
17
+ def delete(request, response)
18
+ headers = %w[Location Content-Location]
19
+ headers.each do |header|
20
+ url = response.headers[header]
21
+ @strategy.delete(request, url) if url
22
+ end
23
+
24
+ @strategy.delete(request, request.url)
25
+ trace :delete
16
26
  end
17
27
 
18
28
  def use_cache?
19
29
  @options.fetch(:use_cache, true)
20
30
  end
21
-
22
- def hashed_auth_header(env)
23
- Digest::SHA1.hexdigest(env[:request_headers][MarketoApi::Middleware::Authorization::AUTH_HEADER])
24
- end
25
31
  end
26
32
  end
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'digest/sha1'
4
+
5
+ module MarketoApi
6
+ class Middleware::CachingStrategy < Faraday::HttpCache::Strategies::BaseStrategy
7
+ def write(request, response)
8
+ oauth_token = get_oauth_token(request)
9
+ key = cache_key_for(request.url, oauth_token)
10
+ entry = serialize_entry(request.serializable_hash, response.serializable_hash)
11
+ entries = cache.read(key) || []
12
+ entries = entries.dup if entries.frozen?
13
+ entries.reject! do |(cached_request, cached_response)|
14
+ response_matches?(request, deserialize_object(cached_request), deserialize_object(cached_response))
15
+ end
16
+
17
+ entries << entry
18
+
19
+ cache.write(key, entries)
20
+ rescue ::Encoding::UndefinedConversionError => e
21
+ warn "Response could not be serialized: #{e.message}. Try using Marshal to serialize."
22
+ raise e
23
+ end
24
+
25
+ def read(request)
26
+ oauth_token = get_oauth_token(request)
27
+ cache_key = cache_key_for(request.url, oauth_token)
28
+ entries = cache.read(cache_key)
29
+ response = lookup_response(request, entries)
30
+ return nil unless response
31
+
32
+ Faraday::HttpCache::Response.new(response)
33
+ end
34
+
35
+ def delete(request, url)
36
+ oauth_token = get_oauth_token(request)
37
+ cache_key = cache_key_for(url, oauth_token)
38
+ cache.delete(cache_key)
39
+ end
40
+
41
+ # We don't want to cache requests for different clients, so append the
42
+ # oauth token to the cache key.
43
+ def cache_key_for(url, oauth_token)
44
+ Digest::SHA1.hexdigest("#{@cache_salt}#{url}") + Digest::SHA1.hexdigest(oauth_token)
45
+ end
46
+
47
+ private
48
+
49
+ def lookup_response(request, entries)
50
+ if entries
51
+ entries = entries.map { |entry| deserialize_entry(*entry) }
52
+ _, response = entries.find { |req, res| response_matches?(request, req, res) }
53
+ response
54
+ end
55
+ end
56
+
57
+ def response_matches?(request, cached_request, cached_response)
58
+ request.method.to_s == cached_request[:method].to_s &&
59
+ vary_matches?(cached_response, request, cached_request)
60
+ end
61
+
62
+ def vary_matches?(cached_response, request, cached_request)
63
+ headers = Faraday::Utils::Headers.new(cached_response[:response_headers])
64
+ vary = headers['Vary'].to_s
65
+
66
+ vary.empty? || (vary != '*' && vary.split(/[\s,]+/).all? do |header|
67
+ request.headers[header] == cached_request[:headers][header]
68
+ end)
69
+ end
70
+
71
+ def get_oauth_token(request)
72
+ request.headers[MarketoApi::Middleware::Authorization::AUTH_HEADER]
73
+ end
74
+ end
75
+ end
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'forwardable'
2
4
 
3
5
  module MarketoApi
4
- class Middleware::Logger < Faraday::Response::Middleware
6
+ class Middleware::Logger < Faraday::Middleware
5
7
  extend Forwardable
6
8
 
7
9
  def initialize(app, logger, options)
@@ -9,7 +11,7 @@ module MarketoApi
9
11
  @options = options
10
12
  @logger = logger || begin
11
13
  require 'logger'
12
- ::Logger.new(STDOUT)
14
+ ::Logger.new($stdout)
13
15
  end
14
16
  end
15
17
 
@@ -17,19 +19,26 @@ module MarketoApi
17
19
 
18
20
  def call(env)
19
21
  debug('request') do
20
- dump url: env[:url].to_s,
21
- method: env[:method],
22
- headers: env[:request_headers],
23
- body: env[:body]
22
+ dump :url => env[:url].to_s,
23
+ :method => env[:method],
24
+ :headers => env[:request_headers],
25
+ :body => env[:body]
24
26
  end
25
27
  super
26
28
  end
27
29
 
28
30
  def on_complete(env)
29
31
  debug('response') do
30
- dump status: env[:status].to_s,
31
- headers: env[:response_headers],
32
- body: env[:body]
32
+ dump :status => env[:status].to_s,
33
+ :headers => env[:response_headers],
34
+ :body => env[:body]
35
+ end
36
+ end
37
+
38
+ def on_error(exc)
39
+ debug('response') do
40
+ dump :details => "#{self.class.name}::#{__method__} - Exception: #{exc.message}",
41
+ :backtrace => exc.backtrace.join("\n")
33
42
  end
34
43
  end
35
44
 
@@ -1,5 +1,5 @@
1
1
  module MarketoApi
2
- class Middleware::RaiseError < Faraday::Response::Middleware
2
+ class Middleware::RaiseError < Faraday::Middleware
3
3
  def on_complete(env)
4
4
  @env = env
5
5
  case env[:status]
@@ -38,9 +38,9 @@ module MarketoApi
38
38
 
39
39
  def response_values
40
40
  {
41
- status: @env[:status],
42
- headers: @env[:response_headers],
43
- body: @env[:body]
41
+ :status => @env[:status],
42
+ :headers => @env[:response_headers],
43
+ :body => @env[:body]
44
44
  }
45
45
  end
46
46
  end
@@ -6,6 +6,7 @@ module MarketoApi
6
6
  autoload :Authentication, 'marketo_api/middleware/authentication'
7
7
  autoload :Authorization, 'marketo_api/middleware/authorization'
8
8
  autoload :Caching, 'marketo_api/middleware/caching'
9
+ autoload :CachingStrategy,'marketo_api/middleware/caching_strategy'
9
10
  autoload :Logger, 'marketo_api/middleware/logger'
10
11
 
11
12
  def initialize(app, client, options)
@@ -1,3 +1,3 @@
1
1
  module MarketoApi
2
- VERSION = '0.1.1-alpha'.freeze
2
+ VERSION = '0.3.0-alpha'.freeze
3
3
  end
data/lib/marketo_api.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'faraday'
2
- require 'faraday_middleware'
2
+ require 'faraday/follow_redirects'
3
+ require 'faraday-http-cache'
3
4
  require 'json'
4
5
 
5
6
  require 'marketo_api/version'
data/marketo_api.gemspec CHANGED
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require 'marketo_api/version'
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.authors = ['Ami Bhatt', 'Mohnish Thallavajhula']
8
+ spec.authors = ['Marketo Sales Connect Team']
9
9
  spec.name = 'marketo_api'
10
10
  spec.version = MarketoApi::VERSION
11
11
  spec.summary = spec.description = %q{Marketo REST API ruby gem}
@@ -18,20 +18,21 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.required_ruby_version = '>= 2.0'
21
+ spec.required_ruby_version = '>= 3.0'
22
22
 
23
- spec.add_dependency 'faraday_middleware', '~> 0.11.0.1'
24
- spec.add_dependency 'faraday', '~> 0.12.2'
25
- spec.add_dependency 'hashie', '~> 3.5.6'
26
- spec.add_dependency 'json', '>= 1.7.5'
23
+ spec.add_dependency 'faraday', '~> 2.7.10'
24
+ spec.add_dependency 'faraday-follow_redirects', '~> 0.3.0'
25
+ spec.add_dependency 'faraday-http-cache', '~> 2.2'
26
+ spec.add_dependency 'hashie'
27
+ spec.add_dependency 'json'
27
28
 
28
- spec.add_development_dependency 'rake', '~> 12.0.0'
29
- spec.add_development_dependency 'rspec', '~> 3.6.0'
29
+ spec.add_development_dependency 'rake'
30
+ spec.add_development_dependency 'rspec'
30
31
  spec.add_development_dependency 'pry'
31
32
  spec.add_development_dependency 'guard'
32
33
  spec.add_development_dependency 'guard-rspec'
33
34
  spec.add_development_dependency 'guard-rubocop'
34
- spec.add_development_dependency 'rubocop', '~> 0.49.1'
35
- spec.add_development_dependency 'simplecov', '~> 0.14.1'
36
- spec.add_development_dependency 'webmock', '~> 1.13.0'
35
+ spec.add_development_dependency 'rubocop'
36
+ spec.add_development_dependency 'simplecov'
37
+ spec.add_development_dependency 'webmock'
37
38
  end
metadata CHANGED
@@ -1,100 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marketo_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1.pre.alpha
4
+ version: 0.3.0.pre.alpha
5
5
  platform: ruby
6
6
  authors:
7
- - Ami Bhatt
8
- - Mohnish Thallavajhula
9
- autorequire:
7
+ - Marketo Sales Connect Team
8
+ autorequire:
10
9
  bindir: exe
11
10
  cert_chain: []
12
- date: 2018-07-09 00:00:00.000000000 Z
11
+ date: 2023-08-14 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: faraday_middleware
14
+ name: faraday
16
15
  requirement: !ruby/object:Gem::Requirement
17
16
  requirements:
18
17
  - - "~>"
19
18
  - !ruby/object:Gem::Version
20
- version: 0.11.0.1
19
+ version: 2.7.10
21
20
  type: :runtime
22
21
  prerelease: false
23
22
  version_requirements: !ruby/object:Gem::Requirement
24
23
  requirements:
25
24
  - - "~>"
26
25
  - !ruby/object:Gem::Version
27
- version: 0.11.0.1
26
+ version: 2.7.10
28
27
  - !ruby/object:Gem::Dependency
29
- name: faraday
28
+ name: faraday-follow_redirects
30
29
  requirement: !ruby/object:Gem::Requirement
31
30
  requirements:
32
31
  - - "~>"
33
32
  - !ruby/object:Gem::Version
34
- version: 0.12.2
33
+ version: 0.3.0
35
34
  type: :runtime
36
35
  prerelease: false
37
36
  version_requirements: !ruby/object:Gem::Requirement
38
37
  requirements:
39
38
  - - "~>"
40
39
  - !ruby/object:Gem::Version
41
- version: 0.12.2
40
+ version: 0.3.0
42
41
  - !ruby/object:Gem::Dependency
43
- name: hashie
42
+ name: faraday-http-cache
44
43
  requirement: !ruby/object:Gem::Requirement
45
44
  requirements:
46
45
  - - "~>"
47
46
  - !ruby/object:Gem::Version
48
- version: 3.5.6
47
+ version: '2.2'
49
48
  type: :runtime
50
49
  prerelease: false
51
50
  version_requirements: !ruby/object:Gem::Requirement
52
51
  requirements:
53
52
  - - "~>"
54
53
  - !ruby/object:Gem::Version
55
- version: 3.5.6
54
+ version: '2.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: hashie
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
56
69
  - !ruby/object:Gem::Dependency
57
70
  name: json
58
71
  requirement: !ruby/object:Gem::Requirement
59
72
  requirements:
60
73
  - - ">="
61
74
  - !ruby/object:Gem::Version
62
- version: 1.7.5
75
+ version: '0'
63
76
  type: :runtime
64
77
  prerelease: false
65
78
  version_requirements: !ruby/object:Gem::Requirement
66
79
  requirements:
67
80
  - - ">="
68
81
  - !ruby/object:Gem::Version
69
- version: 1.7.5
82
+ version: '0'
70
83
  - !ruby/object:Gem::Dependency
71
84
  name: rake
72
85
  requirement: !ruby/object:Gem::Requirement
73
86
  requirements:
74
- - - "~>"
87
+ - - ">="
75
88
  - !ruby/object:Gem::Version
76
- version: 12.0.0
89
+ version: '0'
77
90
  type: :development
78
91
  prerelease: false
79
92
  version_requirements: !ruby/object:Gem::Requirement
80
93
  requirements:
81
- - - "~>"
94
+ - - ">="
82
95
  - !ruby/object:Gem::Version
83
- version: 12.0.0
96
+ version: '0'
84
97
  - !ruby/object:Gem::Dependency
85
98
  name: rspec
86
99
  requirement: !ruby/object:Gem::Requirement
87
100
  requirements:
88
- - - "~>"
101
+ - - ">="
89
102
  - !ruby/object:Gem::Version
90
- version: 3.6.0
103
+ version: '0'
91
104
  type: :development
92
105
  prerelease: false
93
106
  version_requirements: !ruby/object:Gem::Requirement
94
107
  requirements:
95
- - - "~>"
108
+ - - ">="
96
109
  - !ruby/object:Gem::Version
97
- version: 3.6.0
110
+ version: '0'
98
111
  - !ruby/object:Gem::Dependency
99
112
  name: pry
100
113
  requirement: !ruby/object:Gem::Requirement
@@ -155,46 +168,46 @@ dependencies:
155
168
  name: rubocop
156
169
  requirement: !ruby/object:Gem::Requirement
157
170
  requirements:
158
- - - "~>"
171
+ - - ">="
159
172
  - !ruby/object:Gem::Version
160
- version: 0.49.1
173
+ version: '0'
161
174
  type: :development
162
175
  prerelease: false
163
176
  version_requirements: !ruby/object:Gem::Requirement
164
177
  requirements:
165
- - - "~>"
178
+ - - ">="
166
179
  - !ruby/object:Gem::Version
167
- version: 0.49.1
180
+ version: '0'
168
181
  - !ruby/object:Gem::Dependency
169
182
  name: simplecov
170
183
  requirement: !ruby/object:Gem::Requirement
171
184
  requirements:
172
- - - "~>"
185
+ - - ">="
173
186
  - !ruby/object:Gem::Version
174
- version: 0.14.1
187
+ version: '0'
175
188
  type: :development
176
189
  prerelease: false
177
190
  version_requirements: !ruby/object:Gem::Requirement
178
191
  requirements:
179
- - - "~>"
192
+ - - ">="
180
193
  - !ruby/object:Gem::Version
181
- version: 0.14.1
194
+ version: '0'
182
195
  - !ruby/object:Gem::Dependency
183
196
  name: webmock
184
197
  requirement: !ruby/object:Gem::Requirement
185
198
  requirements:
186
- - - "~>"
199
+ - - ">="
187
200
  - !ruby/object:Gem::Version
188
- version: 1.13.0
201
+ version: '0'
189
202
  type: :development
190
203
  prerelease: false
191
204
  version_requirements: !ruby/object:Gem::Requirement
192
205
  requirements:
193
- - - "~>"
206
+ - - ">="
194
207
  - !ruby/object:Gem::Version
195
- version: 1.13.0
208
+ version: '0'
196
209
  description: Marketo REST API ruby gem
197
- email:
210
+ email:
198
211
  executables:
199
212
  - ".keep"
200
213
  extensions: []
@@ -204,6 +217,7 @@ files:
204
217
  - ".github/PULL_REQUEST_TEMPLATE.md"
205
218
  - ".gitignore"
206
219
  - ".rubocop.yml"
220
+ - ".rubocop_todo.yml"
207
221
  - ".travis.yml"
208
222
  - CODE_OF_CONDUCT.md
209
223
  - Gemfile
@@ -241,6 +255,7 @@ files:
241
255
  - lib/marketo_api/middleware/authentication/token.rb
242
256
  - lib/marketo_api/middleware/authorization.rb
243
257
  - lib/marketo_api/middleware/caching.rb
258
+ - lib/marketo_api/middleware/caching_strategy.rb
244
259
  - lib/marketo_api/middleware/logger.rb
245
260
  - lib/marketo_api/middleware/raise_error.rb
246
261
  - lib/marketo_api/version.rb
@@ -249,7 +264,7 @@ homepage: https://github.com/toutapp/marketo_api
249
264
  licenses:
250
265
  - MIT
251
266
  metadata: {}
252
- post_install_message:
267
+ post_install_message:
253
268
  rdoc_options: []
254
269
  require_paths:
255
270
  - lib
@@ -257,16 +272,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
257
272
  requirements:
258
273
  - - ">="
259
274
  - !ruby/object:Gem::Version
260
- version: '2.0'
275
+ version: '3.0'
261
276
  required_rubygems_version: !ruby/object:Gem::Requirement
262
277
  requirements:
263
278
  - - ">"
264
279
  - !ruby/object:Gem::Version
265
280
  version: 1.3.1
266
281
  requirements: []
267
- rubyforge_project:
268
- rubygems_version: 2.7.3
269
- signing_key:
282
+ rubygems_version: 3.3.7
283
+ signing_key:
270
284
  specification_version: 4
271
285
  summary: Marketo REST API ruby gem
272
286
  test_files: []