Class: Rdm::Package

Inherits:
Object
  • Object
show all
Defined in:
lib/rdm/package.rb

Constant Summary collapse

DEFAULT_GROUP =
'_default_'.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#config_dependencies(group = nil) ⇒ Object

Returns the value of attribute config_dependencies.



4
5
6
# File 'lib/rdm/package.rb', line 4

def config_dependencies
  @config_dependencies
end

#external_dependencies(group = nil) ⇒ Object

Returns the value of attribute external_dependencies.



4
5
6
# File 'lib/rdm/package.rb', line 4

def external_dependencies
  @external_dependencies
end

#file_dependencies(group = nil) ⇒ Object

Returns the value of attribute file_dependencies.



4
5
6
# File 'lib/rdm/package.rb', line 4

def file_dependencies
  @file_dependencies
end

#local_dependencies(group = nil) ⇒ Object

Returns the value of attribute local_dependencies.



4
5
6
# File 'lib/rdm/package.rb', line 4

def local_dependencies
  @local_dependencies
end

#metadataObject

Returns the value of attribute metadata.



4
5
6
# File 'lib/rdm/package.rb', line 4

def 
  @metadata
end

#pathObject

Returns the value of attribute path.



4
5
6
# File 'lib/rdm/package.rb', line 4

def path
  @path
end

Instance Method Details

#==(other_package) ⇒ Object



81
82
83
84
85
# File 'lib/rdm/package.rb', line 81

def ==(other_package)
  return false if other_package.class != self.class

  other_package.name == name
end

#dependency(group = nil) ⇒ Object



63
64
65
66
67
# File 'lib/rdm/package.rb', line 63

def dependency(group = nil)
  @current_group = group ? group.to_s : nil
  yield
  @current_group = nil
end

#import(dependency) ⇒ Object

Import local dependency, e.g another package



32
33
34
35
36
# File 'lib/rdm/package.rb', line 32

def import(dependency)
  @local_dependencies ||= {}
  @local_dependencies[current_group] ||= []
  @local_dependencies[current_group] << dependency
end

#import_config(dependency) ⇒ Object

Import config dependency



53
54
55
56
57
# File 'lib/rdm/package.rb', line 53

def import_config(dependency)
  @config_dependencies ||= {}
  @config_dependencies[current_group] ||= []
  @config_dependencies[current_group] << dependency
end

#local_dependencies_with_groupsObject



22
23
24
25
26
27
28
29
# File 'lib/rdm/package.rb', line 22

def local_dependencies_with_groups
  return {} if @local_dependencies.nil?
  @local_dependencies.each_with_object(
    Hash.new { |h,k| h[k]=[] }
  ) do|(k,v), h| 
    v.map { |t| h[t] << k }
  end
end

#name(value = nil) ⇒ Object



73
74
75
# File 'lib/rdm/package.rb', line 73

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

#packageObject



59
60
61
# File 'lib/rdm/package.rb', line 59

def package
  yield
end

#require(dependency) ⇒ Object

General ruby requires, e.g. require another gem



39
40
41
42
43
# File 'lib/rdm/package.rb', line 39

def require(dependency)
  @external_dependencies ||= {}
  @external_dependencies[current_group] ||= []
  @external_dependencies[current_group] << dependency
end

#require_file(file) ⇒ Object

Require file relative to package, e.g. require root file



46
47
48
49
50
# File 'lib/rdm/package.rb', line 46

def require_file(file)
  @file_dependencies ||= {}
  @file_dependencies[current_group] ||= []
  @file_dependencies[current_group] << file
end

#source(value = nil) ⇒ Object



69
70
71
# File 'lib/rdm/package.rb', line 69

def source(value = nil)
   :source, value
end

#version(value = nil) ⇒ Object



77
78
79
# File 'lib/rdm/package.rb', line 77

def version(value = nil)
   :version, value
end