cknife 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +2 -2
- data/Gemfile.lock +13 -4
- data/README.md +3 -1
- data/VERSION +1 -1
- data/bin/cknifeaws +21 -21
- data/cknife.gemspec +11 -10
- metadata +28 -53
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c1293d3d86b51ccb19a9cbb29970bffe45aed92b
|
4
|
+
data.tar.gz: 2e079ea3f28e0ef212a83c92894966bc302d11fe
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d59dcae7d2f5b8febad7586ab10a383a3822d8107355687c1e3c3796395896c1b84be46ea6e286e21e136b59f24319fcb50fb6b9e9574513440d6a5849b2dd1c
|
7
|
+
data.tar.gz: 405ae32f2af7c2da369be82bf1d285f9a393794c2bac4eb6d7763d499a44ec1ea4e7b692830a462338262415b72276eabeb892c0d32d55470426eac2f667a818
|
data/Gemfile
CHANGED
@@ -2,8 +2,8 @@ source "http://rubygems.org"
|
|
2
2
|
|
3
3
|
gem "rest-client", '>= 1.6'
|
4
4
|
gem "nokogiri", '>= 1.6'
|
5
|
-
gem "i18n",
|
6
|
-
gem "activesupport", '
|
5
|
+
gem "i18n", "~> 0.6.0"
|
6
|
+
gem "activesupport", '>= 3.0'
|
7
7
|
gem "thor", '>= 0.14'
|
8
8
|
gem "builder", '>= 3.0'
|
9
9
|
gem "fog", '>= 1.15'
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activesupport (
|
4
|
+
activesupport (4.1.5)
|
5
|
+
i18n (~> 0.6, >= 0.6.9)
|
6
|
+
json (~> 1.7, >= 1.7.7)
|
7
|
+
minitest (~> 5.1)
|
8
|
+
thread_safe (~> 0.1)
|
9
|
+
tzinfo (~> 1.1)
|
5
10
|
addressable (2.3.6)
|
6
11
|
builder (3.0.0)
|
7
12
|
descendants_tracker (0.0.4)
|
@@ -31,7 +36,7 @@ GEM
|
|
31
36
|
oauth2
|
32
37
|
hashie (3.0.0)
|
33
38
|
highline (1.6.21)
|
34
|
-
i18n (0.6.
|
39
|
+
i18n (0.6.11)
|
35
40
|
jeweler (2.0.1)
|
36
41
|
builder
|
37
42
|
bundler (>= 1.0)
|
@@ -41,9 +46,11 @@ GEM
|
|
41
46
|
nokogiri (>= 1.5.10)
|
42
47
|
rake
|
43
48
|
rdoc
|
49
|
+
json (1.8.1)
|
44
50
|
jwt (1.0.0)
|
45
51
|
mime-types (1.16)
|
46
52
|
mini_portile (0.5.2)
|
53
|
+
minitest (5.4.1)
|
47
54
|
multi_json (1.8.2)
|
48
55
|
multi_xml (0.5.5)
|
49
56
|
multipart-post (2.0.0)
|
@@ -66,6 +73,8 @@ GEM
|
|
66
73
|
ruby-hmac (0.4.0)
|
67
74
|
thor (0.14.6)
|
68
75
|
thread_safe (0.3.4)
|
76
|
+
tzinfo (1.2.2)
|
77
|
+
thread_safe (~> 0.1)
|
69
78
|
unf (0.1.3)
|
70
79
|
unf_ext
|
71
80
|
unf_ext (0.0.6)
|
@@ -74,11 +83,11 @@ PLATFORMS
|
|
74
83
|
ruby
|
75
84
|
|
76
85
|
DEPENDENCIES
|
77
|
-
activesupport (
|
86
|
+
activesupport (>= 3.0)
|
78
87
|
builder (>= 3.0)
|
79
88
|
bundler (~> 1.0)
|
80
89
|
fog (>= 1.15)
|
81
|
-
i18n (
|
90
|
+
i18n (~> 0.6.0)
|
82
91
|
jeweler (~> 2.0)
|
83
92
|
nokogiri (>= 1.6)
|
84
93
|
rest-client (>= 1.6)
|
data/README.md
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
|
2
|
+
[![Gem Version](https://badge.fury.io/rb/cknife.svg)](http://badge.fury.io/rb/cknife)
|
3
|
+
|
2
4
|
# Installation
|
3
5
|
|
4
|
-
|
6
|
+
Has been tested successfully on Rubies >= 1.9.2 with activesupport >= 3.
|
5
7
|
|
6
8
|
> gem install cknife
|
7
9
|
> cknifeaws help
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.3
|
data/bin/cknifeaws
CHANGED
@@ -18,16 +18,16 @@ class Aws < Thor
|
|
18
18
|
return @config if @config
|
19
19
|
|
20
20
|
@config = {
|
21
|
-
:key => ENV["KEY"] || ENV['AMAZON_ACCESS_KEY_ID'],
|
21
|
+
:key => ENV["KEY"] || ENV['AMAZON_ACCESS_KEY_ID'],
|
22
22
|
:secret => ENV["SECRET"] || ENV['AMAZON_SECRET_ACCESS_KEY']
|
23
23
|
}
|
24
|
-
|
24
|
+
|
25
25
|
config_file = nil
|
26
26
|
Pathname.new(Dir.getwd).tap do |here|
|
27
27
|
config_file = [["cknife.yml"], ["tmp", "cknife.yml"]].map { |args|
|
28
28
|
here.join(*args)
|
29
29
|
}.select { |path|
|
30
|
-
File.exists?(path)
|
30
|
+
File.exists?(path)
|
31
31
|
}.first
|
32
32
|
end
|
33
33
|
|
@@ -36,7 +36,7 @@ class Aws < Thor
|
|
36
36
|
@config.merge!(YAML.load(config_file.read).symbolize_keys!)
|
37
37
|
rescue
|
38
38
|
say ("Found, but could not parse config: #{config_file}")
|
39
|
-
end
|
39
|
+
end
|
40
40
|
end
|
41
41
|
|
42
42
|
@config
|
@@ -47,13 +47,13 @@ class Aws < Thor
|
|
47
47
|
:provider => 'AWS',
|
48
48
|
:aws_access_key_id => config[:key],
|
49
49
|
:aws_secret_access_key => config[:secret]
|
50
|
-
}
|
50
|
+
}
|
51
51
|
opts.merge!({ :region => options[:region] }) if !options[:region].blank?
|
52
52
|
opts
|
53
53
|
end
|
54
54
|
|
55
55
|
def fog_storage
|
56
|
-
return @storage if @storage
|
56
|
+
return @storage if @storage
|
57
57
|
@storage = Fog::Storage.new(fog_opts)
|
58
58
|
begin
|
59
59
|
@storage.directories.count # test login
|
@@ -81,7 +81,7 @@ class Aws < Thor
|
|
81
81
|
puts "#{s.tags['Name']} (state: #{s.state}): id=#{s.id} keyname=#{s.key_name} dns=#{s.dns_name} flavor=#{s.flavor_id}"
|
82
82
|
end
|
83
83
|
end
|
84
|
-
|
84
|
+
|
85
85
|
def show_cdns
|
86
86
|
puts fog_cdn.get_distribution_list.body['DistributionSummary'].to_yaml
|
87
87
|
end
|
@@ -108,7 +108,7 @@ class Aws < Thor
|
|
108
108
|
dir_path.mkpath
|
109
109
|
File.open(s3_file.key, "w") do |f|
|
110
110
|
f.write s3_file.body
|
111
|
-
end
|
111
|
+
end
|
112
112
|
end
|
113
113
|
|
114
114
|
|
@@ -116,7 +116,7 @@ class Aws < Thor
|
|
116
116
|
md5 = Digest::MD5.new
|
117
117
|
|
118
118
|
while !file.eof?
|
119
|
-
md5.update(file.read(FILE_BUFFER_SIZE))
|
119
|
+
md5.update(file.read(FILE_BUFFER_SIZE))
|
120
120
|
end
|
121
121
|
|
122
122
|
md5.hexdigest
|
@@ -204,7 +204,7 @@ class Aws < Thor
|
|
204
204
|
}
|
205
205
|
|
206
206
|
found.map { |f|
|
207
|
-
matching = unit_to_mult.keys.select { |k|
|
207
|
+
matching = unit_to_mult.keys.select { |k|
|
208
208
|
f.content_length >= unit_to_mult[k]
|
209
209
|
}.last
|
210
210
|
|
@@ -212,13 +212,13 @@ class Aws < Thor
|
|
212
212
|
"#{(f.content_length.to_f / unit_to_mult[matching]).round(2)}#{matching}",
|
213
213
|
f.content_type,
|
214
214
|
f.last_modified
|
215
|
-
]
|
215
|
+
]
|
216
216
|
}.tap do |tabular|
|
217
217
|
print_table(tabular, :ident => 2)
|
218
218
|
end
|
219
219
|
|
220
220
|
end
|
221
|
-
|
221
|
+
|
222
222
|
desc "download [BUCKET_NAME]", "Download all files in a bucket to CWD. Or one file."
|
223
223
|
method_options :region => "us-east-1"
|
224
224
|
method_options :one => nil
|
@@ -320,11 +320,11 @@ class Aws < Thor
|
|
320
320
|
end
|
321
321
|
|
322
322
|
# don't pointlessly upload large files if we already know we're going to delete them!
|
323
|
-
if options[:backups_retain]
|
324
|
-
immediate_successors.values.map { |h| h[:local_path] }.tap do |kept_files|
|
323
|
+
if options[:backups_retain]
|
324
|
+
immediate_successors.values.map { |h| h[:local_path] }.tap do |kept_files|
|
325
325
|
before_reject = files.count # blah...lame
|
326
|
-
files.reject! { |to_upload| !kept_files.include?(to_upload) }
|
327
|
-
sn += before_reject - files.count
|
326
|
+
files.reject! { |to_upload| !kept_files.include?(to_upload) }
|
327
|
+
sn += before_reject - files.count
|
328
328
|
|
329
329
|
say("Found #{files.count} file(s) that meet backups retention criteria for upload. Comparing against bucket...")
|
330
330
|
|
@@ -365,7 +365,7 @@ class Aws < Thor
|
|
365
365
|
end
|
366
366
|
end
|
367
367
|
say("updated.")
|
368
|
-
un += 1
|
368
|
+
un += 1
|
369
369
|
elsif existing_head.nil?
|
370
370
|
if !options[:dry_run]
|
371
371
|
File.open(to_upload) do |localfile|
|
@@ -399,8 +399,8 @@ class Aws < Thor
|
|
399
399
|
# all the meta data for all the N files.
|
400
400
|
|
401
401
|
file_keys_modtimes = []
|
402
|
-
d.files.each { |f|
|
403
|
-
if File.fnmatch(options[:glob], f.key)
|
402
|
+
d.files.each { |f|
|
403
|
+
if File.fnmatch(options[:glob], f.key)
|
404
404
|
existing_head = d.files.head(f.key)
|
405
405
|
md = existing_head.metadata
|
406
406
|
file_keys_modtimes.push({
|
@@ -472,7 +472,7 @@ class Aws < Thor
|
|
472
472
|
method_options :region => "us-east-1"
|
473
473
|
def create(bucket_name = nil)
|
474
474
|
if !bucket_name
|
475
|
-
puts "No bucket name given."
|
475
|
+
puts "No bucket name given."
|
476
476
|
return
|
477
477
|
end
|
478
478
|
|
@@ -489,7 +489,7 @@ class Aws < Thor
|
|
489
489
|
method_options :region => "us-east-1"
|
490
490
|
def show(bucket_name = nil)
|
491
491
|
if !bucket_name
|
492
|
-
puts "No bucket name given."
|
492
|
+
puts "No bucket name given."
|
493
493
|
return
|
494
494
|
end
|
495
495
|
|
data/cknife.gemspec
CHANGED
@@ -2,12 +2,14 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: cknife 0.1.3 ruby lib
|
5
6
|
|
6
7
|
Gem::Specification.new do |s|
|
7
8
|
s.name = "cknife"
|
8
|
-
s.version = "0.1.
|
9
|
+
s.version = "0.1.3"
|
9
10
|
|
10
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib"]
|
11
13
|
s.authors = ["Mike De La Loza"]
|
12
14
|
s.date = "2014-09-07"
|
13
15
|
s.description = "An Amazon Web Services S3 command line tool, and a few other command line tools."
|
@@ -33,18 +35,17 @@ Gem::Specification.new do |s|
|
|
33
35
|
]
|
34
36
|
s.homepage = "http://github.com/mikedll/cali-army-knife"
|
35
37
|
s.licenses = ["MIT"]
|
36
|
-
s.
|
37
|
-
s.rubygems_version = "1.8.24"
|
38
|
+
s.rubygems_version = "2.2.2"
|
38
39
|
s.summary = "Cali Army Knife"
|
39
40
|
|
40
41
|
if s.respond_to? :specification_version then
|
41
|
-
s.specification_version =
|
42
|
+
s.specification_version = 4
|
42
43
|
|
43
44
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
44
45
|
s.add_runtime_dependency(%q<rest-client>, [">= 1.6"])
|
45
46
|
s.add_runtime_dependency(%q<nokogiri>, [">= 1.6"])
|
46
|
-
s.add_runtime_dependency(%q<i18n>, ["
|
47
|
-
s.add_runtime_dependency(%q<activesupport>, ["
|
47
|
+
s.add_runtime_dependency(%q<i18n>, ["~> 0.6.0"])
|
48
|
+
s.add_runtime_dependency(%q<activesupport>, [">= 3.0"])
|
48
49
|
s.add_runtime_dependency(%q<thor>, [">= 0.14"])
|
49
50
|
s.add_runtime_dependency(%q<builder>, [">= 3.0"])
|
50
51
|
s.add_runtime_dependency(%q<fog>, [">= 1.15"])
|
@@ -54,8 +55,8 @@ Gem::Specification.new do |s|
|
|
54
55
|
else
|
55
56
|
s.add_dependency(%q<rest-client>, [">= 1.6"])
|
56
57
|
s.add_dependency(%q<nokogiri>, [">= 1.6"])
|
57
|
-
s.add_dependency(%q<i18n>, ["
|
58
|
-
s.add_dependency(%q<activesupport>, ["
|
58
|
+
s.add_dependency(%q<i18n>, ["~> 0.6.0"])
|
59
|
+
s.add_dependency(%q<activesupport>, [">= 3.0"])
|
59
60
|
s.add_dependency(%q<thor>, [">= 0.14"])
|
60
61
|
s.add_dependency(%q<builder>, [">= 3.0"])
|
61
62
|
s.add_dependency(%q<fog>, [">= 1.15"])
|
@@ -66,8 +67,8 @@ Gem::Specification.new do |s|
|
|
66
67
|
else
|
67
68
|
s.add_dependency(%q<rest-client>, [">= 1.6"])
|
68
69
|
s.add_dependency(%q<nokogiri>, [">= 1.6"])
|
69
|
-
s.add_dependency(%q<i18n>, ["
|
70
|
-
s.add_dependency(%q<activesupport>, ["
|
70
|
+
s.add_dependency(%q<i18n>, ["~> 0.6.0"])
|
71
|
+
s.add_dependency(%q<activesupport>, [">= 3.0"])
|
71
72
|
s.add_dependency(%q<thor>, [">= 0.14"])
|
72
73
|
s.add_dependency(%q<builder>, [">= 3.0"])
|
73
74
|
s.add_dependency(%q<fog>, [">= 1.15"])
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cknife
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Mike De La Loza
|
@@ -14,161 +13,141 @@ dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rest-client
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '1.6'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '1.6'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: nokogiri
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '1.6'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '1.6'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: i18n
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
47
|
+
version: 0.6.0
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - "~>"
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
54
|
+
version: 0.6.0
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: activesupport
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - ">="
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '3.0'
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - ">="
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '3.0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: thor
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - ">="
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0.14'
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - ">="
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '0.14'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: builder
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - ">="
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '3.0'
|
102
90
|
type: :runtime
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - ">="
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '3.0'
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: fog
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - ">="
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: '1.15'
|
118
104
|
type: :runtime
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- -
|
108
|
+
- - ">="
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: '1.15'
|
126
111
|
- !ruby/object:Gem::Dependency
|
127
112
|
name: unf
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
114
|
requirements:
|
131
|
-
- -
|
115
|
+
- - ">="
|
132
116
|
- !ruby/object:Gem::Version
|
133
117
|
version: '0.1'
|
134
118
|
type: :runtime
|
135
119
|
prerelease: false
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
121
|
requirements:
|
139
|
-
- -
|
122
|
+
- - ">="
|
140
123
|
- !ruby/object:Gem::Version
|
141
124
|
version: '0.1'
|
142
125
|
- !ruby/object:Gem::Dependency
|
143
126
|
name: bundler
|
144
127
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
128
|
requirements:
|
147
|
-
- - ~>
|
129
|
+
- - "~>"
|
148
130
|
- !ruby/object:Gem::Version
|
149
131
|
version: '1.0'
|
150
132
|
type: :development
|
151
133
|
prerelease: false
|
152
134
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
135
|
requirements:
|
155
|
-
- - ~>
|
136
|
+
- - "~>"
|
156
137
|
- !ruby/object:Gem::Version
|
157
138
|
version: '1.0'
|
158
139
|
- !ruby/object:Gem::Dependency
|
159
140
|
name: jeweler
|
160
141
|
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
142
|
requirements:
|
163
|
-
- - ~>
|
143
|
+
- - "~>"
|
164
144
|
- !ruby/object:Gem::Version
|
165
145
|
version: '2.0'
|
166
146
|
type: :development
|
167
147
|
prerelease: false
|
168
148
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
149
|
requirements:
|
171
|
-
- - ~>
|
150
|
+
- - "~>"
|
172
151
|
- !ruby/object:Gem::Version
|
173
152
|
version: '2.0'
|
174
153
|
description: An Amazon Web Services S3 command line tool, and a few other command
|
@@ -200,29 +179,25 @@ files:
|
|
200
179
|
homepage: http://github.com/mikedll/cali-army-knife
|
201
180
|
licenses:
|
202
181
|
- MIT
|
182
|
+
metadata: {}
|
203
183
|
post_install_message:
|
204
184
|
rdoc_options: []
|
205
185
|
require_paths:
|
206
186
|
- lib
|
207
187
|
required_ruby_version: !ruby/object:Gem::Requirement
|
208
|
-
none: false
|
209
188
|
requirements:
|
210
|
-
- -
|
189
|
+
- - ">="
|
211
190
|
- !ruby/object:Gem::Version
|
212
191
|
version: '0'
|
213
|
-
segments:
|
214
|
-
- 0
|
215
|
-
hash: 3913234385911926765
|
216
192
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
217
|
-
none: false
|
218
193
|
requirements:
|
219
|
-
- -
|
194
|
+
- - ">="
|
220
195
|
- !ruby/object:Gem::Version
|
221
196
|
version: '0'
|
222
197
|
requirements: []
|
223
198
|
rubyforge_project:
|
224
|
-
rubygems_version:
|
199
|
+
rubygems_version: 2.2.2
|
225
200
|
signing_key:
|
226
|
-
specification_version:
|
201
|
+
specification_version: 4
|
227
202
|
summary: Cali Army Knife
|
228
203
|
test_files: []
|