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