Module: Rakuna::Content::JSON

Defined in:
lib/rakuna/content/json.rb

Overview

Mixin to add JSON support to resources

Instance Method Summary collapse

Instance Method Details

#content_types_acceptedObject



12
13
14
# File 'lib/rakuna/content/json.rb', line 12

def content_types_accepted
  [['application/json', :from_json]]
end

#content_types_providedObject



8
9
10
# File 'lib/rakuna/content/json.rb', line 8

def content_types_provided
  [['application/json', :to_json]]
end

#from_jsonObject



16
17
18
# File 'lib/rakuna/content/json.rb', line 16

def from_json
  input
end

#payloadObject



20
21
22
# File 'lib/rakuna/content/json.rb', line 20

def payload
  @payload ||= MultiJson.load request.body.to_s
end

#to_jsonObject



24
25
26
# File 'lib/rakuna/content/json.rb', line 24

def to_json
  MultiJson.dump output
end

#valid?Boolean

Returns:

  • (Boolean)


28
29
30
31
# File 'lib/rakuna/content/json.rb', line 28

def valid?
  return true unless self.methods.include? validation_schema
  @valid ||= ::JSON::Validator.validate validation_schema, request.body.to_s
end