gistto 0.0.1

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.
data/extras/gistto.crt ADDED
@@ -0,0 +1,66 @@
1
+ DigiCert Assured ID Root CA
2
+ ===========================
3
+ -----BEGIN CERTIFICATE-----
4
+ MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG
5
+ EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
6
+ IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx
7
+ MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
8
+ ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew
9
+ ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO
10
+ 9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy
11
+ UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW
12
+ /lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy
13
+ oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf
14
+ GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF
15
+ 66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq
16
+ hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc
17
+ EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn
18
+ SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i
19
+ 8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
20
+ +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
21
+ -----END CERTIFICATE-----
22
+
23
+ DigiCert Global Root CA
24
+ =======================
25
+ -----BEGIN CERTIFICATE-----
26
+ MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG
27
+ EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
28
+ HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw
29
+ MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
30
+ dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq
31
+ hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn
32
+ TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5
33
+ BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H
34
+ 4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y
35
+ 7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB
36
+ o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm
37
+ 8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF
38
+ BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr
39
+ EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt
40
+ tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886
41
+ UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
42
+ CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
43
+ -----END CERTIFICATE-----
44
+
45
+ DigiCert High Assurance EV Root CA
46
+ ==================================
47
+ -----BEGIN CERTIFICATE-----
48
+ MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
49
+ EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
50
+ KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw
51
+ MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
52
+ MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu
53
+ Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t
54
+ Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS
55
+ OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3
56
+ MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ
57
+ NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
58
+ h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB
59
+ Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY
60
+ JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ
61
+ V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp
62
+ myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
63
+ mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
64
+ vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
65
+ -----END CERTIFICATE-----
66
+
data/gistto.gemspec ADDED
@@ -0,0 +1,20 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'gistto'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "gistto"
8
+ gem.version = Gistto::VERSION
9
+ gem.license = "MIT"
10
+ gem.authors = ["erikwco"]
11
+ gem.email = ["erikchacon@me.com"]
12
+ gem.description = %q{Gist Client with multiples and suitables functionalities}
13
+ gem.summary = %q{Gist Client for GitHub}
14
+ gem.homepage = "https://github.com/erikwco/gistto"
15
+
16
+ gem.files = `git ls-files`.split($/)
17
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
18
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
+ gem.require_paths = ["lib"]
20
+ end
@@ -0,0 +1,109 @@
1
+ require 'rubygems'
2
+ require 'faraday'
3
+ require 'optparse'
4
+ require 'fileutils'
5
+ require 'tmpdir'
6
+ require 'json'
7
+ require 'pp'
8
+
9
+
10
+ module Gistto
11
+
12
+ #
13
+ # Clien todo list
14
+ # todo: sync, pull and inline update methods
15
+ #
16
+ module Client
17
+ extend self
18
+
19
+ #
20
+ # instance module variables
21
+ #
22
+ @temporal_token = nil
23
+ @options = {}
24
+
25
+ def run(*args)
26
+ #
27
+ # options definitions and parsing
28
+ #
29
+ oparser = OptionParser.new do |option|
30
+ option.banner = "Usage : gistto [action] [options] [arguments] ... \n" +
31
+ "* action : \n" +
32
+ "* config [-n|--new]\n" +
33
+ "* add [-p|--private] file-path1 file-path2 ... file-pathN\n" +
34
+ "* get [-o|--open] [-c|--clipboard] [-l|--local] [-s|--show] gist-ID\n" +
35
+ "* delete gist-ID\n" +
36
+ "* list \n\n" +
37
+ "warn: [-l|--local] will overwrite local files without mercy :) \n\n".red
38
+ # new configuration
39
+ option.on('-n', '--new', 'Makes a new user configuration') { |n| @options[:new_config] = n }
40
+ # private gist
41
+ option.on('-p', '--private', 'Save Gist as private') { |n| @options[:private] = n }
42
+ # open gist in raw view
43
+ option.on('-o', '--open', 'Open Gist in browser in raw format') { |n| @options[:open] = n }
44
+ # copy gist to the clipboard
45
+ option.on('-c', '--clipboard','Copy Gist to clipboard') { |n| @options[:clipboard] = n }
46
+ # copy gist file(s) to gistto folder
47
+ option.on('-l', '--local', 'Copy Gist file(s) to gissto folder') { |n| @options[:local] = n }
48
+ # show input into screen
49
+ option.on('-s', '--show', 'Show Gist file(s) in the screen') { |n| @options[:show] = n }
50
+ # version
51
+ option.on('-v', '--version', 'Display Gistto current version') do
52
+ puts Gistto::VERSION
53
+ exit
54
+ end
55
+ # help
56
+ option.on('-h','--help','Display help screen') do
57
+ puts @oparser
58
+ exit
59
+ end
60
+
61
+ end
62
+
63
+ #
64
+ # parsing options
65
+ #
66
+ begin
67
+ oparser.parse!(args)
68
+ rescue
69
+ puts oparser
70
+ exit
71
+ end
72
+
73
+ #
74
+ # validating args if empty exit
75
+ #
76
+ if args.empty?
77
+ puts oparser
78
+ exit
79
+ end
80
+
81
+ #
82
+ # validates params
83
+ #
84
+ if !VALID_METHODS.include?(args[0])
85
+ #puts oparser
86
+ puts "Not valid method: please run gistto -h"
87
+ exit
88
+ end
89
+
90
+ #
91
+ # calling methods
92
+ #
93
+ method_to_call = Gistto::Client.method(args[0])
94
+ if args.size > 1
95
+ method_to_call.call args.last(args.size - 1)
96
+ else
97
+ method_to_call.call
98
+ end
99
+ end
100
+
101
+ end # Module Client
102
+
103
+ end # Module Gistto
104
+
105
+
106
+
107
+
108
+
109
+
@@ -0,0 +1,42 @@
1
+ class String
2
+ # colorization
3
+ def colorize(color_code)
4
+ "\e[#{color_code}m#{self}\e[0m"
5
+ end
6
+
7
+ def red
8
+ colorize(31)
9
+ end
10
+
11
+ def green
12
+ colorize(32)
13
+ end
14
+
15
+ def yellow
16
+ colorize(33)
17
+ end
18
+
19
+ def pink
20
+ colorize(35)
21
+ end
22
+
23
+ def black
24
+ colorize(30)
25
+ end
26
+
27
+ def blue
28
+ colorize(34)
29
+ end
30
+
31
+ def magenta
32
+ colorize(35)
33
+ end
34
+
35
+ def cyan
36
+ colorize(36)
37
+ end
38
+
39
+ def gray
40
+ colorize(37)
41
+ end
42
+ end