Class: Ree::Package

Inherits:
Object show all
Defined in:
lib/ree/core/package.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(schema_version, name, entry_rpath, gem_name = nil) ⇒ Package

Returns a new instance of Package.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/ree/core/package.rb', line 9

def initialize(schema_version, name, entry_rpath, gem_name = nil)
  @schema_version = schema_version
  @name = name
  @entry_rpath = entry_rpath
  @objects_store = {}
  @deps_store = {}
  @env_vars_store = {}
  @entry_loaded = false
  @schema_loaded = false
  @loaded = false
  @tags = []
  @preload = {}
  @preloaded = false
  @gem_name = gem_name
end

Instance Attribute Details

Returns the value of attribute default_links.



6
7
8
# File 'lib/ree/core/package.rb', line 6

def default_links
  @default_links
end

#entry_rpathObject (readonly)

Returns the value of attribute entry_rpath.



6
7
8
# File 'lib/ree/core/package.rb', line 6

def entry_rpath
  @entry_rpath
end

#gem_nameObject (readonly)

Returns the value of attribute gem_name.



6
7
8
# File 'lib/ree/core/package.rb', line 6

def gem_name
  @gem_name
end

#moduleObject (readonly)

Returns the value of attribute module.



6
7
8
# File 'lib/ree/core/package.rb', line 6

def module
  @module
end

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/ree/core/package.rb', line 6

def name
  @name
end

#objects_storeObject (readonly)

Returns the value of attribute objects_store.



6
7
8
# File 'lib/ree/core/package.rb', line 6

def objects_store
  @objects_store
end

#preloadObject (readonly)

Returns the value of attribute preload.



6
7
8
# File 'lib/ree/core/package.rb', line 6

def preload
  @preload
end

#schema_versionObject (readonly)

Returns the value of attribute schema_version.



6
7
8
# File 'lib/ree/core/package.rb', line 6

def schema_version
  @schema_version
end

#tagsObject (readonly)

Returns the value of attribute tags.



6
7
8
# File 'lib/ree/core/package.rb', line 6

def tags
  @tags
end

Instance Method Details

#depsObject



110
111
112
# File 'lib/ree/core/package.rb', line 110

def deps
  @deps_store.values
end

#dirObject



90
91
92
# File 'lib/ree/core/package.rb', line 90

def dir
  @dir ||= @entry_rpath ? Pathname.new(@entry_rpath).dirname.parent.to_s : nil
end

#entry_loaded?Boolean

Returns:

  • (Boolean)


82
83
84
# File 'lib/ree/core/package.rb', line 82

def entry_loaded?
  @entry_loaded
end

#env_varsObject



133
134
135
# File 'lib/ree/core/package.rb', line 133

def env_vars
  @env_vars_store.values
end

#gem?Boolean

Returns:

  • (Boolean)


94
95
96
# File 'lib/ree/core/package.rb', line 94

def gem?
  !!@gem_name
end

#get_dep(name) ⇒ Object

Parameters:

  • name (Symbol)


122
123
124
# File 'lib/ree/core/package.rb', line 122

def get_dep(name)
  @deps_store[name]
end

#get_env_var(name) ⇒ Object

Parameters:

  • name (String)


145
146
147
# File 'lib/ree/core/package.rb', line 145

def get_env_var(name)
  @env_vars_store[name]
end

#get_object(name) ⇒ Nilor[Ree::Object]

Parameters:

  • name (Symbol)

Returns:



174
175
176
# File 'lib/ree/core/package.rb', line 174

def get_object(name)
  @objects_store[name]
end

#loaded?Boolean

Returns:

  • (Boolean)


66
67
68
# File 'lib/ree/core/package.rb', line 66

def loaded?
  @loaded
end

#objectsObject



178
179
180
# File 'lib/ree/core/package.rb', line 178

def objects
  @objects_store.values.flatten
end

#preloaded?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/ree/core/package.rb', line 34

def preloaded?
  @preloaded
end

