Module: Telegraph::Account
- Defined in:
- lib/telegraph/api/account.rb,
lib/telegraph/validations/account.rb
Constant Summary collapse
- CreateAccountSchema =
Dry::Validation.Schema do required(:short_name) { str? & size?(1..32) } optional(:author_name) { str? & size?(0..128) } optional(:author_url) { str? & size?(0..512) } end
- EditAccountInfoSchema =
Dry::Validation.Schema do required(:access_token) { str? } optional(:short_name) { str? & size?(1..32) } optional(:author_name) { str? & size?(0..128) } optional(:author_url) { str? & size?(0..512) } end
- GetAccountInfoSchema =
Dry::Validation.Schema do configure do def valid_fields?(value) (value - Telegraph::Types::Account::FIELDS).empty? end end required(:access_token) { str? } optional(:fields) { valid_fields? } end
- RevokeAccessTokenSchema =
Dry::Validation.Schema do required(:access_token) { str? } end
Class Method Summary collapse
- .create(params) ⇒ Object
- .edit(params) ⇒ Object
- .info(params) ⇒ Object
- .revoke_token(params) ⇒ Object
Class Method Details
.create(params) ⇒ Object
3 4 5 6 7 |
# File 'lib/telegraph/api/account.rb', line 3 def self.create(params) return nil unless CreateAccountSchema.(params).success? response = Telegraph::Core.request('createAccount', params) Types::Account.new(Hashie.symbolize_keys response['result']) end |
.edit(params) ⇒ Object
9 10 11 12 13 |
# File 'lib/telegraph/api/account.rb', line 9 def self.edit(params) return nil unless EditAccountInfoSchema.(params).success? response = Telegraph::Core.request('editAccountInfo', params) Types::Account.new(Hashie.symbolize_keys response['result']) end |
.info(params) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/telegraph/api/account.rb', line 15 def self.info(params) return nil unless GetAccountInfoSchema.(params).success? params[:fields] = params[:fields].to_s response = Telegraph::Core.request('getAccountInfo', params) Types::Account.new(Hashie.symbolize_keys response['result']) end |
.revoke_token(params) ⇒ Object
22 23 24 25 26 27 |
# File 'lib/telegraph/api/account.rb', line 22 def self.revoke_token(params) return nil unless RevokeAccessTokenSchema.(params).success? response = Telegraph::Core.request('revokeAccessToken', params) return response['error'] if response['error'] Types::Account.new(Hashie.symbolize_keys response['result']) end |