Sha256: 5272b793937843e1f0c3e793b3308c4c7bc5b7090b313aceeaa6cdcf7863ae93

Contents?: true

Size: 845 Bytes

Versions: 3

Compression:

Stored size: 845 Bytes

Contents

module ExtDirect
  module Service
    class Base
      class << self
        def service(name, &proc)
          action = action_name_format(self.model_name)
          method = method_name_format(name)
          ExtDirect::Service::Provider.register(:remoting, action, method, proc)
        end
        
        alias_method :remoting_service, :service
        
        def polling_service(name, &proc)
          action = action_name_format(self.model_name)
          method = method_name_format(name)
          ExtDirect::Service::Provider.register(:polling, action, method, proc)
        end
        
        private
        
        def action_name_format(name)
          name.to_s.underscore.gsub("_service", "")
        end
        
        def method_name_format(name)
          name.to_s.underscore
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ext_direct-0.2.0 lib/ext_direct/service/base.rb
ext_direct-0.1.1 lib/ext_direct/service/base.rb
ext_direct-0.1.0 lib/ext_direct/service/base.rb