furoshiki 0.2.0 → 0.3.0
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 +4 -4
- data/.gitignore +1 -1
- data/.ruby-version +1 -1
- data/Gemfile +0 -1
- data/Rakefile +5 -0
- data/furoshiki.gemspec +1 -1
- data/lib/furoshiki/configuration.rb +142 -0
- data/lib/furoshiki/jar.rb +41 -0
- data/lib/furoshiki/jar_app.rb +225 -0
- data/lib/furoshiki/util.rb +27 -0
- data/lib/furoshiki/validator.rb +42 -0
- data/lib/furoshiki/version.rb +1 -1
- data/lib/furoshiki/warbler_extensions.rb +12 -0
- data/lib/furoshiki.rb +4 -3
- data/lib/warbler/traits/furoshiki.rb +31 -0
- data/spec/{shoes/swt_app_spec.rb → app_spec.rb} +29 -22
- data/spec/configuration_spec.rb +12 -0
- data/spec/fixtures/config.yaml +1 -0
- data/spec/{shoes → fixtures}/test_app/app.yaml +0 -0
- data/spec/{shoes → fixtures}/test_app/bin/hello_world +0 -0
- data/spec/{shoes → fixtures}/test_app/dir_to_ignore/file_to_ignore.txt +0 -0
- data/spec/{shoes → fixtures}/test_app/img/boots.icns +0 -0
- data/spec/{shoes → fixtures}/test_app/img/boots.ico +0 -0
- data/spec/{shoes → fixtures}/test_app/img/boots_512x512x32.png +0 -0
- data/spec/{shoes → fixtures}/test_app/sibling.rb +0 -0
- data/spec/fixtures/test_project/bin/hello.rb +1 -0
- data/spec/fixtures/test_project/dir_to_ignore/file_to_ignore.txt +1 -0
- data/spec/{shoes/swt_jar_spec.rb → jar_spec.rb} +25 -12
- data/spec/spec_helper.rb +51 -0
- data/spec/support/shared_config.rb +19 -0
- data/spec/support/shared_zip.rb +1 -1
- data/spec/util_spec.rb +57 -0
- metadata +73 -45
- data/lib/furoshiki/shoes/configuration.rb +0 -184
- data/lib/furoshiki/shoes/swt_app.rb +0 -230
- data/lib/furoshiki/shoes/swt_jar.rb +0 -67
- data/lib/furoshiki/shoes.rb +0 -15
- data/lib/warbler/traits/shoes.rb +0 -51
- data/spec/shoes/configuration_spec.rb +0 -198
- data/spec/shoes/spec_helper.rb +0 -70
- data/spec/shoes/support/shared_config.rb +0 -8
@@ -1,20 +1,19 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require_relative 'spec_helper'
|
3
2
|
require 'pathname'
|
4
|
-
require 'furoshiki/
|
3
|
+
require 'furoshiki/jar_app'
|
5
4
|
|
6
5
|
include PackageHelpers
|
7
6
|
|
8
|
-
describe Furoshiki::
|
9
|
-
include_context 'config'
|
10
|
-
include_context '
|
7
|
+
describe Furoshiki::JarApp do
|
8
|
+
include_context 'generic furoshiki config'
|
9
|
+
include_context 'generic furoshiki project'
|
11
10
|
|
12
|
-
let(:config) {Furoshiki::
|
13
|
-
subject {Furoshiki::
|
11
|
+
let(:config) {Furoshiki::Configuration.new @custom_config }
|
12
|
+
subject {Furoshiki::JarApp.new config}
|
14
13
|
|
15
14
|
let(:launcher) { @output_file.join('Contents/MacOS/JavaAppLauncher') }
|
16
|
-
let(:icon) { @output_file.join('Contents/Resources/
|
17
|
-
let(:jar) { @output_file.join('Contents/Java/
|
15
|
+
let(:icon) { @output_file.join('Contents/Resources/Shoes.icns') }
|
16
|
+
let(:jar) { @output_file.join('Contents/Java/rubyapp.jar') }
|
18
17
|
|
19
18
|
# $FUROSHIKI_HOME is set in spec_helper.rb for testing purposes,
|
20
19
|
# but should default to $HOME
|
@@ -33,7 +32,7 @@ describe Furoshiki::Shoes::SwtApp do
|
|
33
32
|
end
|
34
33
|
|
35
34
|
context "default" do
|
36
|
-
let(:cache_dir) { Pathname.new(
|
35
|
+
let(:cache_dir) { Pathname.new(FUROSHIKI_SPEC_DIR).join('.furoshiki', 'cache') }
|
37
36
|
its(:cache_dir) { should eq(cache_dir) }
|
38
37
|
|
39
38
|
it "sets package dir to {pwd}/pkg" do
|
@@ -43,21 +42,25 @@ describe Furoshiki::Shoes::SwtApp do
|
|
43
42
|
end
|
44
43
|
|
45
44
|
its(:template_path) { should eq(cache_dir.join('shoes-app-template.zip')) }
|
46
|
-
its(:remote_template_url) { should eq(Furoshiki::
|
45
|
+
its(:remote_template_url) { should eq(Furoshiki::Configuration::JAR_APP_TEMPLATE_URL) }
|
47
46
|
end
|
48
47
|
|
49
48
|
context "when creating a .app" do
|
50
49
|
before :all do
|
51
|
-
|
50
|
+
#@output_dir.rmtree if @output_dir.exist?
|
52
51
|
@output_dir.mkpath
|
53
|
-
|
52
|
+
|
53
|
+
app_name = 'Ruby App.app'
|
54
54
|
@output_file = @output_dir.join app_name
|
55
|
-
|
56
|
-
|
55
|
+
|
56
|
+
# Config picks up Dir.pwd
|
57
57
|
Dir.chdir @app_dir do
|
58
|
+
config = Furoshiki::Configuration.new(@custom_config)
|
59
|
+
@subject = Furoshiki::JarApp.new(config)
|
58
60
|
@subject.package
|
59
61
|
end
|
60
62
|
end
|
63
|
+
|
61
64
|
subject { @subject }
|
62
65
|
|
63
66
|
its(:template_path) { should exist }
|
@@ -101,30 +104,34 @@ describe Furoshiki::Shoes::SwtApp do
|
|
101
104
|
end
|
102
105
|
|
103
106
|
it "sets identifier" do
|
104
|
-
expect(@plist['CFBundleIdentifier']).to eq('com.hackety.shoes.
|
107
|
+
expect(@plist['CFBundleIdentifier']).to eq('com.hackety.shoes.rubyapp')
|
105
108
|
end
|
106
109
|
|
107
110
|
it "sets display name" do
|
108
|
-
expect(@plist['CFBundleDisplayName']).to eq('
|
111
|
+
expect(@plist['CFBundleDisplayName']).to eq('Ruby App')
|
109
112
|
end
|
110
113
|
|
111
114
|
it "sets bundle name" do
|
112
|
-
expect(@plist['CFBundleName']).to eq('
|
115
|
+
expect(@plist['CFBundleName']).to eq('Ruby App')
|
113
116
|
end
|
114
117
|
|
115
118
|
it "sets icon" do
|
116
|
-
expect(@plist['CFBundleIconFile']).to eq('
|
119
|
+
expect(@plist['CFBundleIconFile']).to eq('Shoes.icns')
|
117
120
|
end
|
118
121
|
|
119
122
|
it "sets version" do
|
120
|
-
expect(@plist['CFBundleVersion']).to eq('0.0.
|
123
|
+
expect(@plist['CFBundleVersion']).to eq('0.0.0')
|
121
124
|
end
|
122
125
|
end
|
123
126
|
end
|
124
127
|
|
125
128
|
describe "with an invalid configuration" do
|
126
|
-
let(:config) { Furoshiki::
|
127
|
-
subject { Furoshiki::
|
129
|
+
let(:config) { Furoshiki::Configuration.new }
|
130
|
+
subject { Furoshiki::JarApp.new config }
|
131
|
+
|
132
|
+
before do
|
133
|
+
allow(config).to receive(:valid?) { false }
|
134
|
+
end
|
128
135
|
|
129
136
|
it "fails to initialize" do
|
130
137
|
expect { subject }.to raise_error(Furoshiki::ConfigurationError)
|
@@ -0,0 +1 @@
|
|
1
|
+
gems: 'rubyzip'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
puts "Hello, world!"
|
@@ -0,0 +1 @@
|
|
1
|
+
should be ignored
|
@@ -1,26 +1,28 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require_relative 'spec_helper'
|
3
3
|
require 'pathname'
|
4
|
-
require 'furoshiki/
|
4
|
+
require 'furoshiki/jar'
|
5
5
|
|
6
6
|
include PackageHelpers
|
7
7
|
|
8
|
-
describe Furoshiki::
|
9
|
-
include_context 'config'
|
10
|
-
include_context '
|
8
|
+
describe Furoshiki::Jar do
|
9
|
+
include_context 'generic furoshiki config'
|
10
|
+
include_context 'generic furoshiki project'
|
11
11
|
|
12
12
|
context "when creating a .jar" do
|
13
13
|
before :all do
|
14
14
|
@output_dir.rmtree if @output_dir.exist?
|
15
15
|
@output_dir.mkpath
|
16
|
-
|
17
|
-
|
16
|
+
|
17
|
+
# Config picks up Dir.pwd
|
18
18
|
Dir.chdir @app_dir do
|
19
|
+
config = Furoshiki::Configuration.new(@custom_config)
|
20
|
+
@subject = Furoshiki::Jar.new(config)
|
19
21
|
@jar_path = @subject.package(@output_dir)
|
20
22
|
end
|
21
23
|
end
|
22
24
|
|
23
|
-
let(:jar_name) { '
|
25
|
+
let(:jar_name) { 'rubyapp.jar' }
|
24
26
|
let(:output_file) { Pathname.new(@output_dir.join jar_name) }
|
25
27
|
subject { @subject }
|
26
28
|
|
@@ -36,9 +38,16 @@ describe Furoshiki::Shoes::SwtJar do
|
|
36
38
|
expect(File.size(output_file)).to be < 50 * 1024 * 1024
|
37
39
|
end
|
38
40
|
|
39
|
-
|
40
|
-
jar
|
41
|
-
|
41
|
+
context "inspecting contents" do
|
42
|
+
let (:jar) { Zip::File.new(output_file) }
|
43
|
+
|
44
|
+
it "includes a specified gem" do
|
45
|
+
expect(jar.glob "gems/rubyzip*").to_not be_empty
|
46
|
+
end
|
47
|
+
|
48
|
+
it "does not include a non-specified gem" do
|
49
|
+
expect(jar.glob "gems/warbler*").to be_empty
|
50
|
+
end
|
42
51
|
end
|
43
52
|
|
44
53
|
its(:default_dir) { should eq(@output_dir) }
|
@@ -46,8 +55,12 @@ describe Furoshiki::Shoes::SwtJar do
|
|
46
55
|
end
|
47
56
|
|
48
57
|
describe "with an invalid configuration" do
|
49
|
-
let(:config) { Furoshiki::
|
50
|
-
subject { Furoshiki::
|
58
|
+
let(:config) { Furoshiki::Configuration.new }
|
59
|
+
subject { Furoshiki::Jar.new(config) }
|
60
|
+
|
61
|
+
before do
|
62
|
+
allow(config).to receive(:valid?) { false }
|
63
|
+
end
|
51
64
|
|
52
65
|
it "fails to initialize" do
|
53
66
|
expect { subject }.to raise_error(Furoshiki::ConfigurationError)
|
data/spec/spec_helper.rb
CHANGED
@@ -1,4 +1,55 @@
|
|
1
|
+
require 'rspec'
|
1
2
|
require 'rspec/its'
|
3
|
+
require 'pry'
|
4
|
+
require 'pathname'
|
5
|
+
|
6
|
+
# Packaging caches files in $HOME/.furoshiki/cache by default.
|
7
|
+
# For testing, we override $HOME using $FUROSHIKI_HOME
|
8
|
+
FUROSHIKI_SPEC_DIR = Pathname.new(__FILE__).dirname.expand_path.to_s
|
9
|
+
ENV['FUROSHIKI_HOME'] = FUROSHIKI_SPEC_DIR
|
10
|
+
|
11
|
+
# Guards for running or not running specs. Specs in the guarded block only
|
12
|
+
# run if the guard conditions are met.
|
13
|
+
#
|
14
|
+
module Guard
|
15
|
+
# Runs specs only if platform matches
|
16
|
+
#
|
17
|
+
# @example
|
18
|
+
# platform_is :windows do
|
19
|
+
# it "does something only on windows" do
|
20
|
+
# # specification
|
21
|
+
# end
|
22
|
+
# end
|
23
|
+
def platform_is(platform)
|
24
|
+
yield if self.send "platform_is_#{platform.to_s}"
|
25
|
+
end
|
26
|
+
|
27
|
+
# Runs specs only if platform does not match
|
28
|
+
#
|
29
|
+
# @example
|
30
|
+
# platform_is_not :windows do
|
31
|
+
# it "does something only on posix systems" do
|
32
|
+
# # specification
|
33
|
+
# end
|
34
|
+
# end
|
35
|
+
def platform_is_not(platform)
|
36
|
+
yield unless self.send "platform_is_#{platform.to_s}"
|
37
|
+
end
|
38
|
+
|
39
|
+
def platform_is_windows
|
40
|
+
return RbConfig::CONFIG['host_os'] =~ /windows|mswin/i
|
41
|
+
end
|
42
|
+
|
43
|
+
def platform_is_linux
|
44
|
+
return RbConfig::CONFIG['host_os'] =~ /linux/i
|
45
|
+
end
|
46
|
+
|
47
|
+
def platform_is_osx
|
48
|
+
return RbConfig::CONFIG['host_os'] =~ /darwin/i
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
include Guard
|
2
53
|
|
3
54
|
module PackageHelpers
|
4
55
|
# need these values from a context block, so let doesn't work
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require 'pathname'
|
3
|
+
require 'furoshiki/util'
|
4
|
+
|
5
|
+
shared_context 'generic furoshiki config' do
|
6
|
+
before :all do
|
7
|
+
@config_filename = Pathname.new(__FILE__).join('../../fixtures/config.yaml').cleanpath
|
8
|
+
yaml = YAML.load(@config_filename.open)
|
9
|
+
@custom_config = Object.new.extend(Furoshiki::Util).deep_symbolize_keys(yaml)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
shared_context 'generic furoshiki project' do
|
14
|
+
before :all do
|
15
|
+
@app_dir = Pathname.new(__FILE__).join('../../fixtures/test_project')
|
16
|
+
@output_dir = @app_dir.join('pkg')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
data/spec/support/shared_zip.rb
CHANGED
data/spec/util_spec.rb
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
|
3
|
+
describe "Utility functions" do
|
4
|
+
let(:utils) { Object.new.extend(Furoshiki::Util) }
|
5
|
+
let(:hash_with_string_keys) {
|
6
|
+
{
|
7
|
+
'one' => 1,
|
8
|
+
:two => 2,
|
9
|
+
'three' => {
|
10
|
+
'a' => 'apple',
|
11
|
+
:b => 'banana',
|
12
|
+
'c' => :cantaloupe
|
13
|
+
}
|
14
|
+
}
|
15
|
+
}
|
16
|
+
let(:hash_with_symbolized_keys) {
|
17
|
+
{
|
18
|
+
:one => 1,
|
19
|
+
:two => 2,
|
20
|
+
:three => {
|
21
|
+
:a => 'apple',
|
22
|
+
:b => 'banana',
|
23
|
+
:c => :cantaloupe
|
24
|
+
}
|
25
|
+
}
|
26
|
+
}
|
27
|
+
let(:hash_of_defaults) {
|
28
|
+
{
|
29
|
+
:one => 'uno',
|
30
|
+
:three => 'tres',
|
31
|
+
:four => 'cuatro'
|
32
|
+
}
|
33
|
+
}
|
34
|
+
let(:merged_hash_with_symbolized_keys) {
|
35
|
+
{
|
36
|
+
:one => 1,
|
37
|
+
:two => 2,
|
38
|
+
:three => {
|
39
|
+
:a => 'apple',
|
40
|
+
:b => 'banana',
|
41
|
+
:c => :cantaloupe
|
42
|
+
},
|
43
|
+
:four => 'cuatro'
|
44
|
+
}
|
45
|
+
}
|
46
|
+
|
47
|
+
it "symbolizes hash keys" do
|
48
|
+
symbolized = utils.deep_symbolize_keys(hash_with_string_keys)
|
49
|
+
expect(symbolized).to eq(hash_with_symbolized_keys)
|
50
|
+
end
|
51
|
+
|
52
|
+
it "merges with hash of defaults" do
|
53
|
+
merged = utils.merge_with_symbolized_keys(hash_of_defaults, hash_with_string_keys)
|
54
|
+
expect(merged).to eq(merged_hash_with_symbolized_keys)
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
metadata
CHANGED
@@ -1,113 +1,113 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: furoshiki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steve Klabnik
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: warbler
|
15
|
-
version_requirements: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ~>
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 1.4.4
|
20
14
|
requirement: !ruby/object:Gem::Requirement
|
21
15
|
requirements:
|
22
16
|
- - ~>
|
23
17
|
- !ruby/object:Gem::Version
|
24
18
|
version: 1.4.4
|
19
|
+
name: warbler
|
25
20
|
prerelease: false
|
26
21
|
type: :runtime
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: plist
|
29
22
|
version_requirements: !ruby/object:Gem::Requirement
|
30
23
|
requirements:
|
31
|
-
- -
|
24
|
+
- - ~>
|
32
25
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
26
|
+
version: 1.4.4
|
27
|
+
- !ruby/object:Gem::Dependency
|
34
28
|
requirement: !ruby/object:Gem::Requirement
|
35
29
|
requirements:
|
36
30
|
- - '>='
|
37
31
|
- !ruby/object:Gem::Version
|
38
32
|
version: '0'
|
33
|
+
name: plist
|
39
34
|
prerelease: false
|
40
35
|
type: :runtime
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rubyzip
|
43
36
|
version_requirements: !ruby/object:Gem::Requirement
|
44
37
|
requirements:
|
45
38
|
- - '>='
|
46
39
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
48
42
|
requirement: !ruby/object:Gem::Requirement
|
49
43
|
requirements:
|
50
44
|
- - '>='
|
51
45
|
- !ruby/object:Gem::Version
|
52
46
|
version: 1.0.0
|
47
|
+
name: rubyzip
|
53
48
|
prerelease: false
|
54
49
|
type: :runtime
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rake
|
57
50
|
version_requirements: !ruby/object:Gem::Requirement
|
58
51
|
requirements:
|
59
52
|
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
54
|
+
version: 1.0.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
62
56
|
requirement: !ruby/object:Gem::Requirement
|
63
57
|
requirements:
|
64
58
|
- - '>='
|
65
59
|
- !ruby/object:Gem::Version
|
66
60
|
version: '0'
|
61
|
+
name: rake
|
67
62
|
prerelease: false
|
68
63
|
type: :development
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rspec
|
71
64
|
version_requirements: !ruby/object:Gem::Requirement
|
72
65
|
requirements:
|
73
66
|
- - '>='
|
74
67
|
- !ruby/object:Gem::Version
|
75
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
76
70
|
requirement: !ruby/object:Gem::Requirement
|
77
71
|
requirements:
|
78
72
|
- - '>='
|
79
73
|
- !ruby/object:Gem::Version
|
80
|
-
version:
|
74
|
+
version: 3.0.0
|
75
|
+
name: rspec
|
81
76
|
prerelease: false
|
82
77
|
type: :development
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: rspec-its
|
85
78
|
version_requirements: !ruby/object:Gem::Requirement
|
86
79
|
requirements:
|
87
80
|
- - '>='
|
88
81
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
82
|
+
version: 3.0.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
90
84
|
requirement: !ruby/object:Gem::Requirement
|
91
85
|
requirements:
|
92
86
|
- - '>='
|
93
87
|
- !ruby/object:Gem::Version
|
94
88
|
version: '0'
|
89
|
+
name: rspec-its
|
95
90
|
prerelease: false
|
96
91
|
type: :development
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: pry
|
99
92
|
version_requirements: !ruby/object:Gem::Requirement
|
100
93
|
requirements:
|
101
94
|
- - '>='
|
102
95
|
- !ruby/object:Gem::Version
|
103
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
104
98
|
requirement: !ruby/object:Gem::Requirement
|
105
99
|
requirements:
|
106
100
|
- - '>='
|
107
101
|
- !ruby/object:Gem::Version
|
108
102
|
version: '0'
|
103
|
+
name: pry
|
109
104
|
prerelease: false
|
110
105
|
type: :development
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
111
|
description: Create .app, .exe, and $LINUX_PACKAGE versions of your application, with its own embedded Ruby.
|
112
112
|
email: steve@steveklabnik.com
|
113
113
|
executables: []
|
@@ -126,34 +126,39 @@ files:
|
|
126
126
|
- example/Rakefile
|
127
127
|
- furoshiki.gemspec
|
128
128
|
- lib/furoshiki.rb
|
129
|
+
- lib/furoshiki/configuration.rb
|
129
130
|
- lib/furoshiki/exceptions.rb
|
130
|
-
- lib/furoshiki/
|
131
|
-
- lib/furoshiki/
|
132
|
-
- lib/furoshiki/
|
133
|
-
- lib/furoshiki/
|
131
|
+
- lib/furoshiki/jar.rb
|
132
|
+
- lib/furoshiki/jar_app.rb
|
133
|
+
- lib/furoshiki/util.rb
|
134
|
+
- lib/furoshiki/validator.rb
|
134
135
|
- lib/furoshiki/version.rb
|
136
|
+
- lib/furoshiki/warbler_extensions.rb
|
135
137
|
- lib/furoshiki/zip.rb
|
136
138
|
- lib/furoshiki/zip/directory.rb
|
137
139
|
- lib/furoshiki/zip/directory_contents.rb
|
138
140
|
- lib/furoshiki/zip/recursive.rb
|
139
|
-
- lib/warbler/traits/
|
140
|
-
- spec/
|
141
|
-
- spec/
|
142
|
-
- spec/
|
143
|
-
- spec/
|
144
|
-
- spec/
|
145
|
-
- spec/
|
146
|
-
- spec/
|
147
|
-
- spec/
|
148
|
-
- spec/
|
149
|
-
- spec/
|
150
|
-
- spec/
|
151
|
-
- spec/
|
141
|
+
- lib/warbler/traits/furoshiki.rb
|
142
|
+
- spec/app_spec.rb
|
143
|
+
- spec/configuration_spec.rb
|
144
|
+
- spec/fixtures/config.yaml
|
145
|
+
- spec/fixtures/test_app/app.yaml
|
146
|
+
- spec/fixtures/test_app/bin/hello_world
|
147
|
+
- spec/fixtures/test_app/dir_to_ignore/file_to_ignore.txt
|
148
|
+
- spec/fixtures/test_app/img/boots.icns
|
149
|
+
- spec/fixtures/test_app/img/boots.ico
|
150
|
+
- spec/fixtures/test_app/img/boots_512x512x32.png
|
151
|
+
- spec/fixtures/test_app/sibling.rb
|
152
|
+
- spec/fixtures/test_project/bin/hello.rb
|
153
|
+
- spec/fixtures/test_project/dir_to_ignore/file_to_ignore.txt
|
154
|
+
- spec/jar_spec.rb
|
152
155
|
- spec/spec_helper.rb
|
156
|
+
- spec/support/shared_config.rb
|
153
157
|
- spec/support/shared_zip.rb
|
154
158
|
- spec/support/zip/a/a.rb
|
155
159
|
- spec/support/zip/a/b/b.png
|
156
160
|
- spec/support/zip/a/b/c/c.rb
|
161
|
+
- spec/util_spec.rb
|
157
162
|
- spec/zip/directory_contents_spec.rb
|
158
163
|
- spec/zip/directory_spec.rb
|
159
164
|
- vendor/appbundler-1.0.jar
|
@@ -176,8 +181,31 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
176
181
|
version: '0'
|
177
182
|
requirements: []
|
178
183
|
rubyforge_project:
|
179
|
-
rubygems_version: 2.
|
184
|
+
rubygems_version: 2.4.2
|
180
185
|
signing_key:
|
181
186
|
specification_version: 4
|
182
187
|
summary: Package and distribute applications with Ruby.
|
183
|
-
test_files:
|
188
|
+
test_files:
|
189
|
+
- spec/app_spec.rb
|
190
|
+
- spec/configuration_spec.rb
|
191
|
+
- spec/fixtures/config.yaml
|
192
|
+
- spec/fixtures/test_app/app.yaml
|
193
|
+
- spec/fixtures/test_app/bin/hello_world
|
194
|
+
- spec/fixtures/test_app/dir_to_ignore/file_to_ignore.txt
|
195
|
+
- spec/fixtures/test_app/img/boots.icns
|
196
|
+
- spec/fixtures/test_app/img/boots.ico
|
197
|
+
- spec/fixtures/test_app/img/boots_512x512x32.png
|
198
|
+
- spec/fixtures/test_app/sibling.rb
|
199
|
+
- spec/fixtures/test_project/bin/hello.rb
|
200
|
+
- spec/fixtures/test_project/dir_to_ignore/file_to_ignore.txt
|
201
|
+
- spec/jar_spec.rb
|
202
|
+
- spec/spec_helper.rb
|
203
|
+
- spec/support/shared_config.rb
|
204
|
+
- spec/support/shared_zip.rb
|
205
|
+
- spec/support/zip/a/a.rb
|
206
|
+
- spec/support/zip/a/b/b.png
|
207
|
+
- spec/support/zip/a/b/c/c.rb
|
208
|
+
- spec/util_spec.rb
|
209
|
+
- spec/zip/directory_contents_spec.rb
|
210
|
+
- spec/zip/directory_spec.rb
|
211
|
+
has_rdoc:
|