Module: Sinatra::API::ResourceAliases

Included in:
Sinatra::API
Defined in:
lib/sinatra/api/resource_aliases.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#resource_aliasesObject

Returns the value of attribute resource_aliases.



4
5
6
# File 'lib/sinatra/api/resource_aliases.rb', line 4

def resource_aliases
  @resource_aliases
end

Class Method Details

.extended(base) ⇒ Object



6
7
8
9
# File 'lib/sinatra/api/resource_aliases.rb', line 6

def self.extended(base)
  base.resource_aliases = {}
  base.on :resource_located, &method(:export_alias)
end

Instance Method Details

#alias_resource(original, resource_alias) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/sinatra/api/resource_aliases.rb', line 11

def alias_resource(original, resource_alias)
  key, resource_alias = original.to_sym, resource_alias.to_s

  self.resource_aliases[key] ||= []

  return if self.resource_aliases[key].include?(resource_alias)
  return if key.to_s == resource_alias

  self.resource_aliases[key] << resource_alias
  # logger.debug "API resource #{original} is now aliased as #{resource_alias}"
end

#aliases_for(resource) ⇒ Object



23
24
25
# File 'lib/sinatra/api/resource_aliases.rb', line 23

def aliases_for(resource)
  self.resource_aliases[resource.to_sym] || []
end

#reset_aliases!Object



27
28
29
# File 'lib/sinatra/api/resource_aliases.rb', line 27

def reset_aliases!
  self.resource_aliases = {}
end