class Pickle::Config
Attributes
adapters[W]
factories[W]
mappings[W]
predicates[W]
Public Class Methods
new(&block)
click to toggle source
# File lib/pickle/config.rb, line 5 def initialize(&block) configure(&block) if block_given? end
Public Instance Methods
adapter_classes()
click to toggle source
# File lib/pickle/config.rb, line 17 def adapter_classes adapters.map {|a| a.is_a?(Class) ? a : "pickle/adapter/#{a}".classify.constantize} end
adapters()
click to toggle source
# File lib/pickle/config.rb, line 13 def adapters @adapters ||= [:machinist, :factory_bot, :fabrication, :orm] end
configure() { |self| ... }
click to toggle source
# File lib/pickle/config.rb, line 9 def configure(&block) yield(self) end
factories()
click to toggle source
# File lib/pickle/config.rb, line 21 def factories @factories ||= adapter_classes.reverse.inject({}) do |factories, adapter| factories.merge(adapter.factories.inject({}){|h, f| h.merge(f.name => f)}) end end
map(*args)
click to toggle source
Usage: map 'me', 'myself', 'I', :to => 'user: “me”'
# File lib/pickle/config.rb, line 41 def map(*args) options = args.extract_options! raise ArgumentError, "Usage: map 'search' [, 'search2', ...] :to => 'replace'" unless args.any? && options[:to].is_a?(String) args.each do |search| self.mappings << Mapping.new(search, options[:to]) end end
mappings()
click to toggle source
# File lib/pickle/config.rb, line 36 def mappings @mappings ||= [] end
predicates()
click to toggle source
# File lib/pickle/config.rb, line 27 def predicates @predicates ||= Pickle::Adapter.model_classes.map do |k| k.public_instance_methods.select {|m| m =~ /\?$/} + Pickle::Adapter.column_names(k) end.flatten.uniq end