hubspot 0.0.2 → 1.0.0

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.
Files changed (84) hide show
  1. checksums.yaml +7 -0
  2. data/lib/hubspot.rb +53 -4
  3. data/lib/hubspot/api/transaction_email/single_send.rb +37 -0
  4. data/lib/hubspot/delivery_method.rb +18 -0
  5. data/lib/hubspot/errors.rb +21 -0
  6. data/lib/hubspot/http_request.rb +44 -0
  7. data/lib/hubspot/http_response.rb +31 -0
  8. data/lib/hubspot/mailer.rb +18 -0
  9. data/lib/hubspot/object.rb +33 -0
  10. data/lib/hubspot/railtie.rb +13 -0
  11. data/lib/hubspot/transaction_email/delivery_method.rb +17 -0
  12. data/lib/hubspot/transaction_email/mailer.rb +12 -0
  13. data/lib/hubspot/version.rb +1 -1
  14. metadata +245 -158
  15. data/MIT-LICENSE +0 -20
  16. data/README.rdoc +0 -158
  17. data/Rakefile +0 -38
  18. data/app/helpers/hubspot_helper.rb +0 -17
  19. data/app/models/hubspot/base.rb +0 -40
  20. data/app/models/hubspot/blog.rb +0 -35
  21. data/app/models/hubspot/blogs/blog_association.rb +0 -35
  22. data/app/models/hubspot/blogs/comment.rb +0 -5
  23. data/app/models/hubspot/blogs/post.rb +0 -12
  24. data/app/models/hubspot/blogs/posts/comment.rb +0 -23
  25. data/app/models/hubspot/connection.rb +0 -46
  26. data/app/models/hubspot/event.rb +0 -39
  27. data/app/models/hubspot/keyword.rb +0 -49
  28. data/app/models/hubspot/lead.rb +0 -26
  29. data/app/models/hubspot/performable/event.rb +0 -67
  30. data/lib/hubspot/action_controller_extensions.rb +0 -15
  31. data/lib/hubspot/engine.rb +0 -30
  32. data/lib/tasks/hubspot_tasks.rake +0 -4
  33. data/test/dummy/README.rdoc +0 -261
  34. data/test/dummy/Rakefile +0 -7
  35. data/test/dummy/app/assets/javascripts/application.js +0 -15
  36. data/test/dummy/app/assets/stylesheets/application.css +0 -13
  37. data/test/dummy/app/controllers/application_controller.rb +0 -3
  38. data/test/dummy/app/helpers/application_helper.rb +0 -2
  39. data/test/dummy/app/views/layouts/application.html.erb +0 -14
  40. data/test/dummy/config.ru +0 -4
  41. data/test/dummy/config/application.rb +0 -56
  42. data/test/dummy/config/boot.rb +0 -10
  43. data/test/dummy/config/database.yml +0 -25
  44. data/test/dummy/config/environment.rb +0 -5
  45. data/test/dummy/config/environments/development.rb +0 -37
  46. data/test/dummy/config/environments/production.rb +0 -67
  47. data/test/dummy/config/environments/test.rb +0 -37
  48. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  49. data/test/dummy/config/initializers/inflections.rb +0 -15
  50. data/test/dummy/config/initializers/mime_types.rb +0 -5
  51. data/test/dummy/config/initializers/secret_token.rb +0 -7
  52. data/test/dummy/config/initializers/session_store.rb +0 -8
  53. data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  54. data/test/dummy/config/locales/en.yml +0 -5
  55. data/test/dummy/config/routes.rb +0 -58
  56. data/test/dummy/db/test.sqlite3 +0 -0
  57. data/test/dummy/log/test.log +0 -2326
  58. data/test/dummy/public/404.html +0 -26
  59. data/test/dummy/public/422.html +0 -26
  60. data/test/dummy/public/500.html +0 -25
  61. data/test/dummy/public/favicon.ico +0 -0
  62. data/test/dummy/script/rails +0 -6
  63. data/test/fixtures/vcr_cassettes/blog-comments.yml +0 -74
  64. data/test/fixtures/vcr_cassettes/blog-find.yml +0 -36
  65. data/test/fixtures/vcr_cassettes/blog-posts.yml +0 -75
  66. data/test/fixtures/vcr_cassettes/blogs-list.yml +0 -39
  67. data/test/fixtures/vcr_cassettes/event-create.yml +0 -36
  68. data/test/fixtures/vcr_cassettes/event-record.yml +0 -47
  69. data/test/fixtures/vcr_cassettes/events-list.yml +0 -41
  70. data/test/fixtures/vcr_cassettes/keyword-create.yml +0 -36
  71. data/test/fixtures/vcr_cassettes/keywords-list.yml +0 -385
  72. data/test/fixtures/vcr_cassettes/lead-find.yml +0 -103
  73. data/test/fixtures/vcr_cassettes/lead-update.yml +0 -239
  74. data/test/fixtures/vcr_cassettes/leads-list.yml +0 -190
  75. data/test/fixtures/vcr_cassettes/post-comments.yml +0 -72
  76. data/test/fixtures/vcr_cassettes/post-find.yml +0 -39
  77. data/test/hubspot_test.rb +0 -5
  78. data/test/test_helper.rb +0 -22
  79. data/test/unit/blog_test.rb +0 -37
  80. data/test/unit/event_test.rb +0 -21
  81. data/test/unit/keyword_test.rb +0 -22
  82. data/test/unit/lead_test.rb +0 -31
  83. data/test/unit/performable_event_test.rb +0 -22
  84. data/test/unit/post_test.rb +0 -20
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 3ee981f30172ab1c4e5036a39eea595441c685385e65729c388a8660cc85f6e3
4
+ data.tar.gz: c7e271737c34768fa555a510e5e00fd5024e575799caf812e98599c700284d7e
5
+ SHA512:
6
+ metadata.gz: 4203835be4ec47f6db2bafa6e9b2b7d0bf2c506fb65cf902cb1a72496e48350795827f65fbd6eefb087cac188b7a42d904885fd820766644117289d6139f50cd
7
+ data.tar.gz: 9e188bff0c87f84ef23fa8bf9b7bf799e5346e0ee5f6831f99bc485260d8ecee6fe590b98e296a8f8b6e5aa025a5d73b4cdd5ec7198431d619ba2d783b5d63b1
@@ -1,8 +1,57 @@
1
+ require "hubspot/version"
2
+ require "hubspot/http_request"
3
+
1
4
  module Hubspot
