Class: Inform::Grammar::Index
- Inherits:
-
Hash
show all
- Defined in:
- lib/story_teller/grammar_parser.rb
Overview
The Inform::Grammar::Index class
Constant Summary
collapse
- AdminPattern =
%r{admin}.freeze
- BuilderPattern =
%r{builder}.freeze
- Profanity =
%w[shit damn fuck sod].freeze
- ValidModes =
%i[admin builder player].freeze
- ModePatterns =
ValidModes.each_with_object({}) { |key, memo| memo[key] = Regexp.new(key.to_s) }
Constants inherited
from Hash
Hash::Empty, Hash::MethodBooleanPattern, Hash::MethodWriterPattern
Instance Method Summary
collapse
Methods inherited from Hash
#sort
Instance Method Details
#all(actor = nil, grammar_index = self) ⇒ Object
275
276
277
278
279
280
|
# File 'lib/story_teller/grammar_parser.rb', line 275
def all(actor = nil, grammar_index = self)
return grammar_index.map(&:keys).flatten.sort if actor.nil?
mode = role(actor)
init_all_verbs_by_mode(mode, grammar_index, actor) unless Inform::Grammar.partitions.include?(mode)
Inform::Grammar.partitions[mode]
end
|
#by_mode(mode = nil, grammar_index = self) ⇒ Object
282
283
284
285
286
|
# File 'lib/story_teller/grammar_parser.rb', line 282
def by_mode(mode = nil, grammar_index = self)
mode = validate(mode)
init_verbs_filtered_by_mode(mode, grammar_index) unless Inform::Grammar.selections.include?(mode)
Inform::Grammar.selections[mode]
end
|
#lookup(key, actor = nil, grammar_index = self) ⇒ Object
266
267
268
269
270
271
272
273
|
# File 'lib/story_teller/grammar_parser.rb', line 266
def lookup(key, actor = nil, grammar_index = self)
return nil if key.nil? || !grammar_index.include?(key)
verb = grammar_index[key].dup
return verb if actor.nil?
return nil if guarded?(verb, actor)
filter_by_permission(verb, actor)
verb
end
|