lib/namely.rb in namely-0.0.1 vs lib/namely.rb in namely-0.1.0

- old
+ new

@@ -4,111 +4,12 @@ require "rest_client" require "namely/authenticator" require "namely/exceptions" require "namely/resource_gateway" -require "namely/restful_model" +require "namely/collection" +require "namely/connection" -require "namely/country" -require "namely/currency_type" -require "namely/event" -require "namely/field" -require "namely/job_tier" -require "namely/profile" -require "namely/report" - require "namely/version" module Namely - class << self - attr_writer :configuration - end - - # Return the current configuration. - # - # @raise [ImproperlyConfiguredError] if the subdomain or access token - # haven't been configured. - # - # @return [Configuration] - def self.configuration - @configuration || raise( - ImproperlyConfiguredError, - "Before using the Namely gem, you'll need to configure it with `Namely.configure`." - ) - end - - # Set the configuration variables (the subdomain and access token) - # that allow the Namely gem to access your account. - # - # @yieldparam [Configuration] configuration the Configuration - # object, the attributes of which can be set in the block. - # - # @example - # Namely.configure do |config| - # config.access_token = "your_access_token" - # config.subdomain = "your-organization" - # end - # - # @return [void] - def self.configure - @configuration ||= Configuration.new - yield configuration - end - - # Return a resource gateway for interfacing with a given resource. - # - # @param [String] resource_name - # @param [String] endpoint - # - # @return [ResourceGateway] - def self.resource_gateway(resource_name, endpoint) - configuration.resource_gateway(resource_name, endpoint) - end - - class Configuration - attr_writer :access_token, :subdomain - - # Get the access token. - # - # @raise [ImproperlyConfiguredError] if the access token hasn't - # been configured. - # - # @return [String] the access token - def access_token - @access_token || raise_missing_variable_error(:access_token) - end - - # Get the subdomain. - # - # @raise [ImproperlyConfiguredError] if the subdomain hasn't been - # configured. - # - # @return [String] the subdomain - def subdomain - @subdomain || raise_missing_variable_error(:subdomain) - end - - # Create a resource gateway for interfacing with a given resource. - # - # @param [String] resource_name - # @param [String] endpoint - # - # @return [ResourceGateway] - def resource_gateway(resource_name, endpoint) - Namely::ResourceGateway.new( - access_token: access_token, - endpoint: endpoint, - resource_name: resource_name, - subdomain: subdomain - ) - end - - private - - def raise_missing_variable_error(variable) - raise( - ImproperlyConfiguredError, - "The Namely `#{variable}` configuration variable hasn't been set... did you set it when you called `Namely.configure`?" - ) - end - end end