Module: HALPresenter::Policy::DSL::ClassMethods

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

Instance Method Summary collapse

Instance Method Details

#allow_by_default(*types) ⇒ Object



11
12
13
# File 'lib/hal_presenter/policy/dsl.rb', line 11

def allow_by_default(*types)
  rules.defaults(*types, value: true)
end

#attribute(*names, &block) ⇒ Object



15
16
17
18
# File 'lib/hal_presenter/policy/dsl.rb', line 15

def attribute(*names, &block)
  block ||= Proc.new { true }
  names.each { |name| rules.add_attribute(name, block) }
end

#embed(*names, &block) ⇒ Object



25
26
27
28
# File 'lib/hal_presenter/policy/dsl.rb', line 25

def embed(*names, &block)
  block ||= Proc.new { true }
  names.each { |name| rules.add_embed(name, block) }
end

#inherited(child) ⇒ Object



7
8
9
# File 'lib/hal_presenter/policy/dsl.rb', line 7

def inherited(child)
  child.instance_variable_set(:@rules, rules.dup)
end


20
21
22
23
# File 'lib/hal_presenter/policy/dsl.rb', line 20

def link(*rels, &block)
  block ||= Proc.new { true }
  rels.each { |rel| rules.add_link(rel, block) }
end

#no_transform_relsObject



34
35
36
# File 'lib/hal_presenter/policy/dsl.rb', line 34

def no_transform_rels
  rules.transform_rels = false
end

#rulesObject



30
31
32
# File 'lib/hal_presenter/policy/dsl.rb', line 30

def rules
  @rules ||= Rules.new
end

#transform_rels(value = true) ⇒ Object



38
39
40
# File 'lib/hal_presenter/policy/dsl.rb', line 38

def transform_rels(value = true)
  rules.transform_rels = !!value
end