Theme -> Plugin.
[kaya.git] / lib / plugins / plugin.rb
blob928c81b39c81c9ecec723bb5bce55e35dfdba41d
1 module Plugin
2   module ModuleMethods
3     def included(base)
4       if base.class == Module
5         base.extend ModuleMethods
6       else
7         base.extend ClassMethods
8       end
9     end
10   end
11   
12   module ClassMethods
13     def plugin(args)
14       @plugin_data = args
15     end
16     
17     def plugin_name
18       @plugin_data[:name] if @plugin_data
19     end
20     
21     def matches?(keywords)
22       keywords.all? do |k|
23         @plugin_data[:keywords].include? k
24       end
25     end
26     
27     def score(keywords)
28       (@plugin_data[:keywords] & keywords).size
29     end
30   end
31   
32   extend ModuleMethods
33 end