Sha256: 75d90ccb894e26ec3ee57c42d6cca7d4b1b2accbda87c2be8b3a6dda5500ba6f
Contents?: true
Size: 1.03 KB
Versions: 3
Compression:
Stored size: 1.03 KB
Contents
require 'active_record' require 'active_support/core_ext' require 'set_builder/traits' require 'set_builder/modifiers' require 'set_builder/value_map' require 'set_builder/set' require 'set_builder/engine' module SetBuilder def self.extended(base) base.instance_variable_set("@traits", SetBuilder::Traits.new) base.send(:include, SetBuilder::Modifiers) end attr_reader :traits def modifiers traits.modifiers end def that_belong_to(set) SetBuilder::Set.new(self, to_scope, set) end def to_scope scoped end protected def trait(*args, &block) part_of_speech = get_part_of_speech(args.shift) name = args.shift traits << Trait.new(name, part_of_speech, *args, &block) end def get_part_of_speech(arg) case arg when :is, :are, :reflexive :reflexive when nil, :active :active when :was, :were, :passive :passive when :has, :have, :perfect :perfect when :whose, :noun :noun end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
set_builder-1.2.0.beta3 | lib/set_builder.rb |
set_builder-1.2.0.beta2 | lib/set_builder.rb |
set_builder-1.2.0.beta1 | lib/set_builder.rb |