# File lib/deltacloud.rb, line 134
    def declare_entry_points_methods(entry_points)
      API.instance_eval do
        entry_points.keys.select {|k| [:instance_states].include?(k)==false }.each do |model|

          define_method model do |*args|
            request(:get, entry_points[model], args.first) do |response|
              base_object_collection(model, response)
            end
          end

          define_method "#{model.to_s.singularize}""#{model.to_s.singularize}" do |*args|
            request(:get, "#{entry_points[model]}/#{args[0]}") do |response|
              base_object(model, response)
            end
          end

          define_method "fetch_#{model.to_s.singularize}""fetch_#{model.to_s.singularize}" do |url|
            id = url.grep(/\/#{model}\/(.*)$/)
            self.send(model.to_s.singularize.to_sym, $1)
          end

      end

      #define methods for blobs:
      if(entry_points.include?(:buckets))
        define_method "blob""blob" do |*args|
            bucket = args[0]["bucket"]
            blob = args[0][:id]
            request(:get, "#{entry_points[:buckets]}/#{bucket}/#{blob}") do |response|
              base_object("blob", response)
            end
        end
      end

      end
    end