Sha256: 57a55ddf15dc981f17202f9a997037fabb37915930968cc5e8e5407b996dc57d

Contents?: true

Size: 760 Bytes

Versions: 10

Compression:

Stored size: 760 Bytes

Contents

require "json_schema"

require "pxeger"

module JsonSchema
  class Faker
    module Configuration
      attr_accessor :logger

      module_function :logger, :logger=
    end

    module Strategy
      require "json_schema/faker/strategy/simple"
    end

    def initialize(schema, options = {})
      @schema   = schema
      @options = options
    end

    def generate(hint: nil)
      strategy  = @options[:strategy] || Strategy::Simple.new

      Configuration.logger.debug "to generate against #{@schema.inspect_schema}" if Configuration.logger

      generated = strategy.call(@schema, hint: hint, position: "")
      Configuration.logger.debug "generated: #{generated.inspect}" if Configuration.logger

      generated
    end

    protected
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
json_schema-faker-0.6.3 lib/json_schema/faker.rb
json_schema-faker-0.6.2 lib/json_schema/faker.rb
json_schema-faker-0.6.1 lib/json_schema/faker.rb
json_schema-faker-0.6.0 lib/json_schema/faker.rb
json_schema-faker-0.5.2 lib/json_schema/faker.rb
json_schema-faker-0.5.1 lib/json_schema/faker.rb
json_schema-faker-0.5.0 lib/json_schema/faker.rb
json_schema-faker-0.4.0 lib/json_schema/faker.rb
json_schema-faker-0.3.0 lib/json_schema/faker.rb
json_schema-faker-0.2.0 lib/json_schema/faker.rb