spree_bronto 3.pre.0.pre.stable

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/.rspec +1 -0
  4. data/Gemfile +8 -0
  5. data/LICENSE +26 -0
  6. data/README.md +73 -0
  7. data/Rakefile +21 -0
  8. data/app/assets/javascripts/spree/backend/spree_bronto.js +4 -0
  9. data/app/assets/javascripts/spree/frontend/bronto_list.js.coffee +8 -0
  10. data/app/assets/javascripts/spree/frontend/spree_bronto.js +2 -0
  11. data/app/assets/stylesheets/spree/backend/spree_bronto.css +4 -0
  12. data/app/assets/stylesheets/spree/frontend/spree_bronto.css +4 -0
  13. data/app/controllers/spree/admin/bronto_lists_controller.rb +24 -0
  14. data/app/controllers/spree/checkout_controller_decorator.rb +23 -0
  15. data/app/controllers/spree/home_controller_decorator.rb +120 -0
  16. data/app/controllers/spree/lists.rb +152 -0
  17. data/app/controllers/spree/orders_controller_decorator.rb +56 -0
  18. data/app/controllers/spree/users_controller_decorator.rb +27 -0
  19. data/app/mailers/spree/order_mailer/_order_cancel_html.html.erb +4 -0
  20. data/app/mailers/spree/order_mailer/_order_cancel_plain.erb +7 -0
  21. data/app/mailers/spree/order_mailer/_order_confirm_html.html.erb +5 -0
  22. data/app/mailers/spree/order_mailer/_order_confirm_plain.erb +7 -0
  23. data/app/mailers/spree/order_mailer/_order_details_html.html.erb +52 -0
  24. data/app/mailers/spree/order_mailer/_order_details_plain.erb +22 -0
  25. data/app/mailers/spree/order_mailer/_order_shipped_html.html.erb +20 -0
  26. data/app/mailers/spree/order_mailer/_order_shipped_plain.erb +21 -0
  27. data/app/mailers/spree/user_mailer/_password_reset_instructions.html.erb +9 -0
  28. data/app/mailers/spree/user_mailer_decorator.rb +13 -0
  29. data/app/models/spree/bronto_configuration.rb +12 -0
  30. data/app/models/spree/bronto_list.rb +20 -0
  31. data/app/models/spree/order_decorator.rb +30 -0
  32. data/app/models/spree/shipment_decorator.rb +18 -0
  33. data/app/models/spree/shipment_handler_decorator.rb +17 -0
  34. data/app/models/spree/store_decorator.rb +7 -0
  35. data/app/models/spree/user_decorator.rb +51 -0
  36. data/app/overrides/decorate_account_my_orders.rb +6 -0
  37. data/app/overrides/decorate_admin_configurations_index.rb +5 -0
  38. data/app/overrides/decorate_bronto_cart_recorvery.rb +6 -0
  39. data/app/overrides/decorate_bronto_list_subscribe.rb +6 -0
  40. data/app/views/spree/admin/bronto_lists/_autocomplete_form.js.erb +23 -0
  41. data/app/views/spree/admin/bronto_lists/_form.html.erb +49 -0
  42. data/app/views/spree/admin/bronto_lists/_get_lists.html.erb +1 -0
  43. data/app/views/spree/admin/bronto_lists/_get_lists.js.erb +1 -0
  44. data/app/views/spree/admin/bronto_lists/_retrieve_lists.js.erb +13 -0
  45. data/app/views/spree/admin/bronto_lists/edit.html.erb +11 -0
  46. data/app/views/spree/admin/bronto_lists/index.html.erb +38 -0
  47. data/app/views/spree/admin/bronto_lists/new.html.erb +11 -0
  48. data/app/views/spree/bronto_lists/_edit.html.erb +21 -0
  49. data/app/views/spree/bronto_lists/_form.html.erb +17 -0
  50. data/app/views/spree/bronto_lists/_signup.html.erb +13 -0
  51. data/app/views/spree/shared/_bronto_tags.html.erb +69 -0
  52. data/bin/rails +7 -0
  53. data/config/bronto.yml +39 -0
  54. data/config/locales/en.yml +27 -0
  55. data/config/routes.rb +19 -0
  56. data/db/migrate/20150427135748_spree_bronto_lists_users.rb +12 -0
  57. data/db/migrate/20150427135923_create_spree_bronto_lists.rb +16 -0
  58. data/lib/bronto_integration/bronto.rb +255 -0
  59. data/lib/bronto_integration/bronto_integration/communication.rb +83 -0
  60. data/lib/bronto_integration/bronto_integration/contact.rb +53 -0
  61. data/lib/bronto_integration/bronto_integration/order.rb +44 -0
  62. data/lib/bronto_integration/bronto_integration.rb +6 -0
  63. data/lib/delayed_send.rb +40 -0
  64. data/lib/delayed_simple_send.rb +17 -0
  65. data/lib/delayed_subscriber_add.rb +38 -0
  66. data/lib/delayed_subscriber_delete.rb +35 -0
  67. data/lib/delayed_subscriber_update.rb +38 -0
  68. data/lib/delayed_trigger.rb +17 -0
  69. data/lib/generators/spree_bronto/install/install_generator.rb +31 -0
  70. data/lib/spree_bronto/engine.rb +30 -0
  71. data/lib/spree_bronto/factories.rb +6 -0
  72. data/lib/spree_bronto.rb +2 -0
  73. data/spec/spec_helper.rb +87 -0
  74. data/spree_bronto.gemspec +32 -0
  75. metadata +258 -0
