Class: Codily::Elements::Service

Inherits:
Base
  • Object
show all
Defined in:
lib/codily/elements/service.rb

Instance Attribute Summary

Attributes inherited from Base

#fastly_obj, #root

Instance Method Summary collapse

Methods inherited from Base

#as_dsl_hash, #as_hash, def_attr, defaults, #dsl_args, #id, #initialize, #inspect, #key, name_for_attr, #parent, #parent_class, parent_class, #parent_key, #parents, path

Constructor Details

This class inherits a constructor from Codily::Elements::Base

Instance Method Details

#backend(name, &block) ⇒ Object



32
33
34
# File 'lib/codily/elements/service.rb', line 32

def backend(name, &block)
  root.add_element Backend.new(root, {name: name, _service_name: self.name}, &block)
end

#cache_setting(name, &block) ⇒ Object



36
37
38
# File 'lib/codily/elements/service.rb', line 36

def cache_setting(name, &block)
  root.add_element CacheSetting.new(root, {name: name, _service_name: self.name}, &block)
end

#comment(comment = nil) ⇒ Object



28
29
30
# File 'lib/codily/elements/service.rb', line 28

def comment(comment = nil)
  getset :comment, comment
end

#condition(name, &block) ⇒ Object



40
41
42
# File 'lib/codily/elements/service.rb', line 40

def condition(name, &block)
  root.add_element Condition.new(root, {name: name, _service_name: self.name}, &block)
end

#dictionary(name, &block) ⇒ Object



44
45
46
# File 'lib/codily/elements/service.rb', line 44

def dictionary(name, &block)
  root.add_element Dictionary.new(root, {name: name, _service_name: self.name}, &block)
end

#domain(name, &block) ⇒ Object



48
49
50
# File 'lib/codily/elements/service.rb', line 48

def domain(name, &block)
  root.add_element Domain.new(root, {name: name, _service_name: self.name}, &block)
end

#fastly_classObject



80
81
82
# File 'lib/codily/elements/service.rb', line 80

def fastly_class
  Fastly::Service
end

#gzip(name, &block) ⇒ Object



52
53
54
# File 'lib/codily/elements/service.rb', line 52

def gzip(name, &block)
  root.add_element Gzip.new(root, {name: name, _service_name: self.name}, &block)
end

#header(name, &block) ⇒ Object



56
57
58
# File 'lib/codily/elements/service.rb', line 56

def header(name, &block)
  root.add_element Header.new(root, {name: name, _service_name: self.name}, &block)
end

#healthcheck(name, &block) ⇒ Object



60
61
62
# File 'lib/codily/elements/service.rb', line 60

def healthcheck(name, &block)
  root.add_element Healthcheck.new(root, {name: name, _service_name: self.name}, &block)
end

#name(name = nil) ⇒ Object



24
25
26
# File 'lib/codily/elements/service.rb', line 24

def name(name = nil)
  getset :name, name
end

#request_setting(name, &block) ⇒ Object



64
65
66
# File 'lib/codily/elements/service.rb', line 64

def request_setting(name, &block)
  root.add_element RequestSetting.new(root, {name: name, _service_name: self.name}, &block)
end

#response_object(name, &block) ⇒ Object



68
69
70
# File 'lib/codily/elements/service.rb', line 68

def response_object(name, &block)
  root.add_element ResponseObject.new(root, {name: name, _service_name: self.name}, &block)
end

#settings(kv) ⇒ Object



76
77
78
# File 'lib/codily/elements/service.rb', line 76

def settings(kv)
  root.add_element Settings.new(root, {_service_name: self.name}.merge(kv))
end

#setupObject



18
19
20
21
22
# File 'lib/codily/elements/service.rb', line 18

def setup
  @hash.delete :customer_id
  @hash.delete :versions
  delete_if_empty! :comment
end

#vcl(name, &block) ⇒ Object



72
73
74
# File 'lib/codily/elements/service.rb', line 72

def vcl(name, &block)
  root.add_element Vcl.new(root, {name: name, _service_name: self.name}, &block)
end