Class: Accession::Configuration

Inherits:
Object
  • Object
show all
Includes:
Equality, Helpers
Defined in:
lib/accession/accession/configuration.rb

Constant Summary collapse

FILES =

This constant defines a list of tags for loading

Returns:

  • (Array<Symbol>)

    a list of symbols

[:tags].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Equality

#<=>, #to_a

Methods included from Helpers

#load_file

Constructor Details

#initialize {|_self| ... } ⇒ Configuration

Returns a new instance of Configuration.

Yields:

  • (_self)

Yield Parameters:



14
15
16
17
# File 'lib/accession/accession/configuration.rb', line 14

def initialize
  @files = FILES.dup
  yield self if block_given?
end

Instance Attribute Details

#filesObject (readonly)

Returns the value of attribute files.



12
13
14
# File 'lib/accession/accession/configuration.rb', line 12

def files
  @files
end

#loadedObject (readonly)

Returns the value of attribute loaded.



12
13
14
# File 'lib/accession/accession/configuration.rb', line 12

def loaded
  @loaded
end

Instance Method Details

#add_file(file) ⇒ Object



19
20
21
22
# File 'lib/accession/accession/configuration.rb', line 19

def add_file(file)
  @files << file.to_sym
  class_eval { attr_accessor file.to_sym }
end

#attributesObject



39
40
41
# File 'lib/accession/accession/configuration.rb', line 39

def attributes
  %i[folder tags]
end

#load!Object



24
25
26
27
28
29
# File 'lib/accession/accession/configuration.rb', line 24

def load!
  if folder.present?
    FILES.each { |file| send("#{file}=", load_file(folder, file.to_s)) }
    @loaded = true
  end
end

#loaded?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/accession/accession/configuration.rb', line 31

def loaded?
  loaded
end

#tags=(tags) ⇒ Object



35
36
37
# File 'lib/accession/accession/configuration.rb', line 35

def tags=(tags)
  @tags = TagList.new(tags).freeze
end