Class: Nanoc::ItemArray
- Inherits:
-
Object
- Object
- Nanoc::ItemArray
- Extended by:
- Forwardable
- Includes:
- Enumerable
- Defined in:
- lib/nanoc/base/source_data/item_array.rb
Overview
Acts as an array, but allows fetching items using identifiers, e.g. @items['/blah/']
.
Constant Summary
- EXCLUDED_METHODS =
[ :[], :at, :slice, :class, :singleton_class, :clone, :dup, :initialize_dup, :initialize_clone, :freeze, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variables, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :instance_of?, :kind_of?, :is_a?, :tap, :send, :public_send, :respond_to?, :respond_to_missing?, :extend, :display, :method, :public_method, :define_singleton_method, :object_id, :equal?, :instance_eval, :instance_exec, :__send__, :__id__ ]
- DELEGATED_METHODS =
(Array.instance_methods + Enumerable.instance_methods).map { |m| m.to_sym } - EXCLUDED_METHODS
Instance Method Summary (collapse)
-
- (Object) [](*args)
(also: #slice)
-
- (Object) at(arg)
-
- (Object) freeze
-
- (ItemArray) initialize
constructor
A new instance of ItemArray.
Methods included from Enumerable
Constructor Details
- (ItemArray) initialize
Returns a new instance of ItemArray
24 25 26 |
# File 'lib/nanoc/base/source_data/item_array.rb', line 24 def initialize @items = [] end |
Instance Method Details
- (Object) [](*args) Also known as: slice
34 35 36 37 38 39 40 |
# File 'lib/nanoc/base/source_data/item_array.rb', line 34 def [](*args) if 1 == args.size && args.first.is_a?(String) item_with_identifier(args.first) else @items[*args] end end |
- (Object) at(arg)
43 44 45 46 47 48 49 |
# File 'lib/nanoc/base/source_data/item_array.rb', line 43 def at(arg) if arg.is_a?(String) item_with_identifier(arg) else @items[arg] end end |
- (Object) freeze
28 29 30 31 32 |
# File 'lib/nanoc/base/source_data/item_array.rb', line 28 def freeze @items.freeze build_mapping super end |