Class: CommentExtractor::Configuration

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

Constant Summary collapse

@@required_attributes =
{}

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}) ⇒ Configuration

Returns a new instance of Configuration.



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/comment_extractor/configuration.rb', line 8

def initialize(attributes = {})
  attributes.each do |key, value|
    method_name = "#{key}="
    send(method_name, value) if respond_to?(method_name)
  end

  @@required_attributes.each_key do |key|
    raise "Unable to initialize #{key} without attribute" unless self.send(key)
  end

  self.extractors = ExtractorManager.default_extractors
  self.default_extractor = Extractor::Text
  self.use_default_extractor = true
end

Class Method Details

.add_setting(name, opts = {}) ⇒ Object



23
24
25
26
27
28
# File 'lib/comment_extractor/configuration.rb', line 23

def self.add_setting(name, opts={})
  attr_accessor name

  define_predicate_for(name) if opts.delete(:predicate)
  define_required_attribute(name) if opts.delete(:required)
end