Class: GitMarkdown::Configuration
- Inherits:
-
Object
- Object
- GitMarkdown::Configuration
- Defined in:
- lib/git/markdown/configuration.rb
Constant Summary collapse
- XDG_CONFIG_HOME =
ENV.fetch("XDG_CONFIG_HOME", File.("~/.config"))
- DEFAULT_PROVIDER =
:github
Instance Attribute Summary collapse
-
#api_url ⇒ Object
Returns the value of attribute api_url.
-
#default_status ⇒ Object
Returns the value of attribute default_status.
-
#graphql_url ⇒ Object
Returns the value of attribute graphql_url.
-
#output_dir ⇒ Object
Returns the value of attribute output_dir.
-
#provider ⇒ Object
Returns the value of attribute provider.
-
#token ⇒ Object
Returns the value of attribute token.
Class Method Summary collapse
Instance Method Summary collapse
- #config_dir ⇒ Object
- #config_file ⇒ Object
- #credentials_file ⇒ Object
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
- #load! ⇒ Object
- #save! ⇒ Object
- #save_credentials!(token_value) ⇒ Object
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
12 13 14 15 16 17 18 |
# File 'lib/git/markdown/configuration.rb', line 12 def initialize @provider = DEFAULT_PROVIDER @output_dir = Dir.pwd @default_status = :unresolved @api_url = nil @graphql_url = nil end |
Instance Attribute Details
#api_url ⇒ Object
Returns the value of attribute api_url.
10 11 12 |
# File 'lib/git/markdown/configuration.rb', line 10 def api_url @api_url end |
#default_status ⇒ Object
Returns the value of attribute default_status.
10 11 12 |
# File 'lib/git/markdown/configuration.rb', line 10 def default_status @default_status end |
#graphql_url ⇒ Object
Returns the value of attribute graphql_url.
10 11 12 |
# File 'lib/git/markdown/configuration.rb', line 10 def graphql_url @graphql_url end |
#output_dir ⇒ Object
Returns the value of attribute output_dir.
10 11 12 |
# File 'lib/git/markdown/configuration.rb', line 10 def output_dir @output_dir end |
#provider ⇒ Object
Returns the value of attribute provider.
10 11 12 |
# File 'lib/git/markdown/configuration.rb', line 10 def provider @provider end |
#token ⇒ Object
Returns the value of attribute token.
10 11 12 |
# File 'lib/git/markdown/configuration.rb', line 10 def token @token end |
Class Method Details
.load ⇒ Object
20 21 22 |
# File 'lib/git/markdown/configuration.rb', line 20 def self.load new.load! end |
Instance Method Details
#config_dir ⇒ Object
32 33 34 |
# File 'lib/git/markdown/configuration.rb', line 32 def config_dir File.join(XDG_CONFIG_HOME, "git-markdown") end |
#config_file ⇒ Object
36 37 38 |
# File 'lib/git/markdown/configuration.rb', line 36 def config_file File.join(config_dir, "config.yml") end |
#credentials_file ⇒ Object
40 41 42 |
# File 'lib/git/markdown/configuration.rb', line 40 def credentials_file File.join(config_dir, "credentials") end |
#load! ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/git/markdown/configuration.rb', line 24 def load! load_from_file if config_file_exist? resolve_credentials resolve_api_url if api_url.nil? resolve_graphql_url if graphql_url.nil? self end |
#save! ⇒ Object
44 45 46 47 48 |
# File 'lib/git/markdown/configuration.rb', line 44 def save! FileUtils.mkdir_p(config_dir) File.write(config_file, config_to_yaml) FileUtils.chmod(0o700, config_dir) end |
#save_credentials!(token_value) ⇒ Object
50 51 52 53 54 55 |
# File 'lib/git/markdown/configuration.rb', line 50 def save_credentials!(token_value) FileUtils.mkdir_p(config_dir) File.write(credentials_file, token_value) FileUtils.chmod(0o600, credentials_file) @token = token_value end |