Class: WonkoTheSane::Util::Configuration
- Inherits:
-
Object
- Object
- WonkoTheSane::Util::Configuration
- Defined in:
- lib/wonko_the_sane/util/configuration.rb
Defined Under Namespace
Classes: Aws
Instance Attribute Summary collapse
-
#aws ⇒ Object
readonly
Returns the value of attribute aws.
-
#data_path ⇒ Object
Returns the value of attribute data_path.
-
#lists ⇒ Object
readonly
Returns the value of attribute lists.
-
#out_dir ⇒ Object
Returns the value of attribute out_dir.
-
#wonkoweb ⇒ Object
readonly
Returns the value of attribute wonkoweb.
Instance Method Summary collapse
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
- #load_from_env ⇒ Object
- #load_from_file(filename) ⇒ Object
- #register_list(list) ⇒ Object
- #register_lists_from_sources(filename = 'sources.json') ⇒ Object
Constructor Details
#initialize ⇒ Configuration
19 20 21 22 23 |
# File 'lib/wonko_the_sane/util/configuration.rb', line 19 def initialize @lists = [] @aws = Aws.new @data_path = Dir.pwd + '/data' end |
Instance Attribute Details
#aws ⇒ Object (readonly)
Returns the value of attribute aws.
13 14 15 |
# File 'lib/wonko_the_sane/util/configuration.rb', line 13 def aws @aws end |
#data_path ⇒ Object
Returns the value of attribute data_path.
16 17 18 |
# File 'lib/wonko_the_sane/util/configuration.rb', line 16 def data_path @data_path end |
#lists ⇒ Object (readonly)
Returns the value of attribute lists.
15 16 17 |
# File 'lib/wonko_the_sane/util/configuration.rb', line 15 def lists @lists end |
#out_dir ⇒ Object
Returns the value of attribute out_dir.
17 18 19 |
# File 'lib/wonko_the_sane/util/configuration.rb', line 17 def out_dir @out_dir end |
#wonkoweb ⇒ Object (readonly)
Returns the value of attribute wonkoweb.
14 15 16 |
# File 'lib/wonko_the_sane/util/configuration.rb', line 14 def wonkoweb @wonkoweb end |
Instance Method Details
#load_from_env ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/wonko_the_sane/util/configuration.rb', line 25 def load_from_env @aws.client_id = ENV['WTS_AWS_CLIENT_ID'] if ENV['WTS_AWS_CLIENT_ID'] @aws.client_secret = ENV['WTS_AWS_CLIENT_SECRET'] if ENV['WTS_AWS_CLIENT_SECRET'] @aws.bucket = ENV['WTS_AWS_BUCKET'] if ENV['WTS_AWS_BUCKET'] @data_path = ENV['WTS_DATA_PATH'] if ENV['WTS_DATA_PATH'] @out_dir = ENV['WTS_OUT_DIR'] if ENV['WTS_OUT_DIR'] end |
#load_from_file(filename) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/wonko_the_sane/util/configuration.rb', line 34 def load_from_file(filename) raw = YAML.load_file(filename).with_indifferent_access if raw.key? 'aws' aws = raw['aws'] @aws.client_id = aws['client_id'] if aws.key? 'client_id' @aws.client_secret = aws['client_secret'] if aws.key? 'client_secret' @aws.bucket = aws['bucket'] if aws.key? 'bucket' end @data_path = raw['data_path'] if raw.key? 'data_path' @out_dir = raw['out_dir'] if raw.key? 'out_dir' end |
#register_list(list) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/wonko_the_sane/util/configuration.rb', line 47 def register_list(list) case list when Symbol register_list list.to_s.constantize when String register_list list.constantize when Class register_list list.new else @lists << list end end |
#register_lists_from_sources(filename = 'sources.json') ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/wonko_the_sane/util/configuration.rb', line 60 def register_lists_from_sources(filename = 'sources.json') sources = if filename.is_a? String WonkoTheSane.data_json filename else filename end sources[:forgefiles].each do |uid, urlId| register_list ForgeFilesModsList.new(uid.to_s, urlId) end if sources[:forgefiles] sources[:jenkins].each do |obj| register_list JenkinsVersionList.new(obj[:uid], obj[:url], obj[:artifact], obj[:@file_regex]) end if sources[:jenkins] sources[:curse].each do |obj| register_list CurseVersionList.new(obj[:uid], obj[:id], obj[:fileregex]) end if sources[:curse] end |