class Molecule::Registry

Attributes

molecules[RW]
name[RW]

Public Class Methods

new(name) click to toggle source
# File lib/molecule/registry.rb, line 10
def initialize name
  @name = name
  @molecules = {}
end

Public Instance Methods

dump_molecule_file() click to toggle source
# File lib/molecule/registry.rb, line 20
def dump_molecule_file
  molecule = read_molecule_file || {}
  molecule[:dependencies] = @molecules.keys
  File.open(registry_file_path, 'w') do |file|
    file.write(molecule_structure.to_json)
  end
end
molecule_structure() click to toggle source
# File lib/molecule/registry.rb, line 42
def molecule_structure
  {
    dependencies: @molecules.keys.to_json
  }
end
open_molecule_file() click to toggle source
# File lib/molecule/registry.rb, line 32
def open_molecule_file
  File.read(registry_file_path)
rescue
  '{}'
end
read_molecule_file() click to toggle source
# File lib/molecule/registry.rb, line 28
def read_molecule_file
  JSON.parse(open_molecule_file, symbolize_names: true)
end
register_molecule(molecule_name) click to toggle source
# File lib/molecule/registry.rb, line 15
def register_molecule molecule_name
  @molecules[molecule_name] = 1
  nil
end
registry_file_path() click to toggle source
# File lib/molecule/registry.rb, line 38
def registry_file_path
  Rails.root.join('app', 'molecules', @name, 'Moleculefile')
end