Class: NJTransit::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/njtransit/configuration.rb

Constant Summary collapse

VALID_LOG_LEVELS =
%w[silent info debug].freeze
DEFAULT_BASE_URL =
"https://pcsdata.njtransit.com"
DEFAULT_RAIL_BASE_URL =
"https://raildata.njtransit.com"
DEFAULT_TIMEOUT =
30

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



13
14
15
16
17
18
19
20
# File 'lib/njtransit/configuration.rb', line 13

def initialize
  @username = ENV.fetch("NJTRANSIT_USERNAME", nil)
  @password = ENV.fetch("NJTRANSIT_PASSWORD", nil)
  @log_level = ENV.fetch("NJTRANSIT_LOG_LEVEL", "silent")
  @base_url = ENV.fetch("NJTRANSIT_BASE_URL", DEFAULT_BASE_URL)
  @timeout = ENV.fetch("NJTRANSIT_TIMEOUT", DEFAULT_TIMEOUT).to_i
  @gtfs_database_path = ENV.fetch("NJTRANSIT_GTFS_DATABASE_PATH", nil) || default_gtfs_database_path
end

Instance Attribute Details

#base_urlObject

Returns the value of attribute base_url.



10
11
12
# File 'lib/njtransit/configuration.rb', line 10

def base_url
  @base_url
end

#gtfs_database_pathObject

Returns the value of attribute gtfs_database_path.



10
11
12
# File 'lib/njtransit/configuration.rb', line 10

def gtfs_database_path
  @gtfs_database_path
end

#log_levelObject

Returns the value of attribute log_level.



11
12
13
# File 'lib/njtransit/configuration.rb', line 11

def log_level
  @log_level
end

#passwordObject

Returns the value of attribute password.



10
11
12
# File 'lib/njtransit/configuration.rb', line 10

def password
  @password
end

#timeoutObject

Returns the value of attribute timeout.



10
11
12
# File 'lib/njtransit/configuration.rb', line 10

def timeout
  @timeout
end

#usernameObject

Returns the value of attribute username.



10
11
12
# File 'lib/njtransit/configuration.rb', line 10

def username
  @username
end

Instance Method Details

#to_hObject



32
33
34
35
36
37
38
39
40
# File 'lib/njtransit/configuration.rb', line 32

def to_h
  {
    username: username,
    password: password,
    log_level: log_level,
    base_url: base_url,
    timeout: timeout
  }
end