addis_a
December 24, 2014, 1:20pm
1
Hi everyone! Are you ok? I hope yes…
I’m working on a class whose its responsibility is calculate Brazilian
taxes.
Its use is so and so like this:
invoice_product = InvoiceProduct.new(filtered_params)
operationkind = Operationkind.find(params[:operationkind_id])
recipient = Person.find(params[:recipient_id])
finder = Taxes::Premisefinder.new
finder.find(
current_user.licenciated,
recipient.city.uf,
operationkind,
invoice_product.product.taxgroup,
invoice_product)
render json: invoice_product, status: :created
It’s used in a controller to respond as json in a rest API. It’s not a
ActiveRecord descendent class.
My doubt is: what is the best way to collect the possible errors
generated
from Taxes::Premisefinder?
Should I do Taxes::Premisefinder generates exceptions and catch them on
the
controller?
Should I use similar strategy of ActiveRecord using Errrors class?
In this case, what’s the Rails way to work?
Thanks!
Hi Anjos,
Which is the class that is not ActiveRecord descendent ? Im
assuming Taxes::Premisefinder
define an errors class this way
class Error
attr_accessor :errors
def initialize
@errors = {}
end
def add(key, message)
self.errors[key] = message
end
end
class Car
def errors
@errors ||= Error.new
end
end
@car = Car.new
@car.errors.add (:name, “Invalid”)
And you can define valid? method and add errors accordingly.
Its not perfect but can be a good starting point.
On Wed, Dec 24, 2014 at 5:08 PM, Cezinha A. [email protected]
Thanks for your reply!
I did this and now it’s perfect.
[?] Merry Xmas
2014-12-24 11:27 GMT-02:00 Vivek S. [email protected] :
@errors = {}
end
wrote:
recipient = Person.find(params[:recipient_id])
render json: invoice_product, status: :created
the controller?
To unsubscribe from this group and stop receiving emails from it, send an
You received this message because you are subscribed to the Google G.
“Ruby on Rails: Talk” group.
To unsubscribe from this group and stop receiving emails from it, send an
email to [email protected] .
To post to this group, send email to [email protected] .
To view this discussion on the web visit
https://groups.google.com/d/msgid/rubyonrails-talk/CAFKVRj-f6v1ySsT_1v1okX07V_z7PvZBNQEq4cv5c7oe3JFCtw%40mail.gmail.com
https://groups.google.com/d/msgid/rubyonrails-talk/CAFKVRj-f6v1ySsT_1v1okX07V_z7PvZBNQEq4cv5c7oe3JFCtw%40mail.gmail.com?utm_medium=email&utm_source=footer
.
For more options, visit https://groups.google.com/d/optout .
–
César Luiz dos Anjos Júnior
Diretor
(48) 3263-7137
Sistema de gestão para micro e pequenas empresas com emissão de nota fiscal, financeiro, estoque, produção, força de vendas e muito mais.
[image: Descrição: Descrição: C:\assinatura_email\logo.jpg]
"A curiosidade é um dos maiores sinais de vitalidade de um
profissional.”
Jim Collins
“Keep learning like a crazy…”
Uncle Bob