2
- extend ActiveSupport::Autoload
5
+ def self.configure
6
+ self.configuration ||= Configuration.new
7
+ yield(configuration)
8
+ end
3
9
 
4
- autoload :ActionControllerExtensions
5
- end
10
+ class << self
11
+ attr_accessor :configuration
12
+
13
+ def get(url, options)
14
+ raise ArgumentError, "Url can't be blank!" if url.blank?
15
+ raise ArgumentError, "Options can't be blank!" if options.blank?
16
+
17
+ Base.new.send(:get, url, options)
18
+ end
19
+
20
+ def post(url, options)
21
+ raise ArgumentError, "Url can't be blank!" if url.blank?
22
+ raise ArgumentError, "Options can't be blank!" if options.blank?
23
+
24
+ Base.new.send(:post, url, options)
25
+ end
26
+ end
6
27
 
7
- require 'hubspot/engine'
28
+ class Configuration
29
+ attr_accessor :hapikey, :user_name, :password, :address, :port
30
+
31
+ def initialize#(hapikey, user_name, password, address, port)
32
+ # @hapikey = hapikey
33
+ # @user_name = user_name
34
+ # @password = password
35
+ # @address = address
36
+ # @port = port
37
+ end
38
+
39
+ def hubspot?
40
+ ActionMailer::Base.delivery_method == :hubspot
41
+ end
42
+
43
+ def hubspot_transaction_email?
44
+ ActionMailer::Base.delivery_method == :hubspot_transaction_email
45
+ end
46
+ end
47
+
48
+ class Base < HttpRequest
49
+ def send(verb = :get, url, options)
50
+ self.method(verb).call(url, options)
51
+ end
52
+ end
53
+ end
8
54
 
