Class: UnderFire::Configuration

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/under_fire/configuration.rb

Overview

Configuration information.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



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

def initialize
  @config_info = load_config
end

Instance Attribute Details

#config_infoObject (readonly)

Returns the value of attribute config_info.



8
9
10
# File 'lib/under_fire/configuration.rb', line 8

def config_info
  @config_info
end

Instance Method Details

#api_urlString

Gracenote API url for use in queries.

Returns:

  • (String)


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

def api_url
  "https://c#{client_id_string}.web.cddbp.net/webapi/xml/1.0/"
end

#authorized?Boolean

Returns true if user has a user_id

Returns:

  • (Boolean)


46
47
48
# File 'lib/under_fire/configuration.rb', line 46

def authorized?
  user_id != nil
end

#client_idString

Gracenote client id stored in environment variable.

Returns:

  • (String)


16
17
18
# File 'lib/under_fire/configuration.rb', line 16

def client_id
  config_info.fetch(:client_id, nil).to_s
end

#client_id_stringString

Part of client id before the hyphen (used by api_url).

Returns:

  • (String)


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

def client_id_string
  client_id.split('-')[0]
end

#client_tagString

Part of client id after hyphen

Returns:

  • (String)


28
29
30
# File 'lib/under_fire/configuration.rb', line 28

def client_tag
  client_id.split('-')[1]
end

#configured?Boolean

Returns true if user has a client_id and user_id

Returns:

  • (Boolean)


52
53
54
# File 'lib/under_fire/configuration.rb', line 52

def configured?
  client_id != nil && !authorized?
end

#resetObject



56
57
58
# File 'lib/under_fire/configuration.rb', line 56

def reset
  initialize
end

#user_idString

Gracenote user id

Returns:

  • (String)


34
35
36
# File 'lib/under_fire/configuration.rb', line 34

def user_id
  config_info.fetch(:user_id, nil).to_s
end