oc 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a15f46e8ae9ee339cf564711538ce8de4e218e1e
4
- data.tar.gz: 9efddae071d282f66956d7251364c2e7bf4c422d
3
+ metadata.gz: 94a513a97b28baca3bad3b2eb2f14f4f3eb78448
4
+ data.tar.gz: d03e27fce3ca7dc61259815f67c8fa2ef7a2f371
5
5
  SHA512:
6
- metadata.gz: 56ddd365efd827df9bf35ca78497f29cefc14d1be1f756c3e7f8f642f84deb25f2b3909bafac9f03cde272d498136e3916e970aed7568961967be1c64d5ac127
7
- data.tar.gz: 41c90910f3b92ed2286e388dd072d744b8f0bd9d12e0cc13240043954caf50aa5630a89c142a1139b32f2106fa24fa0738855fbeaebe7b44d3163037cff5cf89
6
+ metadata.gz: 37b08b93b60961693685ab3306d3db80f3f4abe7e661ee86145adc82f3f297a8e726f44ee4c4e2451d0323e21804646122cd9d514ce30f3bb10075ce65b2d8f8
7
+ data.tar.gz: ee29fa536dfe90e254821171b180b5c63a4b368316e9f52471beed2e15eb44c672154d9762aa29e68d852dc5fe326d78d66f4087a1cedc50d3fa4ce106b6cf54
data/README.md CHANGED
@@ -17,7 +17,7 @@ Or install it yourself as:
17
17
  $ gem install oc
18
18
 
19
19
  ## Droplets
20
-
20
+ <pre>
21
21
  Droplet List
22
22
  $ oc show [TRUE]
23
23
 
@@ -56,9 +56,9 @@ Or install it yourself as:
56
56
 
57
57
  Rename Droplet
58
58
  $ oc droplets rename [DROPLET_ID] [NEW_NAME]
59
-
59
+ </pre>
60
60
  ## SSH
61
-
61
+ <pre>
62
62
  SSH Key List
63
63
  $ oc ssh keys
64
64
 
@@ -73,19 +73,19 @@ Or install it yourself as:
73
73
 
74
74
  Destroy SSH Key
75
75
  $ oc ssh destroy [KEY_ID]
76
-
76
+ </pre>
77
77
  ## Regions
78
-
78
+ <pre>
79
79
  Region List
80
80
  $ oc regions
81
-
81
+ </pre>
82
82
  ## Sizes
83
-
83
+ <pre>
84
84
  Size List
85
85
  $ oc sizes
86
-
86
+ </pre>
87
87
  ## Images
88
-
88
+ <pre>
89
89
  Show Images
90
90
  $ co images [true]
91
91
 
@@ -97,6 +97,17 @@ Or install it yourself as:
97
97
 
98
98
  Transfer Image
99
99
  $ oc images transfer [IMAGE_ID] [REGION_ID]
100
+ </pre>
101
+
102
+
103
+ ## Information
104
+ <pre>
105
+ Show API Key and Client ID
106
+ $ co info show
107
+
108
+ Change Information
109
+ $ co info change
110
+ </pre>
100
111
 
101
112
  ## Contributing
102
113
 
data/bin/oc CHANGED
@@ -9,10 +9,9 @@ require "terminal-table"
9
9
  bin_file = Pathname.new(__FILE__).realpath
10
10
  $:.unshift File.expand_path("../../lib", bin_file)
11
11
 
12
- config = Netrc.read
12
+ config = Netrc.read("oc.netrc")
13
13
 
14
14
  if config["api.digitalocean.com"].nil?
15
- puts "\n"
16
15
  client_id = [(print 'Digital Ocean Client ID: '), STDIN.gets.rstrip][1]
17
16
  api_key = [(print 'Digital Ocean API Key: '), STDIN.gets.rstrip][1]
18
17
  config["api.digitalocean.com"] = client_id, api_key
data/bin/oc.netrc ADDED
@@ -0,0 +1,3 @@
1
+ machine api.digitalocean.com
2
+ login mEhY7wLggVeSAM32rWZNt
3
+ password 1a9c2eb68568f92efc0b7c9e134a1928
data/lib/oc/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Oc
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
data/lib/system/config.rb CHANGED
@@ -1,15 +1,13 @@
1
1
  module Oc
2
2
  class Config
3
-
4
- def self.client_id
5
- config = Netrc.read
6
- config["api.digitalocean.com"][0]
7
- end
8
-
9
- def self.api_key
10
- config = Netrc.read
11
- config["api.digitalocean.com"][1]
12
- end
13
-
3
+ def self.get(key)
4
+ config = Netrc.read("oc.netrc")
5
+ config = config["api.digitalocean.com"]
6
+ options = {
7
+ :client_id => config[0],
8
+ :api_key => config[1]
9
+ }
10
+ return options[:"#{key}"]
11
+ end
14
12
  end
15
13
  end
data/lib/system/get.rb CHANGED
@@ -3,7 +3,7 @@ require "json"
3
3
  module Oc
4
4
  class Get
5
5
  def self.get_json path,filter=nil
6
- source = "https://api.digitalocean.com/#{path}/?client_id=#{Oc::Config.client_id}&api_key=#{Oc::Config.api_key}&filter=#{filter}"
6
+ source = "https://api.digitalocean.com/#{path}/?client_id=#{Oc::Config.get("client_id")}&api_key=#{Oc::Config.get("api_key")}&filter=#{filter}"
7
7
  puts "I'm thinking, please wait..".blue