55
+ require "hubspot/railtie" if defined?(Rails::Railtie)
56
+ # require "hubspot/mailer" if defined?(ActionMailer::Base)
57
+ # require "hubspot/transaction_email/mailer" if defined?(ActionMailer::Base)
@@ -0,0 +1,37 @@
1
+ require 'hubspot'
2
+
3
+ module Hubspot
4
+ module Api
5
+ module TransactionEmail
6
+ class SingleSend
7
+ class KeyError < StandardError; end
8
+
9
+ attr_accessor :hapikey
10
+
11
+ def initialize(hapikey)
12
+ @hapikey = hapikey
13
+ end
14
+
15
+ class << self
16
+ def post(options)
17
+ SingleSend.new(Hubspot.configuration.hapikey).post(options)
18
+ end
19
+ end
20
+
21
+ # TODO: DWE: if RUBY_VERSION > "2.3" See -- dig(:message, :to)
22
+ def post(options = {})
23
+ raise ArgumentError, "EmailId: Required Error" if options[:emailId].blank?
24
+ raise ArgumentError, "To: Required Error" if options[:message].blank?
25
+ raise KeyError, "Hubspot Api Key Error" if hapikey.blank?
26
+
27
+ response = Hubspot.post("/email/public/v1/singleEmail/send?hapikey=#{hapikey}", options)
28
+ if response[:status] == "200"
29
+ response
30
+ else
31
+ raise StandardError, "Something went wrong!"
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,18 @@
1
+ module Hubspot
2
+ class DeliveryMethod
3
+ def deliver!(mail)
4
+ configuration = Hubspot.configuration
5
+
6
+ smtp_user = configuration.user_name
7
+ smtp_password = configuration.password
8
+ smtp_host = configuration.address
9
+ smtp_port = configuration.port
10
+
11
+ delivery_method_options = { user_name: smtp_user, password: smtp_password, address: smtp_host, port: smtp_port, authentication: :plain, enable_starttls_auto: true }
12
+
13
+ headers = headers.merge!(delivery_method_options: delivery_method_options)
14
+
15
+ super(mail)
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,21 @@
1
+ module Hubspot
2
+ class Errors < Hash
3
+ def add(key, value, _opts = {})
4
+ self[key] ||= []
5
+ self[key] << value
6
+ self[key].uniq!
7
+ end
8
+
9
+ def add_multiple_errors(errors_hash)
10
+ errors_hash.each do |key, values|
11
+ errors_hash[key].each { |value| add(key, value) }
12
+ end
13
+ end
14
+
15
+ def each
16
+ each_key do |field|
17
+ self[field].each { |message| yield field, message }
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,44 @@
1
+ require 'net/http'
2
+ require_relative 'http_response'
3
+
4
+ module Hubspot
5
+ class HttpRequest < Object
6
+ BASE_URL = "https://api.hubapi.com"
7
+
8
+ attr_accessor :http, :uri
9
+
10
+ def initialize(debug = true)
11
+ @uri = URI(BASE_URL)
12
+ @http = Net::HTTP.new(uri.host, uri.port)
13
+
14
+ if uri.scheme == "https"
15
+ @http.use_ssl = true
16
+ @http.verify_mode = OpenSSL::SSL::VERIFY_PEER
17
+ end
18
+
19
+ @http.set_debug_output($stdout) if debug
20
+ end
21
+
22
+ def get(path, options = {})
23
+ raise ArgumentError, "Path Error" if path.blank?
24
+
25
+ body = JSON.dump(options)
26
+ request = Net::HTTP::Get.new(path, body)
27
+ response = http.request(request)
28
+
29
+ HttpResponse.call(response)
30
+ end
31
+
32
+ def post(path, options = {})
33
+ raise ArgumentError, "Path Error" if path.blank?
34
+
35
+ body = JSON.dump(options)
36
+ request = Net::HTTP::Post.new(path) # fyi: uri.path or just uri
37
+ request.add_field("Content-Type", "application/json")
38
+ request.body = body
39
+ response = http.request(request)
40
+
41
+ HttpResponse.call(response)
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,31 @@
1
+ require 'net/http'
2
+
3
+ module Hubspot
4
+ class HttpResponse < Object
5
+ attr_accessor :response
6
+
7
+ def initialize(response)
8
+ @response = response
9
+ end
10
+
11
+ def self.call(response)
12
+ new(response).constructor
13
+ end
14
+
15
+ def constructor
16
+ case response
17
+ when Net::HTTPSuccess
18
+ body = JSON.parse response.body if response.body && response.body.length >= 2
19
+ { 'body': body, 'status': response.code }
20
+ when Net::HTTPUnauthorized
21
+ { 'error' => "#{response.message}: username and password set and correct?", 'status' => response.code }
22
+ when Net::HTTPServerError
23
+ # errors.add(error: response.message, :status, response.code)
24
+ { 'error' => "#{response.message}: try again later?", 'status' => response.code }
25
+ else
26
+ # errors.add(error: response.message, :status, response.code)
27
+ { 'error' => response.message, 'status' => response.code }
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,18 @@
1
+ module Hubspot
2
+ class Mailer < ActionMailer::Base
3
+ def mail(headers = {}, &block)
4
+ configuration = Hubspot.configuration
5
+
6
+ smtp_user = configuration.user_name
7
+ smtp_password = configuration.password
8
+ smtp_host = configuration.address
9
+ smtp_port = configuration.port
10
+
11
+ delivery_method_options = { user_name: smtp_user, password: smtp_password, address: smtp_host, port: smtp_port, authentication: :plain, enable_starttls_auto: true }
12
+
13
+ headers = headers.merge!(delivery_method_options: delivery_method_options)
14
+
15
+ super
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,33 @@
1
+ require_relative 'errors'
2
+
3
+ module Hubspot
4
+ class Object
5
+ class << self
6
+ def call(*arg)
7
+ Object.new(*arg).constructor
8
+ end
9
+ end
10
+
11
+ attr_reader :result
12
+ def constructor
13
+ @result = call
14
+ self
15
+ end
16
+
17
+ def success?
18
+ !failure?
19
+ end
20
+
21
+ def failure?
22
+ errors.any?
23
+ end
24
+
25
+ def errors
26
+ @errors ||= Errors.new
27
+ end
28
+
29
+ def call
30
+ raise NotImplementedError unless defined?(super)
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,13 @@
1
+ require 'hubspot/delivery_method'
2
+ require 'hubspot/transaction_email/delivery_method'
3
+
4
+ module Hubspot
5
+ class Railtie < Rails::Railtie
6
+ initializer "hubspot.add_delivery_method" do
7
+ ActiveSupport.on_load :action_mailer do
8
+ ActionMailer::Base.add_delivery_method(:hubspot, Hubspot::DeliveryMethod)
9
+ ActionMailer::Base.add_delivery_method(:hubspot_transaction_email, Hubspot::TransactionEmail::DeliveryMethod)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,17 @@
1
+ module Hubspot
2
+ module TransactionEmail
3
+ class DeliveryMethod < ActionMailer::Base
4
+ def deliver!(mail)
5
+ raise NotImplementedError
6
+ configuration = Hubspot.configuration
7
+
8
+ smtp_user = configuration.user_name
9
+ smtp_password = configuration.password
10
+ smtp_host = configuration.address
11
+ smtp_port = configuration.port
12
+
13
+ Api::TransactionEmail::SingleSend.post()
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,12 @@
1
+ require 'hubspot/api/transaction_email/single_send'
2
+
3
+ module Hubspot
4
+ module TransactionEmail
5
+ class Mailer < ActionMailer::Base
6
+ def mail(headers = {}, &block)
7
+ attributes = { emailId: headers[:email_id], message: headers[:message] }
8
+ Api::TransactionEmail::SingleSend.post(attributes)
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,3 +1,3 @@
1
1
  module Hubspot
