Class: ResourceSet::ResourceCollection

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/resource_set/resource_collection.rb

Instance Method Summary collapse

Constructor Details

#initializeResourceCollection

Returns a new instance of ResourceCollection.



6
7
8
# File 'lib/resource_set/resource_collection.rb', line 6

def initialize
  @collection = []
end

Instance Method Details

#action(name, verb_and_path = nil, &block) ⇒ Object



10
11
12
13
14
15
# File 'lib/resource_set/resource_collection.rb', line 10

def action(name, verb_and_path = nil, &block)
  action = Action.new(name, *parse_verb_and_path(verb_and_path))
  action.handlers.merge!(default_handlers.dup)
  action.instance_eval(&block) if block_given?
  action.tap { |a| self << a }
end

#default_handler(*response_codes, &block) ⇒ Object



24
25
26
27
28
29
30
31
32
33
# File 'lib/resource_set/resource_collection.rb', line 24

def default_handler(*response_codes, &block)
  if response_codes.empty?
    default_handlers[:any] = block
  else
    response_codes.each do |code|
      code = StatusCodeMapper.code_for(code) unless code.is_a?(Integer)
      default_handlers[code] = block
    end
  end
end

#default_handlersObject



35
36
37
# File 'lib/resource_set/resource_collection.rb', line 35

def default_handlers
  @default_handlers ||= {}
end

#find_action(name) ⇒ Object



39
40
41
42
43
# File 'lib/resource_set/resource_collection.rb', line 39

def find_action(name)
  find do |action|
    action.name == name
  end
end