Sha256: 131b648d79c9b4aed07aceea7e9ea07bcdb896c79b9fbfc8d844cf00a212f91d

Contents?: true

Size: 759 Bytes

Versions: 3

Compression:

Stored size: 759 Bytes

Contents

module Examples
  class BuilderInitialization
    include JSON::SchemaBuilder

    def example
      obj = object
      obj.string :name
      settings_for(obj)
      preferences_for(obj)
      add_ids_to(obj)
      obj
    end

    def settings_for(obj)
      settings = obj.object :settings
      settings.string :email
      settings
    end

    def preferences_for(obj)
      preferences = obj.entity :preferences
      preferences.any_of preference
      preferences.any_of null
    end

    def preference
      obj = object
      enabled = obj.boolean :enabled
      enabled.default = true
      obj
    end

    def add_ids_to(obj)
      ids = obj.array :ids
      ids.items do
        any_of number
        any_of string
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
json-schema_builder-0.8.2 spec/support/examples/builder_initialization.rb
json-schema_builder-0.8.1 spec/support/examples/builder_initialization.rb
json-schema_builder-0.8.0 spec/support/examples/builder_initialization.rb