2
- VERSION = "0.0.2"
2
+ VERSION = "1.0.0"
3
3
  end
metadata CHANGED
@@ -1,207 +1,294 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hubspot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
5
- prerelease:
4
+ version: 1.0.0
6
5
  platform: ruby
7
6
  authors:
8
- - Reinier de Lange
7
+ - Dustin Eichler
9
8
  autorequire:
10
- bindir: bin
9
+ bindir: exe
11
10
  cert_chain: []
12
- date: 2012-05-04 00:00:00.000000000 Z
11
+ date: 2019-02-28 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: rails
14
+ name: actionmailer
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
- version: '3'
19
+ version: 3.0.0
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
- version: '3'
26
+ version: 3.0.0
30
27
  - !ruby/object:Gem::Dependency
31
- name: sqlite3
28
+ name: activesupport
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 2.0.1
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 2.0.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '10.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: capybara
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: selenium-webdriver
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: database_cleaner
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
36
116
  - !ruby/object:Gem::Version
37
117
  version: '0'
38
118
  type: :development
39
119
  prerelease: false
40
120
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
121
  requirements:
43
- - - ! '>='
122
+ - - ">="
44
123
  - !ruby/object:Gem::Version
45
124
  version: '0'
46
- description: Integration with the Hubspot API
125
+ - !ruby/object:Gem::Dependency
126
+ name: factory_bot
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: ffaker
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rspec-rails
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: simplecov
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: byebug
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: pry
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: webmock
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: json-schema
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: combustion
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: '1.1'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: '1.1'
251
+ description: Hubspot smtp mailer, delivery method and api wrapper
47
252
  email:
