Sha256: ecfbf8d11c89a27d7ee3374e9f74f940c2cc48b0551f4fbfbc231b0dce8d50f8

Contents?: true

Size: 466 Bytes

Versions: 2

Compression:

Stored size: 466 Bytes

Contents

require 'multi_json'

module Apiture
  class DataModel
    attr_reader :definition

    def initialize(definition)
      @definition = definition
    end

    def build(parameter_name, env)
      context = env[:context]
      h = context.get_attribute(parameter_name)
      return nil unless h

      json = definition.properties.reduce({}) do |m, (name, _)|
        name = name.to_sym
        m[name] = h[name] if h[name]; m
      end

      json
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
apiture-0.2.3 lib/apiture/data_model.rb
apiture-0.2.2 lib/apiture/data_model.rb