Sha256: cfce9bf782d2622b7ed0455092e6c81d13e4f8089134b827300ff257fe7aa588

Contents?: true

Size: 1.12 KB

Versions: 2

Compression:

Stored size: 1.12 KB

Contents

module EasyPost
  class User < Resource
    def self.create(params={}, api_key=nil)
      response = EasyPost.make_request(:post, self.url, api_key, {self.class_name.to_sym => params})
      return Util.convert_to_easypost_object(response, api_key)
    end

    def save
      if @unsaved_values.length > 0
        values = {}
        @unsaved_values.each { |k| values[k] = @values[k] }

        wrapped_params = {user: values}

        response = EasyPost.make_request(:put, url, @api_key, wrapped_params)
        refresh_from(response, api_key)
      end
      return self
    end

    def self.retrieve_me
      self.all
    end

    def self.all_api_keys
      response = EasyPost.make_request(:get, "/api_keys", @api_key)
      return Util.convert_to_easypost_object(response, api_key)
    end

    def api_keys
      api_keys = EasyPost::User.all_api_keys

      if api_keys.id == self.id
        my_api_keys = api_keys.keys
      else
        for child in api_keys.children
          if child.id == self.id
            my_api_keys = child.keys
            break
          end
        end
      end

      my_api_keys
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
easypost-3.1.4 lib/easypost/user.rb
easypost-3.1.3 lib/easypost/user.rb