spree_multi_share 1.3.3 → 2.2.2.1
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 +4 -4
- data/README.md +12 -1
- data/app/controllers/spree/cloud_sender_controller.rb +16 -13
- data/app/models/spree/mail_to_cloud.rb +8 -4
- data/config/routes.rb +9 -9
- data/spree_multi_share.gemspec +6 -6
- metadata +20 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba7fa6350bccbd28623800dda64538bd7e3aa315
|
4
|
+
data.tar.gz: 99560f30eacf5c6c1ef0aefc3f620d563b238a7c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 784194f286e40be69d460e860f7ee93ff2058446205b86a4e77c7e46f5071dce51d8568ab90da801fc49c41b389d56fdb3155479eccab98a6bfeab4ddfdbf3a7
|
7
|
+
data.tar.gz: f0f3888a497cb68e667623dfb73bbfb432a3ddaa92aa2e078998d61304706f86cb9724daf54c29810f0ae8439436a2ae66b9a3c55cc60342e8676dbf861702d3
|
data/README.md
CHANGED
@@ -1,4 +1,15 @@
|
|
1
1
|
spree_multi_share
|
2
2
|
=================
|
3
3
|
|
4
|
-
Extension for Spree that allows customers to share products with
|
4
|
+
Extension for Spree that allows customers to share products with contacts from any of the popular cloud services (MSN, AOL, Google, Outlook, and OSX). Powered by <a href='http://www.cloudsponge.com'>CloudSponge</a>.
|
5
|
+
|
6
|
+
Installation
|
7
|
+
=================
|
8
|
+
|
9
|
+
Add the following to your <code>Gemfile</code>
|
10
|
+
|
11
|
+
gem 'spree_multi_share'
|
12
|
+
|
13
|
+
Run
|
14
|
+
|
15
|
+
bundle install
|
@@ -159,18 +159,21 @@ class Spree::CloudSenderController < Spree::BaseController
|
|
159
159
|
Spree::CloudMailer.mail_to_cloud(object,@temp_mail_to_cloud).deliver
|
160
160
|
end
|
161
161
|
end
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
end
|
170
|
-
if class_name.respond_to?('get_by_param')
|
171
|
-
@object ||= class_name.get_by_param(params[:id])
|
172
|
-
end
|
173
|
-
# Display 404 page if object is not found.
|
174
|
-
raise ActiveRecord::RecordNotFound if @object.nil?
|
162
|
+
|
163
|
+
def find_object
|
164
|
+
class_name = "Spree::#{(params[:type].titleize)}".constantize
|
165
|
+
return false if params[:id].blank?
|
166
|
+
@object = class_name.find_by_slug(params[:id])
|
167
|
+
if class_name.respond_to?('find_by_permalink')
|
168
|
+
@object ||= class_name.find_by_permalink(params[:id])
|
175
169
|
end
|
170
|
+
if class_name.respond_to?('get_by_param')
|
171
|
+
@object ||= class_name.get_by_param(params[:id])
|
172
|
+
end
|
173
|
+
if class_name.respond_to?('get_by_slug')
|
174
|
+
@object ||= class_name.get_by_slug(params[:id])
|
175
|
+
end
|
176
|
+
|
177
|
+
logger.info "\n\n\n @object = #{@object.inspect} \n\n\n"
|
178
|
+
end
|
176
179
|
end
|
@@ -1,20 +1,21 @@
|
|
1
1
|
class Spree::MailToCloud
|
2
2
|
include ActiveModel::Validations
|
3
3
|
include ActiveModel::Conversion
|
4
|
-
attr_accessor :
|
4
|
+
attr_accessor :subject, :sender_name, :sender_email, :recipient_name, :recipient_email, :message, :recipients, :invalid_recipients, :hide_recipients
|
5
5
|
|
6
|
-
EMAILREGEX =
|
6
|
+
EMAILREGEX = /[-a-z0-9_+\.]+\@([-a-z0-9]+\.)+[a-z0-9]{2,8}/i
|
7
7
|
|
8
8
|
validates :subject, :presence => true
|
9
9
|
validates :sender_name, :presence => true
|
10
|
+
validates :recipient_name, :presence => true, :unless => :is_multi
|
10
11
|
validates :sender_email, :format => { :with => EMAILREGEX }
|
11
12
|
validates :recipients, :length => {:minimum => 1, :message => "must contain at least one valid email address"}
|
12
13
|
validates :invalid_recipients, :length => {:maximum => 0, :message => "must be removed"}
|
13
14
|
|
14
15
|
def initialize(opts = {})
|
16
|
+
@subject = opts[:subject] || I18n.t('email_to_friend.you_would_like_this')
|
15
17
|
@sender_email = opts[:sender_email] || ' '
|
16
18
|
@sender_name = opts[:sender_name] || @sender_email.split('@', 2)[0].titleize
|
17
|
-
@subject = opts[:subject] || I18n.t('email_to_friend.you_would_like_this', :sender_name => @sender_name, :site => Spree::Config[:site_url])
|
18
19
|
|
19
20
|
@recipients = []
|
20
21
|
@invalid_recipients = []
|
@@ -22,12 +23,15 @@ class Spree::MailToCloud
|
|
22
23
|
@recipient_email = (opts[:recipient_email] || '').gsub(';', ',').gsub(/\s/ , '')
|
23
24
|
@recipient_email.split(',').each do |address|
|
24
25
|
if address =~ EMAILREGEX
|
25
|
-
|
26
|
+
@recipients << address
|
26
27
|
else
|
27
28
|
@invalid_recipients << address
|
28
29
|
end
|
29
30
|
end
|
30
31
|
|
32
|
+
@recipient_name = opts[:recipient_name]
|
33
|
+
@recipient_name ||= @recipients[0].split('@', 2)[0].titleize unless @recipients.empty?
|
34
|
+
|
31
35
|
@hide_recipients = opts[:hide_recipients] || false
|
32
36
|
@message = opts[:message]
|
33
37
|
end
|
data/config/routes.rb
CHANGED
@@ -1,15 +1,15 @@
|
|
1
|
-
Spree::Core::Engine.routes.
|
1
|
+
Spree::Core::Engine.routes.append do
|
2
2
|
|
3
|
-
|
3
|
+
get "/email_to_cloud/:type/:id", :to => 'cloud_sender#send_mail', :as => :email_to_cloud
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
5
|
+
get '/importGmail', :to => 'cloud_sender#importGmail'
|
6
|
+
get '/importOutlook', :to => 'cloud_sender#importOutlook'
|
7
|
+
get '/importOSX', :to => 'cloud_sender#importOSX'
|
8
|
+
get '/importAOL', :to => 'cloud_sender#importAOL'
|
9
|
+
get '/importCheck/:id', :to => 'cloud_sender#importCheck'
|
10
|
+
get '/importContacts/:id', :to => 'cloud_sender#importContacts'
|
11
11
|
|
12
|
-
|
12
|
+
get '/cloudsponge_proxy', :to => 'cloud_sender#cloudsponge_proxy'
|
13
13
|
|
14
14
|
namespace :admin do
|
15
15
|
resource :cloudsponge_settings
|
data/spree_multi_share.gemspec
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
Gem::Specification.new do |s|
|
3
3
|
s.platform = Gem::Platform::RUBY
|
4
4
|
s.name = 'spree_multi_share'
|
5
|
-
s.version = '
|
5
|
+
s.version = '2.2.2.1'
|
6
6
|
s.summary = 'Extension for Spree that allows customers to share products for store credit.'
|
7
7
|
s.description = 'Extension for Spree that allows customers to share products with their cloud friends for store credit. Powered by CloudSponge.'
|
8
|
-
s.required_ruby_version = '>=
|
8
|
+
s.required_ruby_version = '>= 2.0.0'
|
9
9
|
|
10
10
|
s.author = 'Derek Sweet'
|
11
11
|
s.email = 'derek@arizonabay.com'
|
@@ -16,15 +16,15 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.require_path = 'lib'
|
17
17
|
s.requirements << 'none'
|
18
18
|
|
19
|
-
s.add_dependency 'spree_core'
|
19
|
+
s.add_dependency 'spree_core'
|
20
20
|
s.add_dependency 'httpclient'
|
21
21
|
s.add_dependency 'cloudsponge'
|
22
22
|
|
23
|
-
s.add_development_dependency 'capybara'
|
23
|
+
s.add_development_dependency 'capybara'
|
24
24
|
s.add_development_dependency 'coffee-rails'
|
25
|
-
s.add_development_dependency 'factory_girl'
|
25
|
+
s.add_development_dependency 'factory_girl'
|
26
26
|
s.add_development_dependency 'ffaker'
|
27
|
-
s.add_development_dependency 'rspec-rails'
|
27
|
+
s.add_development_dependency 'rspec-rails'
|
28
28
|
s.add_development_dependency 'sass-rails'
|
29
29
|
s.add_development_dependency 'sqlite3'
|
30
30
|
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_multi_share
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Derek Sweet
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree_core
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: httpclient
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,16 +56,16 @@ dependencies:
|
|
56
56
|
name: capybara
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: coffee-rails
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,16 +84,16 @@ dependencies:
|
|
84
84
|
name: factory_girl
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - '>='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - '>='
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: ffaker
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,16 +112,16 @@ dependencies:
|
|
112
112
|
name: rspec-rails
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - '>='
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
117
|
+
version: '0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - '>='
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
124
|
+
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: sass-rails
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -220,7 +220,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
220
220
|
requirements:
|
221
221
|
- - '>='
|
222
222
|
- !ruby/object:Gem::Version
|
223
|
-
version:
|
223
|
+
version: 2.0.0
|
224
224
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
225
225
|
requirements:
|
226
226
|
- - '>='
|
@@ -229,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
229
229
|
requirements:
|
230
230
|
- none
|
231
231
|
rubyforge_project:
|
232
|
-
rubygems_version: 2.
|
232
|
+
rubygems_version: 2.2.2
|
233
233
|
signing_key:
|
234
234
|
specification_version: 4
|
235
235
|
summary: Extension for Spree that allows customers to share products for store credit.
|