class ConditionalMessages::Message

Attributes

source_text[R]

Public Class Methods

new(source_text) click to toggle source
# File lib/conditional_messages/message.rb, line 9
def initialize(source_text)
  @source_text = source_text
end

Public Instance Methods

apply(context_holder) click to toggle source
# File lib/conditional_messages/message.rb, line 35
def apply(context_holder)
  AppliedMessage.new(self, context_holder)
end
define(&definition) click to toggle source
# File lib/conditional_messages/message.rb, line 13
def define(&definition)
  instance_eval(&definition)
end
optional(options = {}, &condition) click to toggle source
# File lib/conditional_messages/message.rb, line 21
def optional(options = {}, &condition)
  rule(options.merge(required: false), &condition)
end
required(options = {}, &condition) click to toggle source
# File lib/conditional_messages/message.rb, line 17
def required(options = {}, &condition)
  rule(options.merge(required: true), &condition)
end
rule(options = {}, &condition) click to toggle source
# File lib/conditional_messages/message.rb, line 25
def rule(options = {}, &condition)
  rule = Rule.new(options, &condition)
  rules << rule
  rule
end
rules() click to toggle source
# File lib/conditional_messages/message.rb, line 31
def rules
  @rules ||= []
end