Class: Arcana::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/arcana.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ruleset, stack = []) ⇒ Result

Returns a new instance of Result.



353
354
355
356
# File 'lib/arcana.rb', line 353

def initialize(ruleset, stack=[])
  @ruleset = ruleset
  @stack = stack
end

Instance Attribute Details

#rulesetObject (readonly)

Returns the value of attribute ruleset.



351
352
353
# File 'lib/arcana.rb', line 351

def ruleset
  @ruleset
end

Instance Method Details

#add(rule) ⇒ Object



358
359
360
# File 'lib/arcana.rb', line 358

def add(rule)
  Result.new(ruleset, @stack + [rule])
end

#full_messageObject



366
367
368
# File 'lib/arcana.rb', line 366

def full_message
  @stack.map(&:message).compact.join(" ")
end

#inspectObject



374
375
376
# File 'lib/arcana.rb', line 374

def inspect
  "#<Arcana::Result mime=#{mime_type.inspect} message=#{full_message.inspect} stack=#{@stack.inspect}>"
end

#last_ruleObject



370
371
372
# File 'lib/arcana.rb', line 370

def last_rule
  @stack.last
end

#mime_typeObject



362
363
364
# File 'lib/arcana.rb', line 362

def mime_type
  @stack.map(&:mime_type).compact.last
end