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'