48
- - r.j.delange@nedforce.nl
253
+ - dustin@smalhaus.com
49
254
  executables: []
50
255
  extensions: []
51
256
  extra_rdoc_files: []
52
257
  files:
53
- - app/helpers/hubspot_helper.rb
54
- - app/models/hubspot/base.rb
55
- - app/models/hubspot/blog.rb
56
- - app/models/hubspot/blogs/blog_association.rb
57
- - app/models/hubspot/blogs/comment.rb
58
- - app/models/hubspot/blogs/post.rb
59
- - app/models/hubspot/blogs/posts/comment.rb
60
- - app/models/hubspot/connection.rb
61
- - app/models/hubspot/event.rb
62
- - app/models/hubspot/keyword.rb
63
- - app/models/hubspot/lead.rb
64
- - app/models/hubspot/performable/event.rb
65
- - lib/hubspot/action_controller_extensions.rb
66
- - lib/hubspot/engine.rb
67
- - lib/hubspot/version.rb
68
258
  - lib/hubspot.rb
69
- - lib/tasks/hubspot_tasks.rake
70
- - MIT-LICENSE
71
- - Rakefile
72
- - README.rdoc
73
- - test/dummy/app/assets/javascripts/application.js
74
- - test/dummy/app/assets/stylesheets/application.css
75
- - test/dummy/app/controllers/application_controller.rb
76
- - test/dummy/app/helpers/application_helper.rb
77
- - test/dummy/app/views/layouts/application.html.erb
78
- - test/dummy/config/application.rb
79
- - test/dummy/config/boot.rb
80
- - test/dummy/config/database.yml
81
- - test/dummy/config/environment.rb
82
- - test/dummy/config/environments/development.rb
83
- - test/dummy/config/environments/production.rb
84
- - test/dummy/config/environments/test.rb
85
- - test/dummy/config/initializers/backtrace_silencers.rb
86
- - test/dummy/config/initializers/inflections.rb
87
- - test/dummy/config/initializers/mime_types.rb
88
- - test/dummy/config/initializers/secret_token.rb
89
- - test/dummy/config/initializers/session_store.rb
90
- - test/dummy/config/initializers/wrap_parameters.rb
91
- - test/dummy/config/locales/en.yml
92
- - test/dummy/config/routes.rb
93
- - test/dummy/config.ru
94
- - test/dummy/db/test.sqlite3
95
- - test/dummy/log/test.log
96
- - test/dummy/public/404.html
97
- - test/dummy/public/422.html
98
- - test/dummy/public/500.html
99
- - test/dummy/public/favicon.ico
100
- - test/dummy/Rakefile
101
- - test/dummy/README.rdoc
102
- - test/dummy/script/rails
103
- - test/fixtures/vcr_cassettes/blog-comments.yml
104
- - test/fixtures/vcr_cassettes/blog-find.yml
105
- - test/fixtures/vcr_cassettes/blog-posts.yml
106
- - test/fixtures/vcr_cassettes/blogs-list.yml
107
- - test/fixtures/vcr_cassettes/event-create.yml
108
- - test/fixtures/vcr_cassettes/event-record.yml
109
- - test/fixtures/vcr_cassettes/events-list.yml
110
- - test/fixtures/vcr_cassettes/keyword-create.yml
111
- - test/fixtures/vcr_cassettes/keywords-list.yml
112
- - test/fixtures/vcr_cassettes/lead-find.yml
113
- - test/fixtures/vcr_cassettes/lead-update.yml
114
- - test/fixtures/vcr_cassettes/leads-list.yml
115
- - test/fixtures/vcr_cassettes/post-comments.yml
116
- - test/fixtures/vcr_cassettes/post-find.yml
117
- - test/hubspot_test.rb
118
- - test/test_helper.rb
119
- - test/unit/blog_test.rb
120
- - test/unit/event_test.rb
121
- - test/unit/keyword_test.rb
122
- - test/unit/lead_test.rb
123
- - test/unit/performable_event_test.rb
124
- - test/unit/post_test.rb
125
- homepage: http://www.nedforce.nl
126
- licenses: []
259
+ - lib/hubspot/api/transaction_email/single_send.rb
260
+ - lib/hubspot/delivery_method.rb
261
+ - lib/hubspot/errors.rb
262
+ - lib/hubspot/http_request.rb
263
+ - lib/hubspot/http_response.rb
264
+ - lib/hubspot/mailer.rb
265
+ - lib/hubspot/object.rb
266
+ - lib/hubspot/railtie.rb
267
+ - lib/hubspot/transaction_email/delivery_method.rb
268
+ - lib/hubspot/transaction_email/mailer.rb
269
+ - lib/hubspot/version.rb
270
+ homepage: https://www.github.com/smalhaus/hubspot
271
+ licenses:
272
+ - MIT
273
+ metadata: {}
127
274
  post_install_message:
