Sha256: 65ac5305f7dae44c53293a1c79c584bfafed9aaafed491f7ce238e063d754cd1

Contents?: true

Size: 473 Bytes

Versions: 2

Compression:

Stored size: 473 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, property)|
        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.1 lib/apiture/data_model.rb
apiture-0.2.0 lib/apiture/data_model.rb