Module: HALPresenter::Policy::DSL

Defined in:
lib/hal_presenter/policy/dsl.rb

Defined Under Namespace

Modules: ClassMethods Classes: Rules

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(mod) ⇒ Object



86
87
88
# File 'lib/hal_presenter/policy/dsl.rb', line 86

def self.included(mod)
  mod.extend(ClassMethods)
end

Instance Method Details

#attribute?(name) ⇒ Boolean

Returns:

  • (Boolean)


96
97
98
# File 'lib/hal_presenter/policy/dsl.rb', line 96

def attribute?(name)
  run self.class.rules.attribute_rule_for(name)
end

#embed?(name) ⇒ Boolean

Returns:

  • (Boolean)


105
106
107
# File 'lib/hal_presenter/policy/dsl.rb', line 105

def embed?(name)
  run self.class.rules.embed_rule_for(name)
end

#initialize(current_user, resource, options = {}) ⇒ Object



90
91
92
93
94
# File 'lib/hal_presenter/policy/dsl.rb', line 90

def initialize(current_user, resource, options = {})
  @current_user = current_user
  @resource = resource
  @options = options
end

#link?(rel) ⇒ Boolean

Returns:

  • (Boolean)


100
101
102
103
# File 'lib/hal_presenter/policy/dsl.rb', line 100

def link?(rel)
  return true if rel == :self
  run self.class.rules.link_rule_for(rel)
end