     1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

    <?php

    /**
     * @model Account
     * http://ap.bandwidth.com/docs/rest-api/account/
     *
     * provides access to account information
     * and transactions
     *
     * provides:
     * get/0
     *
     */
    namespace Catapult;

    final class Account extends GenericResource {

        /**
         *
         * Init forms:
         *
         * GET
         * Account()
         *
         */
        public function __construct($data=null) {
          $data = Ensure::Input($data);

          parent::_init($data, new DependsResource,
            new LoadsResource(array("primary" => "GET", "id" => "id", "init" => "", "silent" => false)),
            new SchemaResource(array("fields" => array( "balance", "accountType"), "needs" => array("balance", "accountType")),
            new SubFunctionResource(array("term" => "transactions", "type" => "get"))
          ));
        }

        /**
         * Return the balance
         * in float
         */
        public function getBalance() {
          return (float) $this->get()->balance();
        }
    }