Module: AffirmIt::Preferences

Included in:
Esteem
Defined in:
lib/affirmit/preferences.rb

Overview

The Preferences module includes DSL-like methods to help affirmations express their preferences.

For example:

is(5) between(4, 6) (greater_than 3) & (less_than 7) (is a String) | (is a Fixnum)

Instance Method Summary collapse

Instance Method Details

#a(preferred_class) ⇒ Object



27
28
29
# File 'lib/affirmit/preferences.rb', line 27

def a(preferred_class)
  AffirmIt::Preference::IsA.new preferred_class
end

#an(preferred_class) ⇒ Object



31
32
33
# File 'lib/affirmit/preferences.rb', line 31

def an(preferred_class)
  AffirmIt::Preference::IsA.new preferred_class
end

#between(min, max) ⇒ Object



35
36
37
# File 'lib/affirmit/preferences.rb', line 35

def between(min, max)
  AffirmIt::Preference::Between.new min, max
end

#equals(preferred) ⇒ Object



39
40
41
# File 'lib/affirmit/preferences.rb', line 39

def equals(preferred)
  AffirmIt::Preference::Is.new preferred
end

#greater_than(preferred) ⇒ Object



43
44
45
# File 'lib/affirmit/preferences.rb', line 43

def greater_than(preferred)
  AffirmIt::Preference::GreaterThan.new preferred
end

#includes(preferred) ⇒ Object



47
48
49
# File 'lib/affirmit/preferences.rb', line 47

def includes(preferred)
  AffirmIt::Preference::Includes.new preferred
end

#is(preferred) ⇒ Object

If we have learned anything from lawyer-politicians, it is that everything depends on your definition of "is"....

In this case, the "is" method helps with legibility of affirmations. Feel free to re-implement with your preferred discourse on being. We're certain you'll do a great job!



60
61
62
63
64
65
66
# File 'lib/affirmit/preferences.rb', line 60

def is(preferred)
  if preferred.is_a? AffirmIt::Preference::Preference
    preferred
  else
    AffirmIt::Preference::Is.new preferred
  end
end

#isnt(preferred) ⇒ Object



68
69
70
# File 'lib/affirmit/preferences.rb', line 68

def isnt(preferred)
  ~is(preferred)
end

#less_than(preferred) ⇒ Object



72
73
74
# File 'lib/affirmit/preferences.rb', line 72

def less_than(preferred)
  AffirmIt::Preference::LessThan.new preferred
end

#matches(preferred_regexp) ⇒ Object



76
77
78
# File 'lib/affirmit/preferences.rb', line 76

def matches(preferred_regexp)
  AffirmIt::Preference::Matches.new preferred_regexp
end

#responds_to(preferred_message) ⇒ Object



80
81
82
# File 'lib/affirmit/preferences.rb', line 80

def responds_to(preferred_message)
  AffirmIt::Preference::RespondsTo.new preferred_message
end

#same_as(preferred) ⇒ Object



84
85
86
# File 'lib/affirmit/preferences.rb', line 84

def same_as(preferred)
  AffirmIt::Preference::SameAs.new preferred
end