Class: Jax::Plugin::Manifest

Inherits:
ActiveSupport::HashWithIndifferentAccess
  • Object
show all
Defined in:
lib/generators/jax/base/plugin_manifest.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(plugin_name = "") ⇒ Manifest

Returns a new instance of Manifest.



12
13
14
15
16
# File 'lib/generators/jax/base/plugin_manifest.rb', line 12

def initialize(plugin_name = "")
  super()
  self[:name] = plugin_name
  defaults
end

Class Method Details

.find(name) ⇒ Object



6
7
8
9
# File 'lib/generators/jax/base/plugin_manifest.rb', line 6

def find(name)
  man = new name
  man.load
end

Instance Method Details

#defaultsObject



69
70
71
72
73
# File 'lib/generators/jax/base/plugin_manifest.rb', line 69

def defaults
  self[:description] ||= ""
  self[:version] ||= "0.0.1"
  self
end

#descriptionObject



34
35
36
# File 'lib/generators/jax/base/plugin_manifest.rb', line 34

def description
  self[:description]
end

#description=(n) ⇒ Object



38
39
40
# File 'lib/generators/jax/base/plugin_manifest.rb', line 38

def description=(n)
  self[:description] = n
end

#loadObject



42
43
44
# File 'lib/generators/jax/base/plugin_manifest.rb', line 42

def load
  load_from path
end

#load_from(path) ⇒ Object



46
47
48
49
50
51
52
# File 'lib/generators/jax/base/plugin_manifest.rb', line 46

def load_from(path)
  yml = YAML::load(File.read(path))
  yml.each do |key, value|
    self[key] = value
  end
  self
end

#nameObject



18
19
20
# File 'lib/generators/jax/base/plugin_manifest.rb', line 18

def name
  self[:name]
end

#name=(n) ⇒ Object



22
23
24
# File 'lib/generators/jax/base/plugin_manifest.rb', line 22

def name=(n)
  self[:name] = n
end

#pathObject



65
66
67
# File 'lib/generators/jax/base/plugin_manifest.rb', line 65

def path
  File.join(::Rails.application.root, "vendor/plugins", name, "manifest.yml")
end

#saveObject



54
55
56
# File 'lib/generators/jax/base/plugin_manifest.rb', line 54

def save
  save_to path
end

#save_to(path) ⇒ Object



58
59
60
61
62
63
# File 'lib/generators/jax/base/plugin_manifest.rb', line 58

def save_to(path)
  base = File.dirname(path)
  FileUtils.mkdir_p(base) unless File.directory?(base)
  File.open(path, "w") { |f| f.print to_yaml }
  self
end

#versionObject



26
27
28
# File 'lib/generators/jax/base/plugin_manifest.rb', line 26

def version
  self[:version]
end

#version=(n) ⇒ Object



30
31
32
# File 'lib/generators/jax/base/plugin_manifest.rb', line 30

def version=(n)
  self[:version] = n
end