128
275
  rdoc_options: []
129
276
  require_paths:
130
277
  - lib
131
278
  required_ruby_version: !ruby/object:Gem::Requirement
132
- none: false
133
279
  requirements:
134
- - - ! '>='
280
+ - - ">="
135
281
  - !ruby/object:Gem::Version
136
282
  version: '0'
137
- segments:
138
- - 0
139
- hash: 4273036089859064292
140
283
  required_rubygems_version: !ruby/object:Gem::Requirement
141
- none: false
142
284
  requirements:
143
- - - ! '>='
285
+ - - ">="
144
286
  - !ruby/object:Gem::Version
145
287
  version: '0'
146
- segments:
147
- - 0
148
- hash: 4273036089859064292
149
288
  requirements: []
150
289
  rubyforge_project:
151
- rubygems_version: 1.8.21
290
+ rubygems_version: 2.7.8
152
291
  signing_key:
153
- specification_version: 3
154
- summary: Integration with the Hubspot API
155
- test_files:
156
- - test/dummy/app/assets/javascripts/application.js
157
- - test/dummy/app/assets/stylesheets/application.css
158
- - test/dummy/app/controllers/application_controller.rb
159
- - test/dummy/app/helpers/application_helper.rb
160
- - test/dummy/app/views/layouts/application.html.erb
161
- - test/dummy/config/application.rb
162
- - test/dummy/config/boot.rb
163
- - test/dummy/config/database.yml
164
- - test/dummy/config/environment.rb
165
- - test/dummy/config/environments/development.rb
166
- - test/dummy/config/environments/production.rb
167
- - test/dummy/config/environments/test.rb
168
- - test/dummy/config/initializers/backtrace_silencers.rb
169
- - test/dummy/config/initializers/inflections.rb
170
- - test/dummy/config/initializers/mime_types.rb
171
- - test/dummy/config/initializers/secret_token.rb
172
- - test/dummy/config/initializers/session_store.rb
173
- - test/dummy/config/initializers/wrap_parameters.rb
174
- - test/dummy/config/locales/en.yml
175
- - test/dummy/config/routes.rb
176
- - test/dummy/config.ru
177
- - test/dummy/db/test.sqlite3
178
- - test/dummy/log/test.log
179
- - test/dummy/public/404.html
180
- - test/dummy/public/422.html
181
- - test/dummy/public/500.html
182
- - test/dummy/public/favicon.ico
183
- - test/dummy/Rakefile
184
- - test/dummy/README.rdoc
185
- - test/dummy/script/rails
186
- - test/fixtures/vcr_cassettes/blog-comments.yml
187
- - test/fixtures/vcr_cassettes/blog-find.yml
188
- - test/fixtures/vcr_cassettes/blog-posts.yml
189
- - test/fixtures/vcr_cassettes/blogs-list.yml
190
- - test/fixtures/vcr_cassettes/event-create.yml
191
- - test/fixtures/vcr_cassettes/event-record.yml
192
- - test/fixtures/vcr_cassettes/events-list.yml
193
- - test/fixtures/vcr_cassettes/keyword-create.yml
194
- - test/fixtures/vcr_cassettes/keywords-list.yml
195
- - test/fixtures/vcr_cassettes/lead-find.yml
196
- - test/fixtures/vcr_cassettes/lead-update.yml
197
- - test/fixtures/vcr_cassettes/leads-list.yml
198
- - test/fixtures/vcr_cassettes/post-comments.yml
199
- - test/fixtures/vcr_cassettes/post-find.yml
200
- - test/hubspot_test.rb
201
- - test/test_helper.rb
202
- - test/unit/blog_test.rb
203
- - test/unit/event_test.rb
204
- - test/unit/keyword_test.rb
205
- - test/unit/lead_test.rb
206
- - test/unit/performable_event_test.rb
207
- - test/unit/post_test.rb
292
+ specification_version: 4
293
+ summary: Hubspot smtp mailer, delivery method and api wrapper
294
+ test_files: []