Sha256: f1f3a5ece3996052d3f9a3cdc517fcd0dc911a3f7b315302401d1253c6052bcb
Contents?: true
Size: 1.11 KB
Versions: 207
Compression:
Stored size: 1.11 KB
Contents
require 'travis/client' module Travis module Client class Account < Entity attributes :name, :login, :type, :repos_count, :subscribed, :education one :account many :accounts inspect_info :login id_field :login def self.cast_id(id) String(id) end def self.id?(object) object.is_a? String end def subscribed load_attribute('subscribed') { true } if member? end def education load_attribute('education') { false } if member? end def on_trial? !subscribed? and !education? end def repos_count load_attribute("repos_count") { repositories.count } end def repositories attributes['repositories'] ||= session.repos(:owner_name => login) end def member? session.accounts.include? self end alias educational? education? private def load_attribute(name, &block) session.accounts if missing? name block ? attributes.fetch(name.to_s, &block) : attributes[name.to_s] end end end end
Version data entries
207 entries across 207 versions & 3 rubygems