class Travis::Client::Namespace
Attributes
session[RW]
Public Class Methods
new(session = nil)
click to toggle source
# File lib/travis/client/namespace.rb, line 52 def initialize(session = nil) session = Travis::Client.new(session || {}) unless session.is_a? Session @session = session Entity.subclasses.each do |subclass| name = subclass.name[/[^:]+$/] const_set(name, Curry.new(self, subclass)) end end
Public Instance Methods
included(klass)
click to toggle source
# File lib/travis/client/namespace.rb, line 62 def included(klass) fix_names(klass) delegate_session(klass) end
Private Instance Methods
delegate_session(klass)
click to toggle source
# File lib/travis/client/namespace.rb, line 76 def delegate_session(klass) return if klass == Object or klass == Kernel klass.extend(Methods) namespace = self klass.define_singleton_method(:session) { namespace.session } klass.define_singleton_method(:session=) { |value| namespace.session = value } end
fix_names(klass)
click to toggle source
# File lib/travis/client/namespace.rb, line 69 def fix_names(klass) constants.each do |name| const = klass.const_get(name) klass.const_set(name, const) if const == const_get(name) end end