Sha256: 1201d9f9d6b3e875fc1a5f55cf7f27c8be9e855e160fffdf6c6b0290fced49f2
Contents?: true
Size: 1.06 KB
Versions: 3
Compression:
Stored size: 1.06 KB
Contents
# frozen_string_literal: true require "forwardable" module JsonStatham module Requests class Base extend Forwardable attr_reader :parser def_delegators :@parser, :name, :block, :current_schema, :observer def_delegators :@config, :schemas_path def self.call(parser) new(parser).call end def initialize(parser) Validation.check_object_class(parser, [JsonStatham::Parser]) @parser = parser @config = JsonStatham.config end def base_path return "#{schemas_path}/#{folder_path}" if folder? schemas_path end def folder? !!folder_path end def file_path "#{base_path}/#{schema_name}.json" end def schema_name splitted_name.last end def folder_path return if splitted_name.length == 1 splitted_name.reverse.drop(1).reverse.join("/") end def splitted_name name.split("/") end def call raise NotImplementedError end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
json_statham-0.1.3 | lib/json_statham/requests/base.rb |
json_statham-0.1.2 | lib/json_statham/requests/base.rb |
json_statham-0.1.0 | lib/json_statham/requests/base.rb |