Module: Cenit::API

Defined in:
lib/cenit/api.rb,
lib/cenit/api/hash.rb,
lib/cenit/api/error.rb,
lib/cenit/api/record.rb,
lib/cenit/api/version.rb,
lib/cenit/api/url_slug.rb,
lib/cenit/api/data_type.rb,
lib/cenit/api/namespace.rb,
lib/cenit/api/http_query.rb,
lib/cenit/api/http_readable.rb,
lib/cenit/api/http_creatable.rb,
lib/cenit/api/http_requester.rb,
lib/cenit/api/http_updateable.rb,
lib/cenit/api/http_destroyable.rb,
lib/cenit/api/http_data_requester.rb

Defined Under Namespace

Modules: HttpCreatable, HttpDataRequester, HttpDestroyable, HttpQuery, HttpReadable, HttpRequester, HttpUpdateable, UrlSlug Classes: DataType, Error, Hash, Namespace, Record, Version

Constant Summary collapse

VERSION =
'0.0.1'

Class Method Summary collapse

Class Method Details

.const_missing(symbol) ⇒ Object



46
47
48
49
# File 'lib/cenit/api.rb', line 46

def const_missing(symbol)
  symbol = symbol.to_s.downcase.to_sym
  version(symbol) || super
end

.method_missing(symbol, *args) ⇒ Object



42
43
44
# File 'lib/cenit/api.rb', line 42

def method_missing(symbol, *args)
  (args.length == 0 && version(symbol)) || super
end

.urlObject



62
63
64
# File 'lib/cenit/api.rb', line 62

def url
  "#{Cenit.host}/api"
end

.version(name) ⇒ Object



51
52
53
54
55
56
57
58
59
60
# File 'lib/cenit/api.rb', line 51

def version(name)
  name = name.to_s.to_sym
  if Version::ALL.include?(name)
    if Version::DEPRECATED.include?(name)
      fail Error, "Deprecated version: #{name}"
    else
      Version.new(name, self)
    end
  end
end