Sha256: df417af8ed00bd7ded864c2b7aa49b999cb7919aad7133f28374da2c48a6f9b5

Contents?: true

Size: 1.36 KB

Versions: 2

Compression:

Stored size: 1.36 KB

Contents

require '~/rubystack/projects/users_part/lib/to_net_me_api/resolvable'
require '~/rubystack/projects/users_part/lib/to_net_me_api/resolver'
require 'yaml'

module ToNetMeApi
  # API метод namespace (такие как `users` или `search`).
  # 
  # Включает в себя два модуля `Resolvable` и `Resolver` 
  # которые вызывают методы api с помощью `Resolver#call_method`.
  # также класс содержит список всех объектов api.2net.me.
  class Namespace
    include Resolvable
    include Resolver
    
    # создает и вызывает `ToNetMeApi::Method` используя `ToNetMeApi::Resolver#call_method`.
    def method_missing(*args, &block)
    	
      call_method(args, &block)

    end
    
    class << self
      # Массив всех объектов api.2net.me.
      # 
      # Загрузка файла `namespaces.yml` .
      # @return [Array] An array of strings
      def names
        if @names.nil?
          filename = File.expand_path('../namespaces.yml', __FILE__)
          @names   = YAML.load_file(filename)
        end
        
        @names
      end
      
      # Проверяет есть ли такой объект у api.2net.me?
      # @param [String, Symbol] name
      def exists?(name)
        names.include?(name.to_s)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
to_net_me_api-0.3 lib/to_net_me_api/namespace.rb
to_net_me_api-0.2 lib/to_net_me_api/namespace.rb