Sha256: 10bbee65d53abe98e8fce4ad78ce9d5ca4d5603f0b61e13f7fc53bc6f2b8d437
Contents?: true
Size: 1013 Bytes
Versions: 2
Compression:
Stored size: 1013 Bytes
Contents
module JsonApiClient module Helpers module Queryable extend ActiveSupport::Concern included do class << self extend Forwardable def_delegators :new_scope, :where, :order, :includes, :select, :all, :paginate, :page, :first end class_attribute :connection_class, :connection_object, :connection_options, :query_builder self.connection_class = Connection self.connection_options = {} self.query_builder = Query::Builder end module ClassMethods def new_scope query_builder.new(self) end def connection(&block) build_connection(&block) connection_object end def build_connection return connection_object unless connection_object.nil? self.connection_object = connection_class.new(connection_options.merge(site: site)).tap do |conn| yield(conn) if block_given? end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
json_api_client-1.0.0.beta2 | lib/json_api_client/helpers/queryable.rb |
json_api_client-1.0.0.beta | lib/json_api_client/helpers/queryable.rb |