extensionator 0.0.4 → 0.0.5

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: 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: {}