class BitBucket::API

Public Class Methods

inherited(klass) click to toggle source

Returns all API public methods for a given class.

Calls superclass method
# File lib/bitbucket_rest_api/api/actions.rb, line 7
    def self.inherited(klass)
      klass.class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1
        def self.actions
          self.new.api_methods_in(#{klass})
        end
        def actions
          api_methods_in(#{klass})
        end
      RUBY_EVAL
      super
    end
new(options={}, &block) click to toggle source

Creates new API

Calls superclass method
# File lib/bitbucket_rest_api/api.rb, line 37
def initialize(options={}, &block)
  super()
  setup options
  set_api_client

  self.instance_eval(&block) if block_given?
end

Public Instance Methods

api_methods_in(klass) click to toggle source
# File lib/bitbucket_rest_api/api/actions.rb, line 19
def api_methods_in(klass)
  methods = []
  (klass.send(:instance_methods, false) - ['actions']).sort.each do |method|
    methods << method
  end
  klass.included_modules.each do |mod|
    if mod.to_s =~ /#{klass}/
      mod.instance_methods(false).each do |met|
        methods << met
      end
    end
  end
  methods
end
process_basic_auth(auth) click to toggle source

Extract login and password from basic_auth parameter

# File lib/bitbucket_rest_api/api.rb, line 54
def process_basic_auth(auth)
  case auth
  when String
    self.login, self.password = auth.split(':', 2)
  when Hash
    self.login    = auth[:login]
    self.password = auth[:password]
  end
end
set_api_client() click to toggle source

Assigns current api class

# File lib/bitbucket_rest_api/api.rb, line 65
def set_api_client
  BitBucket.api_client = self
end
setup(options={}) click to toggle source
# File lib/bitbucket_rest_api/api.rb, line 45
def setup(options={})
  options = BitBucket.options.merge(options)
  Configuration::VALID_OPTIONS_KEYS.each do |key|
    send("#{key}=", options[key])
  end
  process_basic_auth(options[:basic_auth])
end
update_and_validate_user_repo_params(user_name, repo_name=nil) click to toggle source
# File lib/bitbucket_rest_api/api.rb, line 81
def update_and_validate_user_repo_params(user_name, repo_name=nil)
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?
end