Sha256: b0be9f5e5511a3ed1a342a4956122e64c12ba53b05a3fccb88da3345a6fbe28e

Contents?: true

Size: 963 Bytes

Versions: 2

Compression:

Stored size: 963 Bytes

Contents

module Quandl
  module Client
    class Source < Quandl::Client::Base

      class << self

        def cached
          @@cached ||= {}
        end

      end

      ##########
      # SCOPES #
      ##########

      scope :query
      scope :page, ->(p){ where( page: p.to_i )}
      scope :code, ->(c){ where( code: c.to_s.upcase )}


      ###############
      # ASSOCIATIONS #
      ###############

      def datasets
        Quandl::Client::Dataset.source_code(code)
      end


      ###############
      # VALIDATIONS #
      ###############

      validates :code, presence: true, length: { minimum: 2 }, format: { with: Quandl::Pattern.code, message: "is invalid. Expected format: #{Quandl::Pattern.code.to_example}" }
      validates :host, :name, presence: true


      ##############
      # PROPERTIES #
      ##############

      attributes :code, :name, :host, :description, :datasets_count, :use_proxy, :type, :concurrency

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
quandl_client-2.12.0 lib/quandl/client/models/source.rb
quandl_client-2.11.0 lib/quandl/client/models/source.rb