Sha256: d3eac7a76bddff60e7a45a630b98c38e720d412fc3c7f10d871476aa5c66aeda
Contents?: true
Size: 1.01 KB
Versions: 2
Compression:
Stored size: 1.01 KB
Contents
module Xeroizer class Connection attr_accessor :attributes attr_reader :parent class << self def current_connections(client) response = do_request(client) if response.success? JSON.parse(response.plain_body).map do |connection_json| build(connection_json, client) end else raise Xeroizer::OAuth::TokenInvalid, response.plain_body end end def build(attributes, parent) record = new(parent) record.attributes = attributes record end private def do_request(client) client.get('https://api.xero.com/connections') end end def initialize(parent) @parent = parent @attributes = {} end def method_missing(name, *_args) @attributes.send(:[], name.to_s.camelcase(:lower)) end def delete parent.delete("https://api.xero.com/connections/#{id}") end def to_h attributes.transform_keys(&:underscore) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
xeroizer-3.0.1 | lib/xeroizer/connection.rb |
xeroizer-3.0.0 | lib/xeroizer/connection.rb |