Sha256: 951c274af5b859e79691cd04aff3aeae25d8be45ce429c5e49d4c7b60ac0a518

Contents?: true

Size: 1.1 KB

Versions: 3

Compression:

Stored size: 1.1 KB

Contents

module EatabitRails

  module REST

    class Uri

      def self.default_params
        {
          content_type: :json,
          accept: :json
        }
      end

      def initialize
        @sid      = EatabitRails.configuration.sid
        @token    = EatabitRails.configuration.token
        @protocol = EatabitRails::REST::Config::PROTOCOL
        @host     = EatabitRails::REST::Config::HOST
        @version  = EatabitRails.configuration.version || EatabitRails::REST::Config::VERSION
      end

      def base_uri
        [
          @protocol,
          '://',
          @sid,
          ':',
          @token,
          '@',
          @host,
          '/',
          @version,
          '/account/',
          @sid
        ].join
      end

      def printer(id)
        [
          base_uri,
          'printers',
          id
        ].join('/')
      end

      def job(printer_id, job_id = nil)
        uri = [
          printer(printer_id),
          'jobs'
        ]

        if job_id
          uri.push job_id
        end

        uri.join('/')
      end

      alias :account :base_uri
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
eatabit_rails-0.2.0 lib/eatabit_rails/rest/uri.rb
eatabit_rails-0.1.1 lib/eatabit_rails/rest/uri.rb
eatabit_rails-0.1.0 lib/eatabit_rails/rest/uri.rb