Class: WonkoTheSane::Util::Configuration

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

Defined Under Namespace

Classes: Aws

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration



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

#awsObject (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_pathObject

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

#listsObject (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_dirObject

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

#wonkowebObject (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_envObject



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