Class: Lexicon::Cli::Command::ProductionCommand
Instance Method Summary
collapse
#initialize
Instance Method Details
#config ⇒ Object
26
27
28
29
30
31
|
# File 'lib/lexicon/cli/command/production_command.rb', line 26
def config
puts " Version dir: \#{container.parameter('lexicon.common.package_dir')}\n Prod database URL: \#{container.parameter('lexicon.common.production.database.url')}\n TEXT\nend\n"
|
#delete(version) ⇒ Object
112
113
114
115
116
117
118
119
120
121
122
123
|
# File 'lib/lexicon/cli/command/production_command.rb', line 112
def delete(version)
semver = Semantic::Version.new(version)
if loaded_versions.include?(semver)
production_database
.query("DROP SCHEMA \"#{version_to_schema(semver)}\" CASCADE")
puts '[ OK ] '.green + "The version #{semver} has been deleted."
else
puts '[ NOK ] '.red + "The version #{semver.to_s.yellow} is not loaded or is enabled."
end
end
|
#disable ⇒ Object
79
80
81
82
83
84
85
86
87
|
# File 'lib/lexicon/cli/command/production_command.rb', line 79
def disable
if enabled? && !(version = enabled_version).nil?
puts "Disabling version #{version.to_s.yellow}"
do_disable
puts '[ OK ] Done'.green
else
puts 'Lexicon is not enabled'.red
end
end
|
#enable(version = nil) ⇒ Object
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
# File 'lib/lexicon/cli/command/production_command.rb', line 91
def enable(version = nil)
if enabled?
puts 'Disabling current version'
do_disable
end
semver = if version.nil?
loaded_versions.max
else
Semantic::Version.new(version)
end
puts "Enabling version #{semver.to_s.yellow}"
do_enable(semver)
puts '[ OK ] Done'.green
end
|
#load(pkg_name) ⇒ Object
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/lexicon/cli/command/production_command.rb', line 38
def load(pkg_name)
datasource_loader = get(Lexicon::Common::Production::DatasourceLoader)
integrity_validator = get(Lexicon::Common::Package::PackageIntegrityValidator)
package_loader = get(Lexicon::Common::Package::DirectoryPackageLoader)
validate = options.fetch(:validate)
names = options.fetch(:datasources, [])
without = options.fetch(:without, [])
package = package_loader.load_package(pkg_name)
if package.nil?
puts '[ NOK ] Did not find any package to load'.red
elsif package.nil?
puts "[ NOK ] No Package found for version #{version}".red
elsif !validate || integrity_validator.valid?(package)
datasource_loader.load_package(package, only: (names.empty? ? nil : names), without: without)
else
puts "[ NOK ] Lexicon package #{package.version} is corrupted".red
end
end
|
#loadable ⇒ Object
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/lexicon/cli/command/production_command.rb', line 13
def loadable
available_packages.each do |package|
puts package.version.to_s.green
package.file_sets
.sort_by(&:name)
.each do |fs|
puts ' -> ' + fs.name.send(fs.data_path.nil? ? :yellow : :green)
end
end
end
|
#versions ⇒ Object
64
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/lexicon/cli/command/production_command.rb', line 64
def versions
puts "Lexicon is #{enabled? ? 'ENABLED'.green + " (#{enabled_version.to_s.yellow})" : 'DISABLED'.red}"
available = loaded_versions
if available.empty?
puts 'No other versions are loaded'
else
puts 'Available loaded versions are:'
loaded_versions
.each { |e| puts " - #{e}" }
end
end
|