Class: Star::Dlp::Config
- Inherits:
-
Object
- Object
- Star::Dlp::Config
- Defined in:
- lib/star/dlp/config.rb
Constant Summary collapse
- DEFAULT_CONFIG_DIR =
File.join(Dir.home, ".star-dlp")
- DEFAULT_CONFIG_FILE =
File.join(DEFAULT_CONFIG_DIR, "config.json")
- DEFAULT_STARS_DIR =
File.join(DEFAULT_CONFIG_DIR, "stars")
- DEFAULT_JSON_DIR =
File.join(DEFAULT_STARS_DIR, "json")
- DEFAULT_MARKDOWN_DIR =
File.join(DEFAULT_STARS_DIR, "markdown")
Instance Attribute Summary collapse
-
#github_token ⇒ Object
Returns the value of attribute github_token.
-
#json_dir ⇒ Object
Returns the value of attribute json_dir.
-
#markdown_dir ⇒ Object
Returns the value of attribute markdown_dir.
-
#output_dir ⇒ Object
Returns the value of attribute output_dir.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Config
constructor
A new instance of Config.
- #save ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Config
Returns a new instance of Config.
17 18 19 20 21 22 23 24 |
# File 'lib/star/dlp/config.rb', line 17 def initialize( = {}) @github_token = [:github_token] @output_dir = [:output_dir] || DEFAULT_STARS_DIR @json_dir = [:json_dir] || DEFAULT_JSON_DIR @markdown_dir = [:markdown_dir] || DEFAULT_MARKDOWN_DIR create_directories end |
Instance Attribute Details
#github_token ⇒ Object
Returns the value of attribute github_token.
15 16 17 |
# File 'lib/star/dlp/config.rb', line 15 def github_token @github_token end |
#json_dir ⇒ Object
Returns the value of attribute json_dir.
15 16 17 |
# File 'lib/star/dlp/config.rb', line 15 def json_dir @json_dir end |
#markdown_dir ⇒ Object
Returns the value of attribute markdown_dir.
15 16 17 |
# File 'lib/star/dlp/config.rb', line 15 def markdown_dir @markdown_dir end |
#output_dir ⇒ Object
Returns the value of attribute output_dir.
15 16 17 |
# File 'lib/star/dlp/config.rb', line 15 def output_dir @output_dir end |
Class Method Details
.load ⇒ Object
26 27 28 29 30 31 |
# File 'lib/star/dlp/config.rb', line 26 def self.load return new unless File.exist?(DEFAULT_CONFIG_FILE) config_data = JSON.parse(File.read(DEFAULT_CONFIG_FILE), symbolize_names: true) new(config_data) end |
Instance Method Details
#save ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/star/dlp/config.rb', line 33 def save FileUtils.mkdir_p(DEFAULT_CONFIG_DIR) unless Dir.exist?(DEFAULT_CONFIG_DIR) config_data = { github_token: @github_token, output_dir: @output_dir, json_dir: @json_dir, markdown_dir: @markdown_dir } File.write(DEFAULT_CONFIG_FILE, JSON.pretty_generate(config_data)) end |