Class: PF::QiniuProfile
- Inherits:
-
Object
- Object
- PF::QiniuProfile
- Defined in:
- lib/pf/profile/profile.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#accounts ⇒ Object
Returns the value of attribute accounts.
-
#default_account ⇒ Object
Returns the value of attribute default_account.
Instance Method Summary collapse
- #account(name = nil) ⇒ Object
- #add_account(new_account, default: true) ⇒ Object
- #exist_account?(name) ⇒ Boolean
-
#initialize(parent) ⇒ QiniuProfile
constructor
A new instance of QiniuProfile.
- #remove_account(name) ⇒ Object
- #save ⇒ Object
- #update_default(name: nil) ⇒ Object
Constructor Details
#initialize(parent) ⇒ QiniuProfile
62 63 64 65 |
# File 'lib/pf/profile/profile.rb', line 62 def initialize(parent) @parent = parent @accounts = [] end |
Instance Attribute Details
#accounts ⇒ Object
Returns the value of attribute accounts.
60 61 62 |
# File 'lib/pf/profile/profile.rb', line 60 def accounts @accounts end |
#default_account ⇒ Object
Returns the value of attribute default_account.
60 61 62 |
# File 'lib/pf/profile/profile.rb', line 60 def default_account @default_account end |
Instance Method Details
#account(name = nil) ⇒ Object
71 72 73 74 |
# File 'lib/pf/profile/profile.rb', line 71 def account(name=nil) name = @default_account if name.nil? @accounts.find { |account| account.name == name} end |
#add_account(new_account, default: true) ⇒ Object
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/pf/profile/profile.rb', line 105 def add_account(new_account, default: true) updated = true account = account(new_account.name) if account.nil? @accounts.push(new_account) else if account.equal? new_account updated = false else # remove_account(new_account.name) @accounts.delete_if{|a| a.name == new_account} @accounts.unshift(new_account) end end if default @default_account = new_account.name end update_default updated end |
#exist_account?(name) ⇒ Boolean
67 68 69 |
# File 'lib/pf/profile/profile.rb', line 67 def exist_account?(name) !account(name).nil? end |
#remove_account(name) ⇒ Object
76 77 78 79 |
# File 'lib/pf/profile/profile.rb', line 76 def remove_account(name) @accounts.delete_if{|account| account.name == name} update_default end |
#save ⇒ Object
129 130 131 |
# File 'lib/pf/profile/profile.rb', line 129 def save @parent.save end |
#update_default(name: nil) ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/pf/profile/profile.rb', line 81 def update_default(name: nil) if name.nil? if @default_account.nil? unless @accounts.empty? @default_account = @accounts.first.name end else if @accounts.empty? @default_account = nil else if account.nil? @default_account = @accounts.first.name end end end else if exist_account? name @default_account = name else update_default end end end |