muck-engine 3.3.11 → 3.3.12

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.3.11
1
+ 3.3.12
@@ -21,6 +21,7 @@ en:
21
21
  admin_welcome: Welcome back %{user}
22
22
  admin_home_title: Admin Home
23
23
  select_language_prompt: Please select a language
24
+ invalid_photo_url: is invalid or inaccessible
24
25
  general:
25
26
  deactivate: Deactivate
26
27
  no_text: "No"
@@ -0,0 +1,33 @@
1
+ # Adapted from http://trevorturk.com/2008/12/11/easy-upload-via-url-with-paperclip/
2
+ module MuckEngine
3
+ module RemotePhotoMethods
4
+
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ before_validation :download_remote_photo, :if => :photo_url_provided?
9
+ validates_presence_of :photo_remote_url, :if => :photo_url_provided?, :message => I18n.translate('muck.engine.invalid_photo_url')
10
+ end
11
+
12
+ attr_accessor :photo_url
13
+
14
+ private
15
+
16
+ def photo_url_provided?
17
+ !self.photo_url.blank?
18
+ end
19
+
20
+ def download_remote_photo
21
+ self.photo = do_download_remote_photo
22
+ self.photo_remote_url = photo_url
23
+ end
24
+
25
+ def do_download_remote_photo
26
+ io = open(URI.parse(photo_url))
27
+ def io.original_filename; base_uri.path.split('/').last; end
28
+ io.original_filename.blank? ? nil : io
29
+ #rescue # catch url errors with validations instead of exceptions (Errno::ENOENT, OpenURI::HTTPError, etc...)
30
+ end
31
+
32
+ end
33
+ end
data/lib/muck-engine.rb CHANGED
@@ -10,6 +10,7 @@ require 'muck-engine/models/country'
10
10
  require 'muck-engine/models/language'
11
11
  require 'muck-engine/models/state'
12
12
  require 'muck-engine/models/general'
13
+ require 'muck-engine/remote_photo_methods'
13
14
  require 'muck-engine/mailers/general'
14
15
  require 'muck-engine/controllers/application'
15
16
  require 'muck-engine/controllers/ssl_requirement'
data/muck-engine.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{muck-engine}
8
- s.version = "3.3.11"
8
+ s.version = "3.3.12"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Justin Ball", "Joel Duffin"]
12
- s.date = %q{2011-06-30}
12
+ s.date = %q{2011-07-12}
13
13
  s.description = %q{The base engine for the muck system. Contains common tables, custom for, css and javascript.}
14
14
  s.email = %q{justin@tatemae.com}
15
15
  s.extra_rdoc_files = [
@@ -125,6 +125,7 @@ Gem::Specification.new do |s|
125
125
  "lib/muck-engine/models/language.rb",
126
126
  "lib/muck-engine/models/state.rb",
127
127
  "lib/muck-engine/populate.rb",
128
+ "lib/muck-engine/remote_photo_methods.rb",
128
129
  "lib/muck-engine/rspec2.rb",
129
130
  "lib/muck-engine/test/controllers/matchers.rb",
130
131
  "lib/muck-engine/test/controllers/matchers/login_matcher.rb",
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: muck-engine
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 3
8
8
  - 3
9
- - 11
10
- version: 3.3.11
9
+ - 12
10
+ version: 3.3.12
11
11
  platform: ruby
12
12
  authors:
13
13
  - Justin Ball
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-06-30 00:00:00 -06:00
19
+ date: 2011-07-12 00:00:00 -06:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -392,6 +392,7 @@ files:
392
392
  - lib/muck-engine/models/language.rb
393
393
  - lib/muck-engine/models/state.rb
394
394
  - lib/muck-engine/populate.rb
395
+ - lib/muck-engine/remote_photo_methods.rb
395
396
  - lib/muck-engine/rspec2.rb
396
397
  - lib/muck-engine/test/controllers/matchers.rb
397
398
  - lib/muck-engine/test/controllers/matchers/login_matcher.rb