8
8
  response = Net::HTTP.get_response(URI.parse(source))
9
9
  data = response.body
@@ -18,7 +18,7 @@ module Oc
18
18
  url += "/#{sub_path}"
19
19
  end
20
20
 
21
- url += "?client_id=#{Oc::Config.client_id}&api_key=#{Oc::Config.api_key}"
21
+ url += "?client_id=#{Oc::Config.get("client_id")}&api_key=#{Oc::Config.get("api_key")}"
22
22
 
23
23
  parameter = ""
24
24
  if parameters.length > 0
@@ -40,7 +40,7 @@ module Oc
40
40
 
41
41
  def self.get_json_url url ,parameters=[]
42
42
 
43
- url += "?client_id=#{Oc::Config.client_id}&api_key=#{Oc::Config.api_key}"
43
+ url += "?client_id=#{Oc::Config.get("client_id")}&api_key=#{Oc::Config.get("api_key")}"
44
44
 
45
45
  parameter = ""
46
46
  if parameters.length > 0
@@ -49,7 +49,9 @@ class Oc::Run::Base
49
49
  meta << {
50
50
  :switches => switches,
51
51
  :description => description,
52
- :type => String
52
+ :type => options[:type].nil? ? "String" : options[:type],
53
+ :default => options[:default],
54
+ :optional => options[:optional]
53
55
  }
54
56
  end
55
57
 
@@ -1,4 +1,6 @@
1
- require "commander"
1
+ require 'commander'
2
+ require 'commander/command'
3
+ require 'commander/import'
2
4
  module Oc
3
5
  class Runner
4
6
  def self.start
@@ -0,0 +1,25 @@
1
+ module Oc::Run
2
+ class Info < Base
3
+
4
+ def show
5
+ puts "Client ID: #{Oc::Config.get("client_id")}".yellow
6
+ puts "API Key: #{Oc::Config.get("api_key")}".yellow
7
+ end
8
+
9
+ description "Change your API information"
10
+ def change(*args)
11
+ config = Netrc.read("oc.netrc")
12
+ client_id = [(print 'Digital Ocean Client ID: '), STDIN.gets.rstrip][1]
13
+ api_key = [(print 'Digital Ocean API Key: '), STDIN.gets.rstrip][1]
14
+ if client_id.empty? and api_key.empty?
15
+ puts "Please fill all fields".red
16
+ else
17
+ puts "#{client_id} - #{api_key}"
18
+ config["api.digitalocean.com"] = client_id, api_key
19
+ config.save
20
+ puts "Informations is changed".red
21
+ end
22
+ end
23
+
24
+ end
25
+ end
@@ -1,6 +1,3 @@
1
- require 'commander'
2
- require 'commander/command'
3
- require 'commander/import'
4
1
  module Oc
5
2
  module Run
6
3
  autoload :Base, "system/run/base"
@@ -21,8 +18,6 @@ module Oc
21
18
 
22
19
  def self.parse_command(ins = Commander::Runner::instance)
23
20
 
24
-
25
-
26
21
  commands.each_pair do |name, opts|
27
22
  name = Array(name)
28
23
  names = [name.reverse.join('-'), name.join(' ')] if name.length > 1
@@ -35,19 +30,15 @@ module Oc
35
30
  c.syntax = opts[:options][:syntax]
36
31
 
37
32
  (options_metadata = Array(opts[:options][:meta])).each do |o|
38
- option_data = [o[:switches], o[:type], o[:description]].compact.flatten(1)
33
+ option_data = [o[:switches], o[:type], o[:description], o[:optional]].compact.flatten(1)
39
34
  c.option *option_data
40
35
  o[:arg] = Commander::Runner.switch_to_sym(Array(o[:switches]).last)
41
36
 
42
37
  end
43
38
 
44
-
45
-
46
39
  c.when_called do |args, options|
47
40
  object = opts[:class].new
48
41
  object.options = options
49
-
50
-
51
42
  run(object,opts[:method],args)
52
43
  end
53
44
  end
@@ -62,6 +53,15 @@ module Oc
62
53
  end
63
54
 
64
55
 
56
+ protected
57
+ def self.hash_to_array(options)
58
+ return_data = []
59
+ options.each do |k,v|
60
+ return_data[k] = v
61
+ end
62
+ return return_data
63
+ end
64
+
65
65
  def self.commands
66
66
  @commands ||= {}
67
67
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sedat ÇİFTÇİ
@@ -99,6 +99,7 @@ email:
99
99
  - iamcodegrab@gmail.com
100
100
  executables:
101
101
  - oc
102
+ - oc.netrc
102
103
  extensions: []
103
104
  extra_rdoc_files: []
104
105
  files:
@@ -108,6 +109,7 @@ files:
108
109
  - README.md
109
110
  - Rakefile
110
111
  - bin/oc
112
+ - bin/oc.netrc
111
113
  - lib/oc.rb
112
114
  - lib/oc/version.rb
113
115
  - lib/system/config.rb
@@ -116,6 +118,7 @@ files:
116
118
  - lib/system/run/client.rb
117
119
  - lib/system/run/commands/droplets.rb
118
120
  - lib/system/run/commands/images.rb
121
+ - lib/system/run/commands/info.rb
119
122
  - lib/system/run/commands/regions.rb
120
123
  - lib/system/run/commands/sizes.rb
121
124
  - lib/system/run/commands/ssh.rb