Class: Eh::Settings
- Inherits:
-
Object
- Object
- Eh::Settings
- Defined in:
- lib/eh/settings.rb
Defined Under Namespace
Classes: Repository
Instance Attribute Summary collapse
-
#data ⇒ Object
readonly
Returns the value of attribute data.
-
#file ⇒ Object
readonly
Returns the value of attribute file.
Class Method Summary collapse
Instance Method Summary collapse
- #console_source_dir ⇒ Object
- #default_stage ⇒ Object
- #deployment_dir ⇒ Object
- #deployment_management_files ⇒ Object
-
#initialize(file) ⇒ Settings
constructor
A new instance of Settings.
- #package_tmp_dir ⇒ Object
- #processor_template_repository_url ⇒ Object
- #processors_src_dir ⇒ Object
- #rails_release_dir ⇒ Object
- #rails_src_dir ⇒ Object
- #releases_dir(*extra_paths) ⇒ Object
- #repositories ⇒ Object
- #repository ⇒ Object
- #ruby_release_dir ⇒ Object
- #source_config_dir ⇒ Object
- #stages_dir ⇒ Object
- #template_tmp_dir ⇒ Object
- #write ⇒ Object
Constructor Details
#initialize(file) ⇒ Settings
Returns a new instance of Settings.
35 36 37 38 |
# File 'lib/eh/settings.rb', line 35 def initialize(file) @file = file @data = JSON.parse(File.read(file)) end |
Instance Attribute Details
#data ⇒ Object (readonly)
Returns the value of attribute data.
3 4 5 |
# File 'lib/eh/settings.rb', line 3 def data @data end |
#file ⇒ Object (readonly)
Returns the value of attribute file.
3 4 5 |
# File 'lib/eh/settings.rb', line 3 def file @file end |
Class Method Details
.current ⇒ Object
54 55 56 |
# File 'lib/eh/settings.rb', line 54 def self.current Thread.current[:eh_settings] end |
.current=(value) ⇒ Object
50 51 52 |
# File 'lib/eh/settings.rb', line 50 def self.current=(value) Thread.current[:eh_settings] = value end |
Instance Method Details
#console_source_dir ⇒ Object
92 93 94 |
# File 'lib/eh/settings.rb', line 92 def console_source_dir File.join(repository.dir, 'src', 'rails', 'console') end |
#default_stage ⇒ Object
31 32 33 |
# File 'lib/eh/settings.rb', line 31 def default_stage @data['default_stage'] || 'development' end |
#deployment_dir ⇒ Object
96 97 98 |
# File 'lib/eh/settings.rb', line 96 def deployment_dir File.join(repository.dir, 'src', 'deployment') end |
#deployment_management_files ⇒ Object
120 121 122 |
# File 'lib/eh/settings.rb', line 120 def deployment_management_files [ File.join(deployment_dir, 'management', 'launcher.rb') ] end |
#package_tmp_dir ⇒ Object
112 113 114 |
# File 'lib/eh/settings.rb', line 112 def package_tmp_dir './tmp' end |
#processor_template_repository_url ⇒ Object
108 109 110 |
# File 'lib/eh/settings.rb', line 108 def processor_template_repository_url 'https://github.com/thomis/eventhub-processor-template.git' end |
#processors_src_dir ⇒ Object
84 85 86 |
# File 'lib/eh/settings.rb', line 84 def processors_src_dir File.join(repository.dir, 'src', 'ruby') end |
#rails_release_dir ⇒ Object
76 77 78 |
# File 'lib/eh/settings.rb', line 76 def rails_release_dir releases_dir('rails') end |
#rails_src_dir ⇒ Object
88 89 90 |
# File 'lib/eh/settings.rb', line 88 def rails_src_dir File.join(repository.dir, 'src', 'rails') end |
#releases_dir(*extra_paths) ⇒ Object
71 72 73 |
# File 'lib/eh/settings.rb', line 71 def releases_dir(*extra_paths) File.join(repository.dir, 'releases', *extra_paths) end |
#repositories ⇒ Object
64 65 66 67 68 69 |
# File 'lib/eh/settings.rb', line 64 def repositories repos = data["repositories"].map do |json| Eh::Settings::Repository.new(json) end if data["repositories"] repos || [] end |
#repository ⇒ Object
58 59 60 61 62 |
# File 'lib/eh/settings.rb', line 58 def repository repositories.find do |repository| repository.current? end if repositories end |
#ruby_release_dir ⇒ Object
80 81 82 |
# File 'lib/eh/settings.rb', line 80 def ruby_release_dir releases_dir('ruby') end |
#source_config_dir ⇒ Object
104 105 106 |
# File 'lib/eh/settings.rb', line 104 def source_config_dir File.join(repository.dir, 'config') end |
#stages_dir ⇒ Object
124 125 126 |
# File 'lib/eh/settings.rb', line 124 def stages_dir File.join(repository.dir, 'config', 'stages') end |
#template_tmp_dir ⇒ Object
116 117 118 |
# File 'lib/eh/settings.rb', line 116 def template_tmp_dir '/tmp/eventhub-processor-template/' end |
#write ⇒ Object
44 45 46 47 48 |
# File 'lib/eh/settings.rb', line 44 def write File.open(file,"w") do |f| f.write(data.to_json) end end |