cknife 0.1.2 → 0.1.3
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 +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
|
+
[](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: []
|