#remove_object(name) ⇒ nil

Parameters:

  • name (Symbol)

Returns:

  • (nil)


164
165
166
167
168
169
170
# File 'lib/ree/core/package.rb', line 164

def remove_object(name)
  if @objects_store[name]
    @objects_store.delete(name)
  end

  nil
end

#resetObject



53
54
55
56
57
58
59
60
# File 'lib/ree/core/package.rb', line 53

def reset
  @entry_loaded = false
  @schema_loaded = false
  @loaded = false
  @deps_store = {}
  @env_vars_store = {}
  @preload = {}
end

#schema_loaded?Boolean

Returns:

  • (Boolean)


86
87
88
# File 'lib/ree/core/package.rb', line 86

def schema_loaded?
  @schema_loaded
end


25
26
27
# File 'lib/ree/core/package.rb', line 25

def set_default_links(&block)
  @default_links = block; self
end

#set_dep(dep) ⇒ Object

Parameters:



115
116
117
118
119
# File 'lib/ree/core/package.rb', line 115

def set_dep(dep)
  old = @deps_store[dep.name]
  @deps_store[dep.name] = dep
  old
end

#set_deps(list) ⇒ Object



104
105
106
107
108
# File 'lib/ree/core/package.rb', line 104

def set_deps(list)
  list.each do |item|
    @deps_store[item.name] = item
  end
end

#set_entry_loadedObject



74
75
76
# File 'lib/ree/core/package.rb', line 74

def set_entry_loaded
  @entry_loaded = true
end

#set_entry_rpath(val) ⇒ Object

Parameters:

  • val (String)


44
45
46
# File 'lib/ree/core/package.rb', line 44

def set_entry_rpath(val)
  @entry_rpath = val; self
end

#set_env_var(var) ⇒ Object

Parameters:



138
139
140
141
142
# File 'lib/ree/core/package.rb', line 138

def set_env_var(var)
  old = @env_vars_store[var.name]
  @env_vars_store[var.name] = var
  old
end

#set_env_vars(list) ⇒ Object

Parameters:



127
128
129
130
131
# File 'lib/ree/core/package.rb', line 127

def set_env_vars(list)
  list.each do |item|
    @env_vars_store[item.name] = item
  end
end

#set_loadedObject



70
71
72
# File 'lib/ree/core/package.rb', line 70

def set_loaded
  @loaded = true
end

#set_module(mod) ⇒ Object

Parameters:

  • mod (Module)


99
100
101
# File 'lib/ree/core/package.rb', line 99

def set_module(mod)
  @module = mod; self
end

#set_object(object) ⇒ Nilor[Ree::Object]

Returns Previous object version.

Parameters:

Returns:



151
152
153
154
155
156
157
158
159
160
# File 'lib/ree/core/package.rb', line 151

def set_object(object)
  if object.package_name != @name
    raise Ree::Error.new("package should only include objects from the same package")
  end

  existing = @objects_store[object.name]
  return existing if existing

  @objects_store[object.name] = object
end

#set_preload(val) ⇒ Object



62
63
64
# File 'lib/ree/core/package.rb', line 62

def set_preload(val)
  @preload = val; self
end

#set_preloaded(val) ⇒ Object

Parameters:

  • val (Bool)


30
31
32
# File 'lib/ree/core/package.rb', line 30

def set_preloaded(val)
  @preloaded = val; self
end

#set_schema_loadedObject



78
79
80
# File 'lib/ree/core/package.rb', line 78

def set_schema_loaded
  @schema_loaded = true
end

#set_schema_version(val) ⇒ Object

Parameters:

  • val (String)


39
40
41
# File 'lib/ree/core/package.rb', line 39

def set_schema_version(val)
  @schema_version = val; self
end

#set_tags(list) ⇒ Object

Parameters:

  • list (ArrayOf[String])


49
50
51
# File 'lib/ree/core/package.rb', line 49

def set_tags(list)
  @tags = (@tags + list).map(&:to_s).uniq; self
end