Module: Tabscanner

Defined in:
lib/tabscanner.rb,
lib/tabscanner/client.rb,
lib/tabscanner/config.rb,
lib/tabscanner/result.rb,
lib/tabscanner/credits.rb,
lib/tabscanner/request.rb,
lib/tabscanner/version.rb,
lib/tabscanner/http_client.rb,
lib/tabscanner/errors/base_error.rb,
lib/tabscanner/errors/server_error.rb,
lib/tabscanner/errors/validation_error.rb,
lib/tabscanner/errors/unauthorized_error.rb,
lib/tabscanner/errors/configuration_error.rb

Defined Under Namespace

Modules: Client, HttpClient Classes: Config, ConfigurationError, Credits, Error, Request, Result, ServerError, UnauthorizedError, ValidationError

Constant Summary collapse

VERSION =
"0.1.2"

Class Method Summary collapse

Class Method Details

.configConfig

Access the current configuration

Returns:

  • (Config)

    the singleton configuration instance



98
99
100
# File 'lib/tabscanner/config.rb', line 98

def self.config
  Config.instance
end

.configure {|Config| ... } ⇒ Config

Configure the gem with a block

Yields:

  • (Config)

    the configuration instance

Returns:

  • (Config)

    the configuration instance



91
92
93
94
# File 'lib/tabscanner/config.rb', line 91

def self.configure
  yield(Config.instance) if block_given?
  Config.instance
end

.get_creditsInteger

Check remaining API credits for the authenticated account

Returns:

  • (Integer)

    Number of remaining credits

See Also:



40
41
42
# File 'lib/tabscanner.rb', line 40

def self.get_credits
  Credits.get_credits
end

.get_result(token, timeout: 15) ⇒ Hash

Poll for OCR processing results using a token

Parameters:

  • token (String)

    Token from submit_receipt call

  • timeout (Integer) (defaults to: 15)

    Maximum time to wait in seconds (default: 15)

Returns:

  • (Hash)

    Parsed receipt data when processing is complete

See Also:



32
33
34
# File 'lib/tabscanner.rb', line 32

def self.get_result(token, timeout: 15)
  Client.get_result(token, timeout: timeout)
end

.submit_receipt(file_path_or_io) ⇒ String

Submit a receipt image for OCR processing

Parameters:

  • file_path_or_io (String, IO)

    Local file path or IO stream containing image data

Returns:

  • (String)

    Token for later result retrieval

See Also:



22
23
24
# File 'lib/tabscanner.rb', line 22

def self.submit_receipt(file_path_or_io)
  Client.submit_receipt(file_path_or_io)
end