Class: Zenlish::Inflect::Membership

Inherits:
UnaryInputExpression show all
Defined in:
lib/zenlish/inflect/membership.rb

Instance Attribute Summary collapse

Attributes inherited from UnaryInputExpression

#argument

Instance Method Summary collapse

Constructor Details

#initialize(anArgument, theMembers) ⇒ Membership

Returns a new instance of Membership.



8
9
10
11
# File 'lib/zenlish/inflect/membership.rb', line 8

def initialize(anArgument, theMembers)
  super(anArgument)
  @members = theMembers
end

Instance Attribute Details

#membersObject (readonly)

Returns the value of attribute members.



6
7
8
# File 'lib/zenlish/inflect/membership.rb', line 6

def members
  @members
end

Instance Method Details

#success?(headings, lexeme, actuals) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
16
17
18
19
20
21
22
# File 'lib/zenlish/inflect/membership.rb', line 13

def success?(headings, lexeme, actuals)
  if actuals.empty?
    hd = headings[argument.index]
    feat_def = hd.evaluate_for(lexeme)
    members.all? { |memb| feat_def.domain.include?(memb) }
  else
    val = actuals[argument.index]
    members.include?(val)
  end
end