Module: ActiveRemote::DSL::ClassMethods

Defined in:
lib/active_remote/dsl.rb

Instance Method Summary collapse

Instance Method Details

#attr_publishable(*attributes) ⇒ Object

Whitelist enable attributes for serialization purposes.

====Examples

# To only publish the :guid and :status attributes:
class User < ActiveRemote::Base
attr_publishable :guid, :status
end


23
24
25
26
# File 'lib/active_remote/dsl.rb', line 23

def attr_publishable(*attributes)
  @publishable_attributes ||= []
  @publishable_attributes += attributes
end

#namespace(name = false) ⇒ Object

Set the namespace for the underlying RPC service class. If no namespace is given, then none will be used.

====Examples

# If the user's service class is namespaced (e.g. Acme::UserService):
class User < ActiveRemote::Base
namespace :acme
end


38
39
40
41
# File 'lib/active_remote/dsl.rb', line 38

def namespace(name = false)
  @namespace = name unless name == false
  @namespace
end

#publishable_attributes ⇒ Object

Retrieve the attributes that have been whitelisted for serialization.



45
46
47
# File 'lib/active_remote/dsl.rb', line 45

def publishable_attributes
  @publishable_attributes
end

#service_class(klass = false) ⇒ Object

Set the RPC service class directly. By default, ActiveRemote determines the RPC service by constantizing the namespace and service name.

====Examples

class User < ActiveRemote::Base
service_class Acme::UserService
end

# ...is the same as:

class User < ActiveRemote::Base
namespace :acme
service_name :user_service
end

# ...is the same as:

class User < ActiveRemote::Base
namespace :acme
end


71
72
73
74
# File 'lib/active_remote/dsl.rb', line 71

def service_class(klass = false)
  @service_class = klass unless klass == false
  @service_class ||= _determine_service_class
end

#service_name(name = false) ⇒ Object

Set the name of the underlying RPC service class. By default, Active Remote assumes that a User model will have a UserService (making the service name :user_service).

====Examples

class User < ActiveRemote::Base
service_name :jangly_users
end


86
87
88
89
# File 'lib/active_remote/dsl.rb', line 86

def service_name(name = false)
  @service_name = name unless name == false
  @service_name ||= _determine_service_name
end