On 3 December 2014 at 10:41, George Stoumpos <stoge88@gmail.com> wrote:
> Hi spncrgr :D
>
> I am trying to do something similar...Is there a possibility that you have
> this project on Github? (or somewhere, where i can view the code?)
I rather doubt whether code from four years ago is likely to still be
the best solution.
Colin
>
> Thank you in advance
>
> George.
>
>
> On Tuesday, 7 December 2010 22:53:25 UTC+2, spncrgr wrote:
>>
>> I was finally able to get this to work. I ditched Paperclip and went
>> with putting the code in the controller. Taking it in baby steps, I
>> was able to work out this code for the controller:
>>
>> def upload
>> ((params[:upload][:file]).read).strip.split("\r\n").each do |line|
>> email, account_number, sub_number, eid, premium_code, keycode,
>> order_date, description = line.split("\t")
>>
>> new_record = MailingList.new(:email => email, :account_number =>
>> account_number, :sub_number => sub_number,
>> :eid => eid, :premium_code =>
>> premium_code, :keycode => keycode,
>> :order_date =>
>> order_date, :description => description)
>> new_record.save
>> end
>>
>> redirect_to :action => index
>> end
>>
>> Thanks again to everyone. Ultimately it was all of your replies that
>> helped me piece it together.
>>
>> Thanks!
>> Spencer
>>
>> On Dec 7, 10:11 am, Walter Lee Davis <wa...@wdstudio.com> wrote:
>> > On Dec 6, 2010, at 6:50 PM, David Kahn wrote:
>> >
>> > > You are mistaken, and although I came late to the Paperclip party, I
>> > > can't recall a time when it was true. You can edit the model without
>> > > modifying the image (just don't upload another image) and everything
>> > > stays the same in the image, or you can upload a new image and it
>> > > will overwrite the previous version. It's all managed when you save
>> > > the model that the image is attached to.
>> >
>> > > Right, but what I wanted was to be able to load a model instance,
>> > > change the file (say I encrypt a portion of the text) and have
>> > > Paperclip update that file on its own when I call model#save. I am
>> > > pretty sure Paperclip does not do this. Right, you can re-save the
>> > > file but it requires manual action beyond calling model#save.
>> >
>> > If you code your transformation within a Paperclip Processor, you can
>> > have any number of different transformed versions. Here's one that
>> > extracts the text from an uploaded PDF:
>> >
>> > #lib/paperclip_processors/text.rb
>> > module Paperclip
>> > # Handles extracting plain text from PDF file attachments
>> > class Text < Processor
>> >
>> > attr_accessor :whiny
>> >
>> > # Creates a Text extract from PDF
>> > def make
>> > src = @file
>> > dst = Tempfile.new([@basename, 'txt'].compact.join("."))
>> > command = <<-end_command
>> > "#{ File.expand_path(src.path) }"
>> > "#{ File.expand_path(dst.path) }"
>> > end_command
>> >
>> > begin
>> > success = Paperclip.run("/usr/bin/pdftotext -nopgbrk",
>> > command.gsub(/\s+/, " "))
>> > Rails.logger.info "Processing #{src.path} to #{dst.path} in
>> > the text processor."
>> > rescue PaperclipCommandLineError
>> > raise PaperclipError, "There was an error processing the text
>> > for #{@basename}" if @whiny
>> > end
>> > dst
>> > end
>> > end
>> > end
>> >
>> > You call it from your model, like this:
>> >
>> > #app/models/document.rb
>> > ...
>> > has_attached_file :pdf,:styles => { :text => { :fake =>
>> > 'variable' } }, :processors => [:text]
>> > ...
>> >
>> > The :fake => 'variable' part is just in there to get the offset
>> > correct for the processors variable. I am not sure if it's still
>> > needed, but I have been doing it this way since early this summer.
>> >
>> > Later, you can access that version of the file as you would any other
>> > paperclip-attached model attribute. In this example, this might look
>> > like document.pdf.url(:text). Your untouched original will always be
>> > at document.pdf.url(:original).
>> >
>> > Walter
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to rubyonrails-talk+unsubscribe@googlegroups.com.
> To post to this group, send email to rubyonrails-talk@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/rubyonrails-talk/c33f091f-69ff-4c98-b66e-d6f72f01c081%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAL%3D0gLuijaPg7i5SCb3JbyehkvuRtLLFvf7uLFETfXPRvyshWg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment