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

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: 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: []