0
I’m trying to send a request using the NET::HTTP.post_form
, but is returning this error:
Code:
module External
module Connection
module Export
class Hawk
require 'net/http'
require 'uri'
attr_accessor :hash
def self.export!(*attr)
new(*attr).export!
end
def initialize(options = {})
self.hash = options.delete(:hash)
@send_method = options.delete(:send_method)
@uri = options.delete(:uri) { URI }
@net_http = options.delete(:net_http) { Net::HTTP }
@settings = options.delete(:settings) { ::Settings }
@manager_repository = options.delete(:manager_repository) { ::Manager }
end
def export!
begin
manager = manager_repository.is_active.last
self.hash[:token] = manager.token_importer
url = uri.join manager.url_importer, send_method.to_s
net_http.post_form(url, hash) if settings.connection_export
rescue
# TODO
end
end
private
attr_reader :settings, :send_method, :uri, :net_http, :manager_repository
end
end
end
end
Error:
private method `methods' called for #<Net::HTTP my_url open=false>
["/home/duglas/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http.rb:576:in `start'",
"/home/duglas/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http.rb:507:in `post_form'",
"/home/duglas/sgc/app/business/external/connection/export/hawk.rb:31:in `export!'",
"/home/duglas/sgc/app/business/external/connection/export/hawk.rb:11:in `export!'",
"/home/duglas/sgc/app/business/external/export/hawk/balance.rb:27:in `send_balance!'",
"/home/duglas/sgc/app/business/external/export/hawk/balance.rb:7:in `send_balance!'",
"/home/duglas/sgc/lib/tasks/send_balance_control.rake:5:in `block (3 levels) in <top (required)>'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/activerecord-4.0.5/lib/active_record/relation/delegation.rb:13:in `each'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/activerecord-4.0.5/lib/active_record/relation/delegation.rb:13:in `each'",
"/home/duglas/sgc/lib/tasks/send_balance_control.rake:4:in `block (2 levels) in <top (required)>'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/lib/rake/task.rb:240:in `call'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/lib/rake/task.rb:240:in `block in execute'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/lib/rake/task.rb:235:in `each'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'",
"/home/duglas/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/lib/rake/application.rb:106:in `each'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/lib/rake/application.rb:106:in `block in top_level'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/lib/rake/application.rb:78:in `block in run'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/lib/rake/application.rb:75:in `run'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/gems/rake-10.3.2/bin/rake:33:in `<top (required)>'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/bin/rake:23:in `load'",
"/home/duglas/.rvm/gems/ruby-2.1.0@sgc/bin/rake:23:in `<main>'"]
Rake:
namespace :send_balance_control do
desc 'Send balance of actives associate lines'
task(generate: :environment) do
AssociateLine.voice_lines.active.each do |associate_line|
External::Export::Hawk::Balance.send_balance!(associate_line)
end
end
end
Another thing: when I use Rails c (console) and rotate the code that is inside the rake works. But when I rotate the rake does not work.
Friend, this is Stackoverflow in English. Please translate your question so that it fits our standards and can be answered.
– Joao Paulo
Sorry, updated.
– douglasfeitosa
Are you putting the rake inside the lib/tasks folder? Which version of Rails are you using?
– Felipe Bergamo