Module: LeanCloud::Helper::ClassMethods
- Defined in:
- lib/lean_cloud/helper.rb
Constant Summary collapse
- DEFAULT_ACTIONS =
{ :search => {via: :get, root: true }, :show => {via: :get, root: true, on: :member }, :create => {via: :post, root: true }, :update => {via: :put, root: true, on: :member }, :destroy=> {via: :delete, root: true, on: :member } }
Instance Method Summary collapse
- #add_route(name, options = {}, match = nil, &block) ⇒ Object
- #match(name, options = {}, &block) ⇒ Object
- #only(*args) ⇒ Object
- #route(name, options = {}, &block) ⇒ Object
Instance Method Details
#add_route(name, options = {}, match = nil, &block) ⇒ Object
30 31 32 33 34 35 |
# File 'lib/lean_cloud/helper.rb', line 30 def add_route(name, ={},match=nil, &block) [:namespace] ||= namespace route = Route.new(name, , match, &block) define_singleton_method(name) {|*args, &block| dispatch(route, *args, &block) } routes << route end |
#match(name, options = {}, &block) ⇒ Object
25 26 27 28 |
# File 'lib/lean_cloud/helper.rb', line 25 def match(name, ={}, &block) raise "`as' can't be nil!" if ![:as] add_route(.delete(:as), , name, &block) end |
#only(*args) ⇒ Object
15 16 17 18 19 |
# File 'lib/lean_cloud/helper.rb', line 15 def only(*args) args.each do |action| add_route(action, DEFAULT_ACTIONS[action].dup) end end |
#route(name, options = {}, &block) ⇒ Object
21 22 23 |
# File 'lib/lean_cloud/helper.rb', line 21 def route(name, ={}, &block) add_route(name, , &block) end |