class Abacos::Base
Attributes
response[R]
Public Class Methods
available(params)
click to toggle source
# File lib/abacos/base.rb, line 5 def self.available(params) call(:"#{collection_name}_disponiveis", params).map { |params| new params } end
call(method, params)
click to toggle source
# File lib/abacos/base.rb, line 29 def self.call(method, params) Response.new method, api.call(method, message: params) end
collection_name()
click to toggle source
# File lib/abacos/base.rb, line 24 def collection_name @collection_name ||= "#{resource_name}s" end
create(method, params)
click to toggle source
# File lib/abacos/base.rb, line 33 def self.create(method, params) new response: call(method, params) end
execute(query)
click to toggle source
# File lib/abacos/base.rb, line 37 def self.execute(query) db.execute(query).map { |params| new params } end
new(params)
click to toggle source
# File lib/abacos/base.rb, line 41 def initialize(params) params.each do |key, value| instance_variable_set "@#{key}", value define_singleton_method(key) { instance_variable_get "@#{key}" } end end
Private Class Methods
api()
click to toggle source
# File lib/abacos/base.rb, line 54 def self.api @api ||= Savon.client wsdl: "#{endpoint}/AbacosWS#{ws}.asmx?wsdl", log: Abacos.config['log'], read_timeout: 600, open_timeout: 600 do convert_request_keys_to :camelcase end end
db()
click to toggle source
# File lib/abacos/base.rb, line 60 def self.db @db ||= TinyTds::Client.new(Hash[Abacos.config['db'].map{ |k, v| [k.to_sym, v] }]) end
endpoint()
click to toggle source
# File lib/abacos/base.rb, line 64 def self.endpoint Abacos.config['ws']['endpoint'] end
Public Instance Methods
confirm!()
click to toggle source
# File lib/abacos/base.rb, line 9 def confirm! self.class.call(:"confirmar_recebimento_#{self.class.resource_name}", :"protocolo_#{self.class.resource_name}" => send("protocolo_#{self.class.resource_name}")) end
persisted?()
click to toggle source
# File lib/abacos/base.rb, line 48 def persisted? response.success? end