Module: Kleiber
- Defined in:
- lib/kleiber.rb,
lib/kleiber/cli.rb,
lib/kleiber/project.rb,
lib/kleiber/version.rb,
lib/kleiber/commands.rb,
lib/kleiber/settings.rb,
lib/kleiber/symphony.rb,
lib/kleiber/terminal.rb,
lib/kleiber/performer.rb more...
Defined Under Namespace
Modules: Commands Classes: CLI, Performer, Project, Settings, Symphony, Terminal
Constant Summary collapse
- ROOT =
File.absolute_path("#{__dir__}/..")
- DEFAULT_SETTINGS_PATH =
File.('.projects.yml', ENV['HOME'])
- VERSION =
"0.1.0"
Class Method Summary collapse
-
.configure {|settings| ... } ⇒ Object
Provides blockparam settings for configure.
-
.perform(symphony_name, projects, options) ⇒ Performer
Returns performer with defined options.
-
.projects ⇒ Array
Returns projects which kleiber can operate.
-
.settings ⇒ Settings
Returns settings if library.
-
.symphonies ⇒ Hash
Returns symphonies which kleiber can control.
-
.terminal ⇒ Terminal
Returns current terminal object.
Class Method Details
permalink .configure {|settings| ... } ⇒ Object
Provides blockparam settings for configure
44 45 46 |
# File 'lib/kleiber.rb', line 44 def configure yield settings end |
permalink .perform(symphony_name, projects, options) ⇒ Performer
Returns performer with defined options
21 22 23 |
# File 'lib/kleiber.rb', line 21 def perform(symphony_name, projects, ) Performer.new(symphonies[symphony_name], projects, ) end |
permalink .projects ⇒ Array
Returns projects which kleiber can operate
27 28 29 30 31 |
# File 'lib/kleiber.rb', line 27 def projects settings.projects.map do |project_settings| Project.new(project_settings) end end |
permalink .settings ⇒ Settings
Returns settings if library
50 51 52 |
# File 'lib/kleiber.rb', line 50 def settings @settings ||= Settings.new(DEFAULT_SETTINGS_PATH) end |
permalink .symphonies ⇒ Hash
Returns symphonies which kleiber can control
35 36 37 38 39 40 |
# File 'lib/kleiber.rb', line 35 def symphonies settings.symphonies.each_with_object({}) do |(symphony_name, symphony_settings), result| symp_projects = projects.select { |p| symphony_settings[:projects].include?(p.name) } result[symphony_name] = Symphony.new(symphony_name, symp_projects, symphony_settings) end end |
permalink .terminal ⇒ Terminal
Returns current terminal object
56 57 58 |
# File 'lib/kleiber.rb', line 56 def terminal @terminal ||= Terminal.new(settings.terminal) end |