Module: SimMeterAU

Defined in:
lib/sim_meter_au.rb,
lib/sim_meter_au/cli.rb,
lib/sim_meter_au/errors.rb,
lib/sim_meter_au/models.rb,
lib/sim_meter_au/service.rb,
lib/sim_meter_au/version.rb,
lib/sim_meter_au/provider.rb,
lib/sim_meter_au/serializable.rb,
lib/sim_meter_au/providers/aldi_mobile.rb,
lib/sim_meter_au/providers/aldi_mobile/parsers/usage.rb,
lib/sim_meter_au/providers/aldi_mobile/parsers/orders.rb,
lib/sim_meter_au/providers/aldi_mobile/parsers/service_details.rb

Defined Under Namespace

Modules: Providers, Serializable Classes: AmbiguousServiceError, AuthenticationError, CLI, ConfigurationError, ConnectionError, DataBalance, Error, Order, Payg, Plan, Provider, ProviderNotFoundError, Service, ServiceDetails, ServiceNotFoundError, UnexpectedResponseError, UsageRecord, UsageReport, UsageSummary

Constant Summary collapse

PROVIDERS =
{
  aldi_mobile: Providers::AldiMobile
}.freeze
PROVIDER_ALIASES =
{
  aldi: :aldi_mobile,
  aldimobile: :aldi_mobile
}.freeze
VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.client(provider:, **options) ⇒ Object



25
26
27
# File 'lib/sim_meter_au.rb', line 25

def self.client(provider:, **options)
  provider_class(provider).new(**options)
end

.provider_class(provider) ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/sim_meter_au.rb', line 29

def self.provider_class(provider)
  key = normalize_provider(provider)
  PROVIDERS.fetch(key)
rescue KeyError
  available = PROVIDERS.keys.join(", ")
  raise ProviderNotFoundError,
    "Unknown provider #{provider.inspect}. Available providers: #{available}"
end

.providersObject



38
39
40
# File 'lib/sim_meter_au.rb', line 38

def self.providers
  PROVIDERS.keys
end