@@ -0,0 +1,38 @@
1
+ DelayedSubscriberUpdate = Struct.new(:token, :order_id) do
2
+
3
+ def perform
4
+ order = Spree::Order.find(order_id)
5
+
6
+ if order.user.nil?
7
+ email=order.email
8
+ user_id=''
9
+ else
10
+ user=order.user.reload #reload the user to be sure we have the most uptodate record
11
+ email=user.email
12
+ user_id=order.user.id
13
+ end
14
+
15
+ if email.length > 0
16
+ begin
17
+ address=order.bill_address
18
+ fields={ # these fields neeb be created in bronto, otherwise they won't get updated.
19
+ :customer_id => user_id,
20
+ :firstname => address.firstname,
21
+ :lastname => address.lastname,
22
+ :address1 => address.address1,
23
+ :address2 => address.address2,
24
+ :phone_home => address.phone,
25
+ :postal_code => address.zipcode,
26
+ :city => address.city,
27
+ :state_province => (address.state_id.nil? ? address.state_name.to_s : address.state.name),
28
+ :country => address.country.name
29
+ }
30
+ contact = BrontoIntegration::Contact.new(token)
31
+ contacts=contact.set_up(email,fields)
32
+ rescue => exception
33
+ # should just send email to operations and go ahead
34
+ #raise exception
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,17 @@
1
+ DelayedTrigger = Struct.new(:store_code, :email, :message_name, :attributes, :mail_type) do
2
+ def perform
3
+ return if email.blank?
4
+ begin
5
+ token= Spree::BrontoConfiguration.account[store_code]['token']
6
+ from_email= Spree::Store.current.mail_from_address
7
+ from_name= Spree::BrontoConfiguration.account[store_code]['from_name']
8
+ reply_email= Spree::Store.current.mail_from_address
9
+ email_options={:fromEmail =>from_email,:fromName => from_name, :replyEmail => reply_email}
10
+
11
+ communication = BrontoIntegration::Communication.new(token)
12
+ communication.trigger_delivery_by_id(message_name,email,'triggered',mail_type||'html',attributes||{},email_options)
13
+ rescue => exception
14
+ #raise exception # as now only campaign use this and their templates may not be approved. let it go.
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,31 @@
1
+ module SpreeBronto
2
+ module Generators
3
+ class InstallGenerator < Rails::Generators::Base
4
+
5
+ class_option :auto_run_migrations, :type => :boolean, :default => false
6
+
7
+ def add_javascripts
8
+ append_file 'vendor/assets/javascripts/spree/frontend/all.js', "//= require spree/frontend/spree_bronto\n"
9
+ append_file 'vendor/assets/javascripts/spree/backend/all.js', "//= require spree/backend/spree_bronto\n"
10
+ end
11
+
12
+ def add_stylesheets
13
+ inject_into_file 'vendor/assets/stylesheets/spree/frontend/all.css', " *= require spree/frontend/spree_bronto\n", :before => /\*\//, :verbose => true
14
+ inject_into_file 'vendor/assets/stylesheets/spree/backend/all.css', " *= require spree/backend/spree_bronto\n", :before => /\*\//, :verbose => true
15
+ end
16
+
17
+ def add_migrations
18
+ run 'bundle exec rake railties:install:migrations FROM=spree_bronto'
19
+ end
20
+
21
+ def run_migrations
22
+ run_migrations = options[:auto_run_migrations] || ['', 'y', 'Y'].include?(ask 'Would you like to run the migrations now? [Y/n]')
23
+ if run_migrations
24
+ run 'bundle exec rake db:migrate'
25
+ else
26
+ puts 'Skipping rake db:migrate, don\'t forget to run it!'
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,30 @@
1
+ module SpreeBronto
2
+ class Engine < Rails::Engine
3
+ require 'spree/core'
4
+ isolate_namespace Spree
5
+ engine_name 'spree_bronto'
6
+
7
+ # use rspec for tests
8
+ config.generators do |g|
9
+ g.test_framework :rspec
10
+ end
11
+
12
+ def self.activate
13
+ Dir.glob(File.join(File.dirname(__FILE__), '../../app/**/*_decorator*.rb')) do |c|
14
+ Rails.configuration.cache_classes ? require(c) : load(c)
15
+ end
16
+ Dir.glob(File.join(File.dirname(__FILE__), '../../lib/bronto_integration/bronto_integration.rb')) do |c|
17
+ Rails.configuration.cache_classes ? require(c) : load(c)
18
+ end
19
+ #Dir.glob(File.join(File.dirname(__FILE__), '../../lib/spree/controller_helpers/list.rb')) do |c|
20
+ # Rails.configuration.cache_classes ? require(c) : load(c)
21
+ #end
22
+ Dir.glob(File.join(File.dirname(__FILE__), '../../lib/delayed_*.rb')) do |c|
23
+ require(c)
24
+ #Rails.configuration.cache_classes ? require(c) : load(c)
25
+ end
26
+ end
27
+
28
+ config.to_prepare &method(:activate).to_proc
29
+ end
30
+ end
@@ -0,0 +1,6 @@
1
+ FactoryGirl.define do
2
+ # Define your Spree extensions Factories within this file to enable applications, and other extensions to use and override them.
3
+ #
4
+ # Example adding this to your spec_helper will load these Factories for use:
5
+ # require 'spree_bronto/factories'
6
+ end
@@ -0,0 +1,2 @@
1
+ require 'spree_core'
2
+ require 'spree_bronto/engine'
@@ -0,0 +1,87 @@
1
+ # Run Coverage report
2
+ require 'simplecov'
3
+ SimpleCov.start do
4
+ add_filter 'spec/dummy'
5
+ add_group 'Controllers', 'app/controllers'
6
+ add_group 'Helpers', 'app/helpers'
7
+ add_group 'Mailers', 'app/mailers'
8
+ add_group 'Models', 'app/models'
9
+ add_group 'Views', 'app/views'
10
+ add_group 'Libraries', 'lib'
11
+ end
12
+
13
+ # Configure Rails Environment
14
+ ENV['RAILS_ENV'] = 'test'
15
+
16
+ require File.expand_path('../dummy/config/environment.rb', __FILE__)
17
+
18
+ require 'rspec/rails'
19
+ require 'database_cleaner'
20
+ require 'ffaker'
21
+
22
+ # Requires supporting ruby files with custom matchers and macros, etc,
23
+ # in spec/support/ and its subdirectories.
24
+ Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each { |f| require f }
25
+
26
+ # Requires factories and other useful helpers defined in spree_core.
27
+ require 'spree/testing_support/authorization_helpers'
28
+ require 'spree/testing_support/capybara_ext'
29
+ require 'spree/testing_support/controller_requests'
30
+ require 'spree/testing_support/factories'
31
+ require 'spree/testing_support/url_helpers'
32
+
33
+ # Requires factories defined in lib/spree_bronto/factories.rb
34
+ require 'spree_bronto/factories'
35
+
36
+ RSpec.configure do |config|
37
+ config.include FactoryGirl::Syntax::Methods
38
+
39
+ # Infer an example group's spec type from the file location.
40
+ config.infer_spec_type_from_file_location!
41
+
42
+ # == URL Helpers
43
+ #
44
+ # Allows access to Spree's routes in specs:
45
+ #
46
+ # visit spree.admin_path
47
+ # current_path.should eql(spree.products_path)
48
+ config.include Spree::TestingSupport::UrlHelpers
49
+
50
+ # == Mock Framework
51
+ #
52
+ # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
53
+ #
54
+ # config.mock_with :mocha
55
+ # config.mock_with :flexmock
56
+ # config.mock_with :rr
57
+ config.mock_with :rspec
58
+ config.color = true
59
+
60
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
61
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
62
+
63
+ # Capybara javascript drivers require transactional fixtures set to false, and we use DatabaseCleaner
64
+ # to cleanup after each test instead. Without transactional fixtures set to false the records created
65
+ # to setup a test will be unavailable to the browser, which runs under a separate server instance.
66
+ config.use_transactional_fixtures = false
67
+
68
+ # Ensure Suite is set to use transactions for speed.
69
+ config.before :suite do
70
+ DatabaseCleaner.strategy = :transaction
71
+ DatabaseCleaner.clean_with :truncation
72
+ end
73
+
74
+ # Before each spec check if it is a Javascript test and switch between using database transactions or not where necessary.
75
+ config.before :each do
76
+ DatabaseCleaner.strategy = RSpec.current_example.metadata[:js] ? :truncation : :transaction
77
+ DatabaseCleaner.start
78
+ end
79
+
80
+ # After each spec clean the database.
81
+ config.after :each do
82
+ DatabaseCleaner.clean
83
+ end
84
+
85
+ config.fail_fast = ENV['FAIL_FAST'] || false
86
+ config.order = "random"
87
+ end
@@ -0,0 +1,32 @@
1
+ # encoding: UTF-8
2
+ Gem::Specification.new do |s|
3
+ s.platform = Gem::Platform::RUBY
4
+ s.name = 'spree_bronto'
5
+ s.version = '3-0-stable'
6
+ s.summary = 'Integrate Bronto email server and cart recovery into Spree Ecommerce platform'
7
+ s.description = 'Integrate Bronto email server and cart recovery into Spree Ecommerce platform'
8
+ s.required_ruby_version = '>= 2.0.0'
9
+
10
+ s.author = 'Albert Liu'
11
+ s.email = 'albertliu@naturalwellbeing.com'
12
+ s.homepage = 'http://www.naturalwellbeing.com'
13
+
14
+ s.files = `git ls-files`.split("\n")
15
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+ s.require_path = 'lib'
17
+ s.requirements << 'none'
18
+
19
+ version = '~> 3-0-stable'
20
+ #s.add_dependency 'spree_core'
21
+
22
+ s.add_development_dependency 'capybara', '~> 2.4'
23
+ s.add_development_dependency 'coffee-rails'
24
+ s.add_development_dependency 'database_cleaner'
25
+ s.add_development_dependency 'factory_girl', '~> 4.5'
26
+ s.add_development_dependency 'ffaker'
27
+ s.add_development_dependency 'rspec-rails', '~> 3.1'
28
+ s.add_development_dependency 'sass-rails', '~> 5.0.0.beta1'
29
+ s.add_development_dependency 'selenium-webdriver'
30
+ s.add_development_dependency 'simplecov'
31
+ s.add_development_dependency 'sqlite3'
32
+ end
metadata ADDED
@@ -0,0 +1,258 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: spree_bronto
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.pre.0.pre.stable
5
+ platform: ruby
6
+ authors:
7
+ - Albert Liu
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-09-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: capybara
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.4'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.4'
27
+ - !ruby/object:Gem::Dependency
28
+ name: coffee-rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
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: database_cleaner
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: factory_girl
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '4.5'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '4.5'
69
+ - !ruby/object:Gem::Dependency
70
+ name: ffaker
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec-rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '3.1'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '3.1'
97
+ - !ruby/object:Gem::Dependency
98
+ name: sass-rails
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 5.0.0.beta1
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 5.0.0.beta1
111
+ - !ruby/object:Gem::Dependency
112
+ name: selenium-webdriver
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: simplecov
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: sqlite3
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
+ description: Integrate Bronto email server and cart recovery into Spree Ecommerce
154
+ platform
155
+ email: albertliu@naturalwellbeing.com
156
+ executables: []
157
+ extensions: []
158
+ extra_rdoc_files: []
159
+ files:
160
+ - ".gitignore"
161
+ - ".rspec"
162
+ - Gemfile
163
+ - LICENSE
164
+ - README.md
165
+ - Rakefile
166
+ - app/assets/javascripts/spree/backend/spree_bronto.js
167
+ - app/assets/javascripts/spree/frontend/bronto_list.js.coffee
168
+ - app/assets/javascripts/spree/frontend/spree_bronto.js
169
+ - app/assets/stylesheets/spree/backend/spree_bronto.css
170
+ - app/assets/stylesheets/spree/frontend/spree_bronto.css
171
+ - app/controllers/spree/admin/bronto_lists_controller.rb
172
+ - app/controllers/spree/checkout_controller_decorator.rb
173
+ - app/controllers/spree/home_controller_decorator.rb
174
+ - app/controllers/spree/lists.rb
175
+ - app/controllers/spree/orders_controller_decorator.rb
176
+ - app/controllers/spree/users_controller_decorator.rb
177
+ - app/mailers/spree/order_mailer/_order_cancel_html.html.erb
178
+ - app/mailers/spree/order_mailer/_order_cancel_plain.erb
179
+ - app/mailers/spree/order_mailer/_order_confirm_html.html.erb
180
+ - app/mailers/spree/order_mailer/_order_confirm_plain.erb
181
+ - app/mailers/spree/order_mailer/_order_details_html.html.erb
182
+ - app/mailers/spree/order_mailer/_order_details_plain.erb
183
+ - app/mailers/spree/order_mailer/_order_shipped_html.html.erb
184
+ - app/mailers/spree/order_mailer/_order_shipped_plain.erb
185
+ - app/mailers/spree/user_mailer/_password_reset_instructions.html.erb
186
+ - app/mailers/spree/user_mailer_decorator.rb
187
+ - app/models/spree/bronto_configuration.rb
188
+ - app/models/spree/bronto_list.rb
189
+ - app/models/spree/order_decorator.rb
190
+ - app/models/spree/shipment_decorator.rb
191
+ - app/models/spree/shipment_handler_decorator.rb
192
+ - app/models/spree/store_decorator.rb
193
+ - app/models/spree/user_decorator.rb
194
+ - app/overrides/decorate_account_my_orders.rb
195
+ - app/overrides/decorate_admin_configurations_index.rb
196
+ - app/overrides/decorate_bronto_cart_recorvery.rb
197
+ - app/overrides/decorate_bronto_list_subscribe.rb
198
+ - app/views/spree/admin/bronto_lists/_autocomplete_form.js.erb
199
+ - app/views/spree/admin/bronto_lists/_form.html.erb
200
+ - app/views/spree/admin/bronto_lists/_get_lists.html.erb
201
+ - app/views/spree/admin/bronto_lists/_get_lists.js.erb
202
+ - app/views/spree/admin/bronto_lists/_retrieve_lists.js.erb
203
+ - app/views/spree/admin/bronto_lists/edit.html.erb
204
+ - app/views/spree/admin/bronto_lists/index.html.erb
205
+ - app/views/spree/admin/bronto_lists/new.html.erb
206
+ - app/views/spree/bronto_lists/_edit.html.erb
207
+ - app/views/spree/bronto_lists/_form.html.erb
208
+ - app/views/spree/bronto_lists/_signup.html.erb
209
+ - app/views/spree/shared/_bronto_tags.html.erb
210
+ - bin/rails
211
+ - config/bronto.yml
212
+ - config/locales/en.yml
213
+ - config/routes.rb
214
+ - db/migrate/20150427135748_spree_bronto_lists_users.rb
215
+ - db/migrate/20150427135923_create_spree_bronto_lists.rb
216
+ - lib/bronto_integration/bronto.rb
217
+ - lib/bronto_integration/bronto_integration.rb
218
+ - lib/bronto_integration/bronto_integration/communication.rb
219
+ - lib/bronto_integration/bronto_integration/contact.rb
220
+ - lib/bronto_integration/bronto_integration/order.rb
221
+ - lib/delayed_send.rb
222
+ - lib/delayed_simple_send.rb
223
+ - lib/delayed_subscriber_add.rb
224
+ - lib/delayed_subscriber_delete.rb
225
+ - lib/delayed_subscriber_update.rb
226
+ - lib/delayed_trigger.rb
227
+ - lib/generators/spree_bronto/install/install_generator.rb
228
+ - lib/spree_bronto.rb
229
+ - lib/spree_bronto/engine.rb
230
+ - lib/spree_bronto/factories.rb
231
+ - spec/spec_helper.rb
232
+ - spree_bronto.gemspec
233
+ homepage: http://www.naturalwellbeing.com
234
+ licenses: []
235
+ metadata: {}
236
+ post_install_message:
237
+ rdoc_options: []
238
+ require_paths:
239
+ - lib
240
+ required_ruby_version: !ruby/object:Gem::Requirement
241
+ requirements:
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: 2.0.0
245
+ required_rubygems_version: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - ">"
248
+ - !ruby/object:Gem::Version
249
+ version: 1.3.1
250
+ requirements:
251
+ - none
252
+ rubyforge_project:
253
+ rubygems_version: 2.4.5
254
+ signing_key:
255
+ specification_version: 4
256
+ summary: Integrate Bronto email server and cart recovery into Spree Ecommerce platform
257
+ test_files:
258
+ - spec/spec_helper.rb