Sha256: 8a6d2b2b8ed962b43fb7e138d13da5229d91f79ecdd1650cdbc12ba035a1660c

Contents?: true

Size: 1.13 KB

Versions: 192

Compression:

Stored size: 1.13 KB

Contents

require 'uri'
require 'httparty'

class Caboose::MediaImage < ActiveRecord::Base

  self.table_name = "media_images"
  belongs_to :media_category  
  has_attached_file :image, 
    :path => ':path_prefixmedia-images/:id_:style.:extension',
    :default_url => 'http://placehold.it/300x300',    
    :styles => {
      :tiny  => '150x200>',
      :thumb => '300x400>',
      :large => '600x800>'
    }
  do_not_validate_attachment_file_type :image  
  attr_accessible :id, :media_category_id, :name, :description

  def process
    
    config = YAML.load(File.read(Rails.root.join('config', 'aws.yml')))[Rails.env]
    bucket = config['bucket']
    
    uri = "http://#{bucket}.s3.amazonaws.com/media-images/#{self.id}#{File.extname(self.name.downcase)}"
    puts "Processing #{uri}..."
    
    self.image = URI.parse(uri)
    self.save
  end
  
  def api_hash
    {
      :id => self.id,
      :name => self.name,
      :description => self.description,
      :tiny_url => self.image.url(:tiny),
      :thumb_url => self.image.url(:thumb),
      :large_url => self.image.url(:large),
      :original_url => self.image.url(:original)
    }
  end
  
end

Version data entries

192 entries across 192 versions & 1 rubygems

Version Path
caboose-cms-0.5.221 app/models/caboose/media_image.rb
caboose-cms-0.5.220 app/models/caboose/media_image.rb
caboose-cms-0.5.219 app/models/caboose/media_image.rb
caboose-cms-0.5.218 app/models/caboose/media_image.rb
caboose-cms-0.5.217 app/models/caboose/media_image.rb
caboose-cms-0.5.216 app/models/caboose/media_image.rb
caboose-cms-0.5.215 app/models/caboose/media_image.rb
caboose-cms-0.5.214 app/models/caboose/media_image.rb
caboose-cms-0.5.213 app/models/caboose/media_image.rb
caboose-cms-0.5.212 app/models/caboose/media_image.rb
caboose-cms-0.5.211 app/models/caboose/media_image.rb
caboose-cms-0.5.210 app/models/caboose/media_image.rb
caboose-cms-0.5.209 app/models/caboose/media_image.rb
caboose-cms-0.5.208 app/models/caboose/media_image.rb
caboose-cms-0.5.207 app/models/caboose/media_image.rb
caboose-cms-0.5.206 app/models/caboose/media_image.rb
caboose-cms-0.5.205 app/models/caboose/media_image.rb
caboose-cms-0.5.204 app/models/caboose/media_image.rb
caboose-cms-0.5.203 app/models/caboose/media_image.rb
caboose-cms-0.5.202 app/models/caboose/media_image.rb