Показ дописів із міткою ruby. Показати всі дописи
Показ дописів із міткою ruby. Показати всі дописи

пʼятниця, 5 квітня 2013 р.

as_json too slow

Проблема: json из 200-300 записей генерировался очень долго (около 5 секунд)
Benchmark показал, что 90% времени занимает вызов

json = my_model.as_json #  <---  около 40мс

для моделей.

То же , но как хеш ускорилось в 100 раз

json = {
  id: my_model.id,
  lat: my_model.lat,
  ...
}  #  <---  около 0.4 мс !!!

вівторок, 12 березня 2013 р.

Rails 3 validations

Validate URL 

(from https://gist.github.com/bluemont/2986523 and http://stackoverflow.com/questions/7167895/whats-a-good-way-to-validate-links-urls-in-rails-3)

Put this into app/validators

class UrlValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
valid = begin
URI.parse(value).kind_of?(URI::HTTP)
rescue URI::InvalidURIError
false
end
unless valid
record.errors[attribute] << (options[:message] || "is an invalid URL")
end
end
end

Usage

validates :url, :presence => true, :url => true

неділя, 23 грудня 2012 р.

Ruby Net:HTTP and https

# подготовка параметров
uri = URI('https://server/path')
request_params = {'param1' => 'val1'}

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true if uri.scheme == 'https'

http.start do |h|
  request = Net::HTTP::Post.new uri.request_uri
  request.set_form_data(request_params)
  response = h.request request # Net::HTTPResponse object

  # обработка response.body
end