Module: Sinatra::API
- Defined in:
- lib/sinatra/api/helpers.rb,
lib/sinatra/api/version.rb
Overview
TODO: accept nested parameters
Defined Under Namespace
Modules: Helpers
Constant Summary collapse
- ResourcePrefix =
'::'- VERSION =
"1.0.1"
Instance Attribute Summary collapse
-
#resource_aliases ⇒ Object
Returns the value of attribute resource_aliases.
Class Method Summary collapse
- .alias_resource(original, resource_alias) ⇒ Object
- .aliases_for(resource) ⇒ Object
- .registered(app) ⇒ Object
Instance Attribute Details
#resource_aliases ⇒ Object
Returns the value of attribute resource_aliases.
27 28 29 |
# File 'lib/sinatra/api/helpers.rb', line 27 def resource_aliases @resource_aliases end |
Class Method Details
.alias_resource(original, resource_alias) ⇒ Object
269 270 271 272 273 274 275 |
# File 'lib/sinatra/api/helpers.rb', line 269 def self.alias_resource(original, resource_alias) @@resource_aliases ||= {} @@resource_aliases[original.to_sym] ||= [] @@resource_aliases[original.to_sym] << resource_alias.to_s puts "API resource #{original} is now aliased as #{resource_alias}" end |
.aliases_for(resource) ⇒ Object
277 278 279 280 |
# File 'lib/sinatra/api/helpers.rb', line 277 def self.aliases_for(resource) @@resource_aliases ||= {} @@resource_aliases[resource.to_sym] || [] end |
.registered(app) ⇒ Object
235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 |
# File 'lib/sinatra/api/helpers.rb', line 235 def self.registered(app) @@api_resource_aliases ||= {} app.helpers Helpers app.before do @api = { required: {}, optional: {} } @parent_resource = nil if api_call? request.body.rewind body = request.body.read.to_s || '' unless body.empty? begin; params.merge!(::JSON.parse(body)) # puts params.inspect # puts request.path rescue ::JSON::ParserError => e puts e. puts e.backtrace halt 400, "Malformed JSON content" end end end end app.set(:requires) do |*resources| condition do @required = resources.collect { |r| r.to_s } @required.each { |r| @parent_resource = __api_locate_resource(r, @parent_resource) } end end end |