From 2890f77c78e96e894ffcbfc20dc4b05b8a550a81 Mon Sep 17 00:00:00 2001 From: Sergey Gernyak Date: Mon, 24 Nov 2014 17:59:17 +0200 Subject: [PATCH] FEAT: getAccountDetails request method --- lib/betfair_api_ng_rails.rb | 2 ++ .../api/data/account_details_response.rb | 27 +++++++++++++++++++ .../api/parsers/get_account_details.rb | 13 +++++++++ .../api/request_methods/account.rb | 2 ++ 4 files changed, 44 insertions(+) create mode 100644 lib/betfair_api_ng_rails/api/data/account_details_response.rb create mode 100644 lib/betfair_api_ng_rails/api/parsers/get_account_details.rb diff --git a/lib/betfair_api_ng_rails.rb b/lib/betfair_api_ng_rails.rb index 2dc261c..379b960 100644 --- a/lib/betfair_api_ng_rails.rb +++ b/lib/betfair_api_ng_rails.rb @@ -67,6 +67,7 @@ module BetfairApiNgRails autoload :LimitOrder, 'betfair_api_ng_rails/api/data/limit_order' autoload :LimitOnCloseOrder, 'betfair_api_ng_rails/api/data/limit_on_close_order' autoload :MarketOnCloseOrder, 'betfair_api_ng_rails/api/data/market_on_close_order' + autoload :AccountDetailsResponse,'betfair_api_ng_rails/api/data/account_details_response' module Concerns autoload :Hashable, 'betfair_api_ng_rails/api/data/concerns/hashable' @@ -125,6 +126,7 @@ module BetfairApiNgRails autoload :ListMarketCatalogue, 'betfair_api_ng_rails/api/parsers/list_market_catalogue' autoload :ListMarketBook, 'betfair_api_ng_rails/api/parsers/list_market_book' autoload :PlaceOrders, 'betfair_api_ng_rails/api/parsers/place_orders' + autoload :GetAccountDetails, 'betfair_api_ng_rails/api/parsers/get_account_details' end module ConnectionExt diff --git a/lib/betfair_api_ng_rails/api/data/account_details_response.rb b/lib/betfair_api_ng_rails/api/data/account_details_response.rb new file mode 100644 index 0000000..a741cf0 --- /dev/null +++ b/lib/betfair_api_ng_rails/api/data/account_details_response.rb @@ -0,0 +1,27 @@ +module BetfairApiNgRails + module Api + module Data + class AccountDetailsResponse < Api::Data::Base + include Api::Data::Concerns::Hashable + + ACCOUNT_DETAILS_RESPONSE_ATTRS = [ + :currency_code, + :first_name, + :last_name, + :locale_code, + :region, + :timezone, + :discount_rate, + :points_balance + ] + + attributes ACCOUNT_DETAILS_RESPONSE_ATTRS + + def self.to_hash_attrs + ACCOUNT_DETAILS_RESPONSE_ATTRS + end + end + end + end +end + diff --git a/lib/betfair_api_ng_rails/api/parsers/get_account_details.rb b/lib/betfair_api_ng_rails/api/parsers/get_account_details.rb new file mode 100644 index 0000000..e66f1ea --- /dev/null +++ b/lib/betfair_api_ng_rails/api/parsers/get_account_details.rb @@ -0,0 +1,13 @@ +module BetfairApiNgRails + module Api + module Parsers + class GetAccountDetails < Api::Parsers::SingleBase + private + + def data_class + Api::Data::AccountDetailsResponse + end + end + end + end +end diff --git a/lib/betfair_api_ng_rails/api/request_methods/account.rb b/lib/betfair_api_ng_rails/api/request_methods/account.rb index db1aa44..d47d748 100644 --- a/lib/betfair_api_ng_rails/api/request_methods/account.rb +++ b/lib/betfair_api_ng_rails/api/request_methods/account.rb @@ -6,6 +6,7 @@ module BetfairApiNgRails # Returns the details relating your account, including your discount rate and Betfair point balance. # def get_account_details + run_request __method__, {} end # @@ -13,6 +14,7 @@ module BetfairApiNgRails # from either the UK or AUS Accounts API endpoint if the wallet parameter is not specified. # def get_account_funds + run_request __method__, {} end end end -- GitLab