34 lines
449 B
Ruby
34 lines
449 B
Ruby
class Imbecile
|
|
|
|
class Rule
|
|
|
|
class Pattern
|
|
|
|
attr_reader :components
|
|
|
|
attr_reader :code
|
|
|
|
def initialize(components, code)
|
|
@components = components
|
|
@code = code
|
|
end
|
|
|
|
end
|
|
|
|
attr_reader :name
|
|
|
|
attr_reader :patterns
|
|
|
|
def initialize(name)
|
|
@name = name
|
|
@patterns = []
|
|
end
|
|
|
|
def add_pattern(components, code)
|
|
@patterns << Pattern.new(components, code)
|
|
end
|
|
|
|
end
|
|
|
|
end
|