Class: Bowline::OrderedOptions

Inherits:
Array show all
Defined in:
lib/bowline/initializer.rb

Overview

Needs to be duplicated from Active Support since its needed before Active Support is available. Here both Options and Hash are namespaced to prevent conflicts with other implementations AND with the classes residing in Active Support.

Instance Method Summary collapse

Methods inherited from Array

#to_js

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args) ⇒ Object



685
686
687
688
689
690
691
# File 'lib/bowline/initializer.rb', line 685

def method_missing(name, *args)
  if name.to_s =~ /(.*)=$/
    self[$1.to_sym] = args.first
  else
    self[name]
  end
end

Instance Method Details

#[](key) ⇒ Object



680
681
682
683
# File 'lib/bowline/initializer.rb', line 680

def [](key)
  pair = find_pair(key.to_sym)
  pair ? pair.last : nil
end

#[]=(key, value) ⇒ Object

:nodoc:



669
670
671
672
673
674
675
676
677
678
# File 'lib/bowline/initializer.rb', line 669

def []=(key, value)
  key = key.to_sym

  if pair = find_pair(key)
    pair.pop
    pair << value
  else
    self << [key, value]
  end
end