lib/balanced.rb in balanced-0.2.5 vs lib/balanced.rb in balanced-0.3.0

- old
+ new

@@ -1,10 +1,11 @@ +$:.unshift File.join(File.dirname(__FILE__), "balanced", "resources") + require 'uri' require 'balanced/version' unless defined? Balanced::VERSION require 'balanced/client' require 'balanced/utils' -require 'balanced/base' require 'balanced/resources' module Balanced @client = nil @@ -15,38 +16,19 @@ :version => '1', } class << self - attr_accessor 'client' - attr_accessor 'config' + attr_accessor :client + attr_accessor :config def configure(api_key=nil, options={}) - options = @config.merge! options - @config = options - @client = Balanced::Client.new(api_key, @config) + @client = Balanced::Client.new(api_key, @config.merge(options)) end - def get uri, params = {} - self.client.get uri, params - end - - def post uri, data = {} - self.client.post uri, data - end - - def put uri, data = {} - self.client.put uri, data - end - - def delete uri - self.client.delete uri - end - def split_the_uri uri - parsed_uri = URI.parse(uri) - parsed_uri.path.sub(/\/$/, '').split('/') + URI.parse(uri).path.sub(/\/$/, '').split('/') end def from_uri uri split_uri = split_the_uri(uri) # this is such an ugly hack, basically, we're trying to @@ -70,11 +52,20 @@ rescue NameError return false end true end + + def method_missing(method, *args, &block) + case method + when :get, :post, :put, :delete + self.client.send method, *args + else + super + end + end end # configure on import so we don't have to configure for creating # an api key configure -end \ No newline at end of file +end