Class: RDBr::Metadata::Namespace

Inherits:
Data
  • Object
show all
Defined in:
lib/rdbr/metadata/namespace.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, relations: []) ⇒ Namespace

Returns a new instance of Namespace.



4
5
6
7
8
9
10
11
# File 'lib/rdbr/metadata/namespace.rb', line 4

def initialize(name:, relations: [])
  namespace_relations = Values.collection(relations, member: Relation, field: 'relations')
  Values.unique_names!(namespace_relations, field: 'relations')
  super(
    name: Values.name(name, field: 'namespace name'),
    relations: namespace_relations
  )
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name

Returns:

  • (Object)

    the current value of name



3
4
5
# File 'lib/rdbr/metadata/namespace.rb', line 3

def name
  @name
end

#relationsObject (readonly)

Returns the value of attribute relations

Returns:

  • (Object)

    the current value of relations



3
4
5
# File 'lib/rdbr/metadata/namespace.rb', line 3

def relations
  @relations
end

Instance Method Details

#relation(name) ⇒ Object



13
14
15
# File 'lib/rdbr/metadata/namespace.rb', line 13

def relation(name)
  relations.find{|relation| relation.name == name.to_s }
end

#tablesObject



17
18
19
# File 'lib/rdbr/metadata/namespace.rb', line 17

def tables
  relations.select(&:table?).freeze
end

#viewsObject



21
22
23
# File 'lib/rdbr/metadata/namespace.rb', line 21

def views
  relations.select(&:view?).freeze
end