Class: Subledger::Domain::Control

Inherits:
Object
  • Object
show all
Includes:
Subledger::Domain, Roles::Activatable, Roles::Archivable, Roles::Attributable, Roles::Collectable, Roles::Creatable, Roles::Identifiable, Roles::Readable, Roles::Restable, Roles::Storable
Defined in:
lib/subledger/domain/control.rb

Direct Known Subclasses

ActiveControl, ArchivedControl

Defined Under Namespace

Classes: Entity

Instance Attribute Summary collapse

Attributes included from Roles::Storable

#client, #store

Attributes included from Roles::Identifiable

#id

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Roles::Restable

#patch_hash, #post_hash, #serializable_hash, #to_json

Methods included from Roles::Archivable

#archive

Methods included from Roles::Activatable

#activate

Methods included from Roles::Collectable

included

Methods included from Roles::Readable

included, #read

Methods included from Roles::Creatable

#create, included

Methods included from Roles::Attributable

#attributes

Methods included from Subledger::Domain

#==, #collection_name, #entity_name, included, #to_s

Constructor Details

#initialize(args) ⇒ Control

Returns a new instance of Control.



45
46
47
48
49
50
51
52
53
# File 'lib/subledger/domain/control.rb', line 45

def initialize args
  identifiable args
  storable args

  @identity = args[:identity]
  @verbs    = args[:verbs]
  @path     = args[:path]
  @mode     = args[:mode]
end

Instance Attribute Details

#identityObject (readonly)

Returns the value of attribute identity.



19
20
21
# File 'lib/subledger/domain/control.rb', line 19

def identity
  @identity
end

#modeObject (readonly)

Returns the value of attribute mode.



19
20
21
# File 'lib/subledger/domain/control.rb', line 19

def mode
  @mode
end

#pathObject (readonly)

Returns the value of attribute path.



19
20
21
# File 'lib/subledger/domain/control.rb', line 19

def path
  @path
end

#verbsObject (readonly)

Returns the value of attribute verbs.



19
20
21
# File 'lib/subledger/domain/control.rb', line 19

def verbs
  @verbs
end

Class Method Details

.active_klassObject



37
38
39
# File 'lib/subledger/domain/control.rb', line 37

def self.active_klass
  ActiveControl
end

.archived_klassObject



41
42
43
# File 'lib/subledger/domain/control.rb', line 41

def self.archived_klass
  ArchivedControl
end

.patch_keysObject



29
30
31
# File 'lib/subledger/domain/control.rb', line 29

def self.patch_keys
  [  ]
end

.post_keysObject



25
26
27
# File 'lib/subledger/domain/control.rb', line 25

def self.post_keys
  [ :id, :identity, :verbs, :path, :mode ]
end

.root_klassObject



21
22
23
# File 'lib/subledger/domain/control.rb', line 21

def self.root_klass
  Control
end

.sub_klassesObject



33
34
35
# File 'lib/subledger/domain/control.rb', line 33

def self.sub_klasses
  [ active_klass, archived_klass ]
end

Instance Method Details

#match?(verb, url) ⇒ Boolean

def is verb, url

verb == @verbs and url == @path

end

Returns:

  • (Boolean)


71
72
73
# File 'lib/subledger/domain/control.rb', line 71

def match? verb, url
  @verbs.split('|').include?(verb) and match_wildcard(url, @path)
end