extensionator 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b2c239837d3f5a12011983a62634050d8941d9a2
4
- data.tar.gz: 54be724b1821e6b66ee67534777d96668af2173d
3
+ metadata.gz: 4554574d967be292bf3ffe06f26d5e6dd09adb7b
4
+ data.tar.gz: bc009ad8ecd2fb85dda6ebad45488eaf7edfb29e
5
5
  SHA512:
6
- metadata.gz: 0b387fc678c0b97716aa5c5a1e83ea00a76f56408dd2d5e0ae184943c201d465af65b422d78b1a82088f849eab834dd597890772d2dd379218482fb0232063ac
7
- data.tar.gz: 381093f6bd27eeac833d0142f680cb7e6796c87dfe51bf630fa82227ac62cf80a249f80c6ded10f1565de9490d20718f056427c4283bbcd0475f874109b043cd
6
+ metadata.gz: bd010870c3de4d5d5b41ef0bff5ec959dae8583a6840881ea7efb86809ce49dc38193ff0a3cba64f8d9ccd7c6002975888ee467614f6ff1b02042059a36efff1
7
+ data.tar.gz: 33b937c2beeadc388408ade3c2064978c712bc475a182e69c438c15e45df0adbbe990499862ab98ff4122c766065f3f6c80b215d80a6e29294ae2a483d430aaf
data/README.md CHANGED
@@ -46,7 +46,7 @@ Extensionator.create("dir", "key.pem", "output_file.crx", exclude: /\.md$/)
46
46
 
47
47
  The MIT License (MIT)
48
48
 
49
- Copyright (c) 2015 Isaac Cambron
49
+ Copyright (c) 2015 Zensight
50
50
 
51
51
  Permission is hereby granted, free of charge, to any person obtaining a copy
52
52
  of this software and associated documentation files (the "Software"), to deal
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
  spec.email = %w(isaac@isaaccambron.com)
12
12
  spec.executables = %w(extensionator)
13
13
  spec.files = %w(README.md extensionator.gemspec bin/extensionator) + Dir["lib/**/*.rb"]
14
- spec.homepage = "http://github.com/icambron/extensionator/"
14
+ spec.homepage = "http://github.com/zensight/extensionator/"
15
15
  spec.licenses = %w(MIT)
16
16
  spec.name = "extensionator"
17
17
  spec.require_paths = %w(lib)
data/lib/extensionator.rb CHANGED
@@ -5,62 +5,67 @@ require "pathname"
5
5
  require "zip"
6
6
 
7
7
  module Extensionator
8
- VERSION = "0.0.4"
8
+ VERSION = "0.0.5"
9
9
 
10
- def self.create(dir, key_file, dest_filename, opts = {})
11
- priv_key = read_key(key_file)
12
- zip_str = zip(dir, opts)
13
- sig_bytes = sign(zip_str, priv_key)
14
- write(zip_str, sig_bytes, priv_key, dest_filename)
15
- end
10
+ module Impl
11
+ def self.create(dir, key_file, dest_filename, opts)
12
+ priv_key = read_key(key_file)
13
+ zip_str = zip(dir, opts)
14
+ sig_bytes = sign(zip_str, priv_key)
15
+ write(zip_str, sig_bytes, priv_key, dest_filename)
16
+ end
16
17
 
17
- def self.read_key(key_file)
18
- OpenSSL::PKey::RSA.new(File.read(key_file))
19
- end
18
+ def self.read_key(key_file)
19
+ OpenSSL::PKey::RSA.new(File.read(key_file))
20
+ end
20
21
 
21
- def self.zip(dir, opts = {})
22
- Zip::File.add_buffer do |zip|
23
- Find.find(dir) do |path|
24
- case
25
- when path == dir
26
- next
27
- when (opts[:exclude] && path =~ opts[:exclude])
28
- Find.prune
29
- when File.directory?(path)
30
- zip.mkdir(relative_path(dir, path))
31
- else
32
- zip.add(relative_path(dir, path), path)
22
+ def self.zip(dir, opts = {})
23
+ Zip::File.add_buffer do |zip|
24
+ Find.find(dir) do |path|
25
+ case
26
+ when path == dir
27
+ next
28
+ when (opts[:exclude] && path =~ opts[:exclude])
29
+ Find.prune
30
+ when File.directory?(path)
31
+ zip.mkdir(relative_path(dir, path))
32
+ else
33
+ zip.add(relative_path(dir, path), path)
34
+ end
33
35
  end
34
- end
35
- end.string
36
- end
36
+ end.string
37
+ end
37
38
 
38
- def self.sign(zip_str, priv_key)
39
- priv_key.sign(OpenSSL::Digest::SHA1.new, zip_str)
40
- end
39
+ def self.sign(zip_str, priv_key)
40
+ priv_key.sign(OpenSSL::Digest::SHA1.new, zip_str)
41
+ end
41
42
 
42
- def self.write(zip_str, sig_bytes, priv_key, dest_filename)
43
- pub_key_bytes = priv_key.public_key.to_der
43
+ def self.write(zip_str, sig_bytes, priv_key, dest_filename)
44
+ pub_key_bytes = priv_key.public_key.to_der
44
45
 
45
- #See https://developer.chrome.com/extensions/crx for the format description
46
- File.open(dest_filename, "wb") do |file|
47
- file << "Cr24"
48
- file << format_size(2)
49
- file << format_size(pub_key_bytes.size)
50
- file << format_size(sig_bytes.size)
51
- file << pub_key_bytes
52
- file << sig_bytes
53
- file << zip_str
46
+ #See https://developer.chrome.com/extensions/crx for the format description
47
+ File.open(dest_filename, "wb") do |file|
48
+ file << "Cr24"
49
+ file << format_size(2)
50
+ file << format_size(pub_key_bytes.size)
51
+ file << format_size(sig_bytes.size)
52
+ file << pub_key_bytes
53
+ file << sig_bytes
54
+ file << zip_str
55
+ end
54
56
  end
55
- end
56
57
 
57
- def self.relative_path(base, target)
58
- from = Pathname.new(base)
59
- to = Pathname.new(target)
60
- to.relative_path_from(from).to_s
58
+ def self.relative_path(base, target)
59
+ from, to = [base, target].map(&Pathname.method(:new))
60
+ to.relative_path_from(from).to_s
61
+ end
62
+
63
+ def self.format_size(num)
64
+ [num].pack("V")
65
+ end
61
66
  end
62
67
 
63
- def self.format_size(num)
64
- return [num].pack("V")
68
+ def self.create(dir, key_file, dest_filename, opts = {})
69
+ Impl.create(dir, key_file, dest_filename, opts)
65
70
  end
66
71
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: extensionator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Isaac Cambron
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-13 00:00:00.000000000 Z
11
+ date: 2015-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -64,7 +64,7 @@ files:
64
64
  - bin/extensionator
65
65
  - extensionator.gemspec
66
66
  - lib/extensionator.rb
67
- homepage: http://github.com/icambron/extensionator/
67
+ homepage: http://github.com/zensight/extensionator/
68
68
  licenses:
69
69
  - MIT
70
70
  metadata: {}