Module: Semantic::Antispam

Defined in:
lib/semantic_antispam/version.rb,
lib/semantic_antispam/antispam.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

VERSION =
"0.1.1"

Class Method Summary collapse

Class Method Details

.config_fileObject



12
13
14
# File 'lib/semantic_antispam/antispam.rb', line 12

def self.config_file
  @config_file || (defined?(Rails) ? Rails.root + 'config/antispam.yml' : nil)
end

.config_file=(file) ⇒ Object



8
9
10
# File 'lib/semantic_antispam/antispam.rb', line 8

def self.config_file=(file)
  @config_file = file
end

.find(hash) ⇒ Object



28
29
30
# File 'lib/semantic_antispam/antispam.rb', line 28

def self.find(hash)
  questions.select { |q| q[:hash] == hash }.first
end

.hash(value) ⇒ Object



20
21
22
# File 'lib/semantic_antispam/antispam.rb', line 20

def self.hash(value)
  Digest::SHA1.hexdigest value
end

.included(base) ⇒ Object



4
5
6
# File 'lib/semantic_antispam/antispam.rb', line 4

def self.included(base)
  base.extend ClassMethods
end

.load_fileObject



16
17
18
# File 'lib/semantic_antispam/antispam.rb', line 16

def self.load_file
  YAML.load_file config_file
end

.questionsObject



24
25
26
# File 'lib/semantic_antispam/antispam.rb', line 24

def self.questions
  @questions ||= load_file.collect { |e| { :question => e.keys.first, :answer => e.values.first, :hash => hash(e.keys.first) } }
end