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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 03c0eb94fc4d549732689a78740a0874f067887c
4
- data.tar.gz: ef2280f3ad58b4297e0085d4ba70bc7cfe80b39e
3
+ metadata.gz: ba7fa6350bccbd28623800dda64538bd7e3aa315
4
+ data.tar.gz: 99560f30eacf5c6c1ef0aefc3f620d563b238a7c
5
5
  SHA512:
6
- metadata.gz: c64a24c18048f4993c0de745dbef51752ea7cd169c96e9807e2dbf5b7c4263aaecbeeb9d915522b44092421e2d369042820d1564767cc6cd15572ff365d7ce6c
7
- data.tar.gz: 801985194d8365c1b59e809d62941cd233c12e1de3f2a46b80f21b07f141be39ab083b9ea13b3ec65aa7656758df3336f8c19d0808b05855d4f5b754655ba99b
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 their cloud friends for store credit. Powered by CloudSponge.
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
- def find_object
164
- class_name = "Spree::#{(params[:type].titleize)}".constantize
165
- return false if params[:id].blank?
166
- @object = class_name.find_by_id(params[:id])
167
- if class_name.respond_to?('find_by_permalink')
168
- @object ||= class_name.find_by_permalink(params[:id])
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 :host, :subject, :sender_name, :sender_email, :recipient_name, :recipient_email, :message, :recipients, :invalid_recipients, :hide_recipients
4
+ attr_accessor :subject, :sender_name, :sender_email, :recipient_name, :recipient_email, :message, :recipients, :invalid_recipients, :hide_recipients
5
5
 
6
- EMAILREGEX = /^[-a-z0-9_+\.]+\@([-a-z0-9]+\.)+[a-z0-9]{2,8}$/i
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
- @recipients << address
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.prepend do
1
+ Spree::Core::Engine.routes.append do
2
2
 
3
- match "/email_to_cloud/:type/:id" => 'cloud_sender#send_mail', :as => :email_to_cloud
3
+ get "/email_to_cloud/:type/:id", :to => 'cloud_sender#send_mail', :as => :email_to_cloud
4
4
 
5
- match '/importGmail', :to => 'cloud_sender#importGmail'
6
- match '/importOutlook', :to => 'cloud_sender#importOutlook'
7
- match '/importOSX', :to => 'cloud_sender#importOSX'
8
- match '/importAOL', :to => 'cloud_sender#importAOL'
9
- match '/importCheck/:id', :to => 'cloud_sender#importCheck'
10
- match '/importContacts/:id', :to => 'cloud_sender#importContacts'
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
- match '/cloudsponge_proxy', :to => 'cloud_sender#cloudsponge_proxy'
12
+ get '/cloudsponge_proxy', :to => 'cloud_sender#cloudsponge_proxy'
13
13
 
14
14
  namespace :admin do
15
15
  resource :cloudsponge_settings
@@ -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 = '1.3.3'
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 = '>= 1.8.7'
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', '~> 1.3.1'
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', '~> 1.1.2'
23
+ s.add_development_dependency 'capybara'
24
24
  s.add_development_dependency 'coffee-rails'
25
- s.add_development_dependency 'factory_girl', '~> 2.6.4'
25
+ s.add_development_dependency 'factory_girl'
26
26
  s.add_development_dependency 'ffaker'
27
- s.add_development_dependency 'rspec-rails', '~> 2.9'
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: 1.3.3
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: 2013-05-01 00:00:00.000000000 Z
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: 1.3.1
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: 1.3.1
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: 1.1.2
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: 1.1.2
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: 2.6.4
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: 2.6.4
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: '2.9'
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: '2.9'
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: 1.8.7
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.0.3
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.