Class: PackageCloud::ConfigFile
- Inherits:
-
Object
- Object
- PackageCloud::ConfigFile
- Defined in:
- lib/package_cloud/config_file.rb
Instance Attribute Summary collapse
-
#token ⇒ Object
readonly
Returns the value of attribute token.
Instance Method Summary collapse
- #base_url(username = token, password = "") ⇒ Object
-
#initialize(filename = "~/.packagecloud", url = "https://packagecloud.io") ⇒ ConfigFile
constructor
A new instance of ConfigFile.
- #read_or_create ⇒ Object
- #url ⇒ Object
Constructor Details
#initialize(filename = "~/.packagecloud", url = "https://packagecloud.io") ⇒ ConfigFile
Returns a new instance of ConfigFile.
10 11 12 13 14 |
# File 'lib/package_cloud/config_file.rb', line 10 def initialize(filename = "~/.packagecloud", url = "https://packagecloud.io") handle_locale @filename = File.(filename) @url = URI(url) end |
Instance Attribute Details
#token ⇒ Object (readonly)
Returns the value of attribute token.
8 9 10 |
# File 'lib/package_cloud/config_file.rb', line 8 def token @token end |
Instance Method Details
#base_url(username = token, password = "") ⇒ Object
45 46 47 48 49 50 |
# File 'lib/package_cloud/config_file.rb', line 45 def base_url(username = token, password = "") u = url.dup u.user = CGI.escape(username) u.password = CGI.escape(password) u.to_s end |
#read_or_create ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/package_cloud/config_file.rb', line 16 def read_or_create if ENV["PACKAGECLOUD_TOKEN"] if ENV["PACKAGECLOUD_TOKEN"].length < 48 puts "Found PACKAGECLOUD_TOKEN environment variable but is empty or too short! Visit https://packagecloud.io/api_token and confirm it is correct." exit! end @token = ENV["PACKAGECLOUD_TOKEN"] @url = URI(ENV["PACKAGECLOUD_URL"]) if ENV["PACKAGECLOUD_URL"] output_host_and_token elsif File.exist?(@filename) attrs = JSON.parse(File.read(@filename)) @token = attrs["token"] if attrs.has_key?("token") @url = URI(attrs["url"]) if attrs.has_key?("url") fix_config_file! output_host_and_token else puts "No config file exists at #{@filename}. Login to create one." @token = login_from_console print "Got your token. Writing a config file to #{@filename}... " write puts "success!" end end |
#url ⇒ Object
41 42 43 |
# File 'lib/package_cloud/config_file.rb', line 41 def url @url ||= URI("https://packagecloud.io") end |