lib/ecoportal/api/v2.rb in ecoportal-api-v2-1.1.8 vs lib/ecoportal/api/v2.rb in ecoportal-api-v2-2.0.0

- old
+ new

@@ -6,24 +6,25 @@ # @attr_reader logger [Logger] the logger. class V2 extend Common::BaseClass include Common::Logging - VERSION = "v2" + VERSION = "v2".freeze class << self - def v2key (ukey, gkey) + def v2key(ukey, gkey) Base64.urlsafe_encode64({ organization: gkey, user: ukey }.to_json) end end class_resolver :people_class, "Ecoportal::API::V2::People" class_resolver :registers_class, "Ecoportal::API::V2::Registers" class_resolver :pages_class, "Ecoportal::API::V2::Pages" + class_resolver :s3_class, "Ecoportal::API::V2::S3" attr_reader :client, :logger # Creates an `V2` object to scope version specific api requests. # @note @@ -62,21 +63,27 @@ # @return [Pages] an instance object ready to make pages api requests. def pages pages_class.new(client) end + # Obtain specific object for file api requests. + # @return [S3] an instance object ready to make files api requests. + def s3 # rubocop:disable Naming/VariableNumber + s3_class.new(client) + end + private def get_key(api_key: nil, user_key: nil, org_key: nil) return self.class.v2key(user_key, org_key) if user_key && org_key return api_key if api_key #|| ENV['X_ECOPORTAL_API_KEY'] raise "You need to provide either an api_key or user_key" unless user_key raise "You need to provide an org_key as well (not just a user_key)" unless org_key end - end end end require 'ecoportal/api/v2/people' require 'ecoportal/api/v2/pages' require 'ecoportal/api/v2/registers' +require 'ecoportal/api/v2/s3'