Class: LeanCloud::Base
- Inherits:
-
Object
- Object
- LeanCloud::Base
- Defined in:
- lib/lean_cloud/base.rb
Defined Under Namespace
Classes: NotImplement
Class Method Summary collapse
- .client(options = {}, &block) ⇒ Object
- .dispatch(route, *args, &block) ⇒ Object
- .parse_body(request) ⇒ Object
- .parse_data(route, data) ⇒ Object
- .register(klass, options = {}, &block) ⇒ Object
Class Method Details
.client(options = {}, &block) ⇒ Object
33 34 35 |
# File 'lib/lean_cloud/base.rb', line 33 def client(={}, &block) Client.new(settings).instance(,&block) end |
.dispatch(route, *args, &block) ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/lean_cloud/base.rb', line 37 def dispatch(route, *args, &block) = args. data = parse_data(route, ) request = client(&route.block).send(route.request, route.url(*args), data, &block) LeanCloud.logger.info request.to_json parse_body(request) end |
.parse_body(request) ⇒ Object
53 54 55 |
# File 'lib/lean_cloud/base.rb', line 53 def parse_body(request) JSON.parse(request.body) rescue request.body end |
.parse_data(route, data) ⇒ Object
45 46 47 48 49 50 51 |
# File 'lib/lean_cloud/base.rb', line 45 def parse_data(route, data) if route.request == :get data elsif data.present? data.to_json end end |
.register(klass, options = {}, &block) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/lean_cloud/base.rb', line 13 def register(klass, ={}, &block) klass = if !LeanCloud.const_defined?(klass, false) LeanCloud.const_set(klass, Class.new(self)) else LeanCloud.const_get(klass) end klass.class_eval do include Helper cattr_accessor :routes, :namespace, :settings self.routes ||= [] self.settings = {} self.namespace = [:namespace] class_exec(&block) end end |