Class: Bastet::Group

Inherits:
Object
  • Object
show all
Defined in:
lib/bastet/group.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, &block) ⇒ Group

Returns a new instance of Group.

Raises:

  • (ArgumentError)


4
5
6
7
8
9
10
11
12
# File 'lib/bastet/group.rb', line 4

def initialize name, &block
  raise ArgumentError.new("Need to pass a criteria") unless block_given?
  validate_name!(name.to_s)

  @name = name.to_s
  @criteria = block

  persist!
end

Instance Attribute Details

#criteriaObject

Returns the value of attribute criteria.



2
3
4
# File 'lib/bastet/group.rb', line 2

def criteria
  @criteria
end

#nameObject

Returns the value of attribute name.



2
3
4
# File 'lib/bastet/group.rb', line 2

def name
  @name
end

Class Method Details

.find(name) ⇒ Object



14
15
16
# File 'lib/bastet/group.rb', line 14

def self.find name
  Bastet.groups.detect { |group| group.name == name }
end

Instance Method Details

#contains?(entity) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/bastet/group.rb', line 18

def contains? entity
  criteria.call(entity) rescue false
end