Sha256: 466e33e2813995a65bccd2a0032d624248549497e97ba193695700221ba04987

Contents?: true

Size: 558 Bytes

Versions: 60

Compression:

Stored size: 558 Bytes

Contents

class ReeJson::FromJson
  include Ree::FnDSL

  fn :from_json do
    link 'ree_json/constants', -> {
      DEFAULT_OPTIONS & MODES & ESCAPE_MODES & TIME_FORMATS
    }
  end

  ParseJsonError = Class.new(StandardError)

  contract(
    Any,
    Ksplat[
      mode?: Or[*MODES],
      symbol_keys?: Bool,
      RestKeys => Any
    ] => Any
  ).throws(ParseJsonError)
  def call(object, **opts)
    options = DEFAULT_OPTIONS
      .merge(opts)

    Oj.load(object, options)
  rescue ArgumentError, EncodingError, TypeError
    raise ParseJsonError.new
  end
end

Version data entries

60 entries across 60 versions & 1 rubygems

Version Path
ree_lib-1.1.0 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.124 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.123 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.122 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.121 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.120 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.119 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.118 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.117 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.116 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.115 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.114 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.113 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.112 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.111 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.110 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.109 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.108 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.107 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb
ree_lib-1.0.106 lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb