adyen-skinbuilder 0.2.6 → 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.
- data/.gitignore +3 -4
- data/.travis.yml +5 -0
- data/CHANGELOG.md +22 -0
- data/Gemfile.lock +51 -7
- data/LICENSE +3 -3
- data/README.markdown +83 -24
- data/Rakefile +6 -0
- data/adyen-skinbuilder.gemspec +12 -11
- data/bin/adyen-skinbuilder +28 -3
- data/lib/adyen-skinbuilder.rb +1 -4
- data/lib/adyen-skinbuilder/helper/adyen.rb +29 -0
- data/lib/adyen-skinbuilder/helper/render.rb +32 -0
- data/lib/adyen-skinbuilder/server.rb +112 -58
- data/lib/adyen-skinbuilder/server/views/_adyen_form.html.erb +37 -0
- data/{adyen/main_content.html → lib/adyen-skinbuilder/server/views/_adyen_payment_fields.html.erb} +534 -530
- data/lib/adyen-skinbuilder/server/views/css/reset.css +306 -0
- data/lib/adyen-skinbuilder/server/views/img/icons/error.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/TESTBANK1.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/TESTBANK10.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/TESTBANK2.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/TESTBANK3.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/TESTBANK4.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/TESTBANK5.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/TESTBANK6.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/TESTBANK7.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/TESTBANK8.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/TESTBANK9.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/TESTBANKCANCELLED.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/TESTBANKPENDING.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/TESTBANKREFUSED.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/amex_small.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/card.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/ideal.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/mc_small.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/unknown_small.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/vias_small.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/visa.png +0 -0
- data/lib/adyen-skinbuilder/server/views/img/pm/visa_small.png +0 -0
- data/lib/adyen-skinbuilder/server/views/index.html.erb +118 -0
- data/lib/adyen-skinbuilder/server/views/js/default.js +385 -0
- data/lib/adyen-skinbuilder/server/views/layout.html.erb +33 -0
- data/lib/adyen-skinbuilder/server/views/skeleton.html +56 -0
- data/lib/adyen-skinbuilder/server/views/skin.html.erb +18 -0
- data/lib/adyen-skinbuilder/version.rb +1 -1
- data/lib/hash.rb +15 -0
- data/spec/fixtures/example.zip +0 -0
- data/spec/fixtures/skins/DV3tf95f/inc/order_data.txt +1 -0
- data/spec/fixtures/skins/JH0815/css/screen.css +262 -0
- data/spec/fixtures/skins/JH0815/skin.html.erb +13 -0
- data/spec/lib/adyen-skinbuilder/server_spec.rb +166 -38
- data/spec/spec_helper.rb +2 -2
- metadata +109 -31
- data/adyen/skeleton.html +0 -70
- data/lib/adyen-skinbuilder/launcher.rb +0 -40
- data/lib/adyen-skinbuilder/railtie.rb +0 -9
- data/lib/adyen-skinbuilder/tasks/skin.rake +0 -65
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,71 +1,68 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adyen-skinbuilder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 0.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Priit Haamer
|
14
|
+
- Tobias Bielohlawek
|
14
15
|
autorequire:
|
15
16
|
bindir: bin
|
16
17
|
cert_chain: []
|
17
18
|
|
18
|
-
date: 2012-
|
19
|
+
date: 2012-04-13 00:00:00 +03:00
|
19
20
|
default_executable:
|
20
21
|
dependencies:
|
21
22
|
- !ruby/object:Gem::Dependency
|
22
|
-
name:
|
23
|
+
name: sinatra
|
23
24
|
prerelease: false
|
24
25
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
26
|
none: false
|
26
27
|
requirements:
|
27
28
|
- - ">="
|
28
29
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
30
|
+
hash: 3
|
30
31
|
segments:
|
31
|
-
-
|
32
|
-
|
33
|
-
version: "1.3"
|
32
|
+
- 0
|
33
|
+
version: "0"
|
34
34
|
type: :runtime
|
35
35
|
version_requirements: *id001
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
37
|
+
name: sinatra-contrib
|
38
38
|
prerelease: false
|
39
39
|
requirement: &id002 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ">="
|
43
43
|
- !ruby/object:Gem::Version
|
44
|
-
hash:
|
44
|
+
hash: 3
|
45
45
|
segments:
|
46
|
-
- 1
|
47
|
-
- 6
|
48
46
|
- 0
|
49
|
-
version:
|
47
|
+
version: "0"
|
50
48
|
type: :runtime
|
51
49
|
version_requirements: *id002
|
52
50
|
- !ruby/object:Gem::Dependency
|
53
|
-
name:
|
51
|
+
name: vegas
|
54
52
|
prerelease: false
|
55
53
|
requirement: &id003 !ruby/object:Gem::Requirement
|
56
54
|
none: false
|
57
55
|
requirements:
|
58
56
|
- - ">="
|
59
57
|
- !ruby/object:Gem::Version
|
60
|
-
hash:
|
58
|
+
hash: 3
|
61
59
|
segments:
|
62
|
-
-
|
63
|
-
|
64
|
-
|
65
|
-
type: :development
|
60
|
+
- 0
|
61
|
+
version: "0"
|
62
|
+
type: :runtime
|
66
63
|
version_requirements: *id003
|
67
64
|
- !ruby/object:Gem::Dependency
|
68
|
-
name:
|
65
|
+
name: adyen-admin
|
69
66
|
prerelease: false
|
70
67
|
requirement: &id004 !ruby/object:Gem::Requirement
|
71
68
|
none: false
|
@@ -76,10 +73,10 @@ dependencies:
|
|
76
73
|
segments:
|
77
74
|
- 0
|
78
75
|
version: "0"
|
79
|
-
type: :
|
76
|
+
type: :runtime
|
80
77
|
version_requirements: *id004
|
81
78
|
- !ruby/object:Gem::Dependency
|
82
|
-
name:
|
79
|
+
name: rake
|
83
80
|
prerelease: false
|
84
81
|
requirement: &id005 !ruby/object:Gem::Requirement
|
85
82
|
none: false
|
@@ -92,9 +89,52 @@ dependencies:
|
|
92
89
|
version: "0"
|
93
90
|
type: :development
|
94
91
|
version_requirements: *id005
|
95
|
-
|
92
|
+
- !ruby/object:Gem::Dependency
|
93
|
+
name: rspec
|
94
|
+
prerelease: false
|
95
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
96
|
+
none: false
|
97
|
+
requirements:
|
98
|
+
- - ">="
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
hash: 3
|
101
|
+
segments:
|
102
|
+
- 0
|
103
|
+
version: "0"
|
104
|
+
type: :development
|
105
|
+
version_requirements: *id006
|
106
|
+
- !ruby/object:Gem::Dependency
|
107
|
+
name: guard-rspec
|
108
|
+
prerelease: false
|
109
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
110
|
+
none: false
|
111
|
+
requirements:
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
hash: 3
|
115
|
+
segments:
|
116
|
+
- 0
|
117
|
+
version: "0"
|
118
|
+
type: :development
|
119
|
+
version_requirements: *id007
|
120
|
+
- !ruby/object:Gem::Dependency
|
121
|
+
name: rack-test
|
122
|
+
prerelease: false
|
123
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
124
|
+
none: false
|
125
|
+
requirements:
|
126
|
+
- - ">="
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
hash: 3
|
129
|
+
segments:
|
130
|
+
- 0
|
131
|
+
version: "0"
|
132
|
+
type: :development
|
133
|
+
version_requirements: *id008
|
134
|
+
description: Provides helpful command line tools to run sinatra server and bundle adyen skin files
|
96
135
|
email:
|
97
136
|
- priit@edicy.com
|
137
|
+
- tobi@soundcloud.com
|
98
138
|
executables:
|
99
139
|
- adyen-skinbuilder
|
100
140
|
extensions: []
|
@@ -103,6 +143,8 @@ extra_rdoc_files: []
|
|
103
143
|
|
104
144
|
files:
|
105
145
|
- .gitignore
|
146
|
+
- .travis.yml
|
147
|
+
- CHANGELOG.md
|
106
148
|
- Gemfile
|
107
149
|
- Gemfile.lock
|
108
150
|
- Guardfile
|
@@ -110,16 +152,48 @@ files:
|
|
110
152
|
- README.markdown
|
111
153
|
- Rakefile
|
112
154
|
- adyen-skinbuilder.gemspec
|
113
|
-
- adyen/main_content.html
|
114
|
-
- adyen/skeleton.html
|
115
155
|
- bin/adyen-skinbuilder
|
116
156
|
- lib/adyen-skinbuilder.rb
|
117
|
-
- lib/adyen-skinbuilder/
|
118
|
-
- lib/adyen-skinbuilder/
|
157
|
+
- lib/adyen-skinbuilder/helper/adyen.rb
|
158
|
+
- lib/adyen-skinbuilder/helper/render.rb
|
119
159
|
- lib/adyen-skinbuilder/server.rb
|
120
|
-
- lib/adyen-skinbuilder/
|
160
|
+
- lib/adyen-skinbuilder/server/views/_adyen_form.html.erb
|
161
|
+
- lib/adyen-skinbuilder/server/views/_adyen_payment_fields.html.erb
|
162
|
+
- lib/adyen-skinbuilder/server/views/css/reset.css
|
163
|
+
- lib/adyen-skinbuilder/server/views/img/icons/error.png
|
164
|
+
- lib/adyen-skinbuilder/server/views/img/pm/TESTBANK1.png
|
165
|
+
- lib/adyen-skinbuilder/server/views/img/pm/TESTBANK10.png
|
166
|
+
- lib/adyen-skinbuilder/server/views/img/pm/TESTBANK2.png
|
167
|
+
- lib/adyen-skinbuilder/server/views/img/pm/TESTBANK3.png
|
168
|
+
- lib/adyen-skinbuilder/server/views/img/pm/TESTBANK4.png
|
169
|
+
- lib/adyen-skinbuilder/server/views/img/pm/TESTBANK5.png
|
170
|
+
- lib/adyen-skinbuilder/server/views/img/pm/TESTBANK6.png
|
171
|
+
- lib/adyen-skinbuilder/server/views/img/pm/TESTBANK7.png
|
172
|
+
- lib/adyen-skinbuilder/server/views/img/pm/TESTBANK8.png
|
173
|
+
- lib/adyen-skinbuilder/server/views/img/pm/TESTBANK9.png
|
174
|
+
- lib/adyen-skinbuilder/server/views/img/pm/TESTBANKCANCELLED.png
|
175
|
+
- lib/adyen-skinbuilder/server/views/img/pm/TESTBANKPENDING.png
|
176
|
+
- lib/adyen-skinbuilder/server/views/img/pm/TESTBANKREFUSED.png
|
177
|
+
- lib/adyen-skinbuilder/server/views/img/pm/amex_small.png
|
178
|
+
- lib/adyen-skinbuilder/server/views/img/pm/card.png
|
179
|
+
- lib/adyen-skinbuilder/server/views/img/pm/ideal.png
|
180
|
+
- lib/adyen-skinbuilder/server/views/img/pm/mc_small.png
|
181
|
+
- lib/adyen-skinbuilder/server/views/img/pm/unknown_small.png
|
182
|
+
- lib/adyen-skinbuilder/server/views/img/pm/vias_small.png
|
183
|
+
- lib/adyen-skinbuilder/server/views/img/pm/visa.png
|
184
|
+
- lib/adyen-skinbuilder/server/views/img/pm/visa_small.png
|
185
|
+
- lib/adyen-skinbuilder/server/views/index.html.erb
|
186
|
+
- lib/adyen-skinbuilder/server/views/js/default.js
|
187
|
+
- lib/adyen-skinbuilder/server/views/layout.html.erb
|
188
|
+
- lib/adyen-skinbuilder/server/views/skeleton.html
|
189
|
+
- lib/adyen-skinbuilder/server/views/skin.html.erb
|
121
190
|
- lib/adyen-skinbuilder/version.rb
|
191
|
+
- lib/hash.rb
|
192
|
+
- spec/fixtures/example.zip
|
122
193
|
- spec/fixtures/skins/DV3tf95f/css/screen.css
|
194
|
+
- spec/fixtures/skins/DV3tf95f/inc/order_data.txt
|
195
|
+
- spec/fixtures/skins/JH0815/css/screen.css
|
196
|
+
- spec/fixtures/skins/JH0815/skin.html.erb
|
123
197
|
- spec/fixtures/skins/base/css/print.css
|
124
198
|
- spec/fixtures/skins/base/css/screen_ie6.css
|
125
199
|
- spec/fixtures/skins/base/img/Airliner.airjamaica.a340.arp.750pix.jpg
|
@@ -171,9 +245,13 @@ rubyforge_project:
|
|
171
245
|
rubygems_version: 1.4.2
|
172
246
|
signing_key:
|
173
247
|
specification_version: 3
|
174
|
-
summary: Simple
|
248
|
+
summary: Simple Sinatra server to make coding Adyen skins easier
|
175
249
|
test_files:
|
250
|
+
- spec/fixtures/example.zip
|
176
251
|
- spec/fixtures/skins/DV3tf95f/css/screen.css
|
252
|
+
- spec/fixtures/skins/DV3tf95f/inc/order_data.txt
|
253
|
+
- spec/fixtures/skins/JH0815/css/screen.css
|
254
|
+
- spec/fixtures/skins/JH0815/skin.html.erb
|
177
255
|
- spec/fixtures/skins/base/css/print.css
|
178
256
|
- spec/fixtures/skins/base/css/screen_ie6.css
|
179
257
|
- spec/fixtures/skins/base/img/Airliner.airjamaica.a340.arp.750pix.jpg
|
data/adyen/skeleton.html
DELETED
@@ -1,70 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
2
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
-
<head>
|
5
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
-
<title>Please enter your payment details</title>
|
7
|
-
|
8
|
-
<link rel="stylesheet" media="screen" type="text/css" href="https://test.adyen.com/hpp/css/reset.css" />
|
9
|
-
<link rel="stylesheet" media="screen" type="text/css" href="/sf/$skinCode/css/screen.css" />
|
10
|
-
<link rel="stylesheet" media="print" type="text/css" href="/sf/$skinCode/css/print.css" />
|
11
|
-
<script type="text/javascript" src="https://test.adyen.com/hpp/js/default.js"></script>
|
12
|
-
|
13
|
-
<script type="text/javascript" src="/sf/$skinCode/js/custom.js"></script>
|
14
|
-
<!--[if lt IE 7]>
|
15
|
-
<link rel="stylesheet" type="text/css" href="/sf/$skinCode/css/screen_ie6.css" />
|
16
|
-
<![endif]-->
|
17
|
-
</head>
|
18
|
-
<body>
|
19
|
-
<script type="text/javascript">
|
20
|
-
//<![CDATA[
|
21
|
-
var clientIPAddress = "127.0.0.1";
|
22
|
-
|
23
|
-
var config = new Array();
|
24
|
-
config["pmmanimation"] = 2;
|
25
|
-
|
26
|
-
//]]>
|
27
|
-
</script>
|
28
|
-
|
29
|
-
<!-- ### inc/cheader_[locale].txt or inc/cheader.txt (fallback) ### -->
|
30
|
-
<form id="pageform" action="" method="post" onsubmit="return formValidate(this);">
|
31
|
-
<script type="text/javascript">
|
32
|
-
//<![CDATA[
|
33
|
-
if (notNull(document.getElementById('pageform'))) {
|
34
|
-
document.getElementById('pageform').setAttribute("autocomplete","off");
|
35
|
-
}
|
36
|
-
//]]>
|
37
|
-
</script>
|
38
|
-
<div id="content">
|
39
|
-
|
40
|
-
<div id="pmcontent">
|
41
|
-
<!-- ### inc/pmheader_[locale].txt or inc/pmheader.txt (fallback) ### -->
|
42
|
-
<div class="padDiv1"></div>
|
43
|
-
|
44
|
-
<!-- ==================== -->
|
45
|
-
<!-- Adyen Main Content -->
|
46
|
-
<!-- ==================== -->
|
47
|
-
|
48
|
-
<div class="padDiv2"></div>
|
49
|
-
<!-- ### inc/pmfooter_[locale].txt or inc/pmfooter.txt (fallback) ### -->
|
50
|
-
<!-- ### inc/customfields_[locale].txt or inc/customfields.txt (fallback) ### -->
|
51
|
-
|
52
|
-
</div>
|
53
|
-
</div>
|
54
|
-
<div id="foot">
|
55
|
-
<div id="footc">
|
56
|
-
<div id="nextstep">
|
57
|
-
<div id="nextstepc">Next Step Text</div>
|
58
|
-
</div>
|
59
|
-
<div id="footerb1div">
|
60
|
-
<input onclick="" type="submit" id="mainSubmit" value="continue" class="footerB nextB" />
|
61
|
-
</div>
|
62
|
-
<div id="footerb2div">
|
63
|
-
<input onclick="" type="button" id="mainBack" value="previous" class="footerB backB" />
|
64
|
-
</div>
|
65
|
-
</div>
|
66
|
-
</div>
|
67
|
-
</form>
|
68
|
-
<!-- ### inc/cfooter_[locale].txt or inc/cfooter.txt (fallback) ### -->
|
69
|
-
</body>
|
70
|
-
</html>
|
@@ -1,40 +0,0 @@
|
|
1
|
-
require 'slop'
|
2
|
-
|
3
|
-
module Adyen
|
4
|
-
module SkinBuilder
|
5
|
-
class Launcher
|
6
|
-
|
7
|
-
def self.ignition(*argv)
|
8
|
-
opts = Slop.parse do
|
9
|
-
banner "\nUsage: adyen-skinbuilder [options] path\n"
|
10
|
-
|
11
|
-
on :P, :port, 'Port, defaults to 8888', true, :default => 8888
|
12
|
-
on :l, :log, 'Show server log'
|
13
|
-
on :V, :version, 'Print the version' do
|
14
|
-
puts "Adyen Skinbuilder version #{Adyen::Skinbuilder::VERSION}"
|
15
|
-
exit
|
16
|
-
end
|
17
|
-
on :h, :help, 'Print this help message' do
|
18
|
-
puts help
|
19
|
-
exit
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
# If skins directory is not provided or does not exist
|
24
|
-
if opts.parse.empty? or not File.exists?(File.expand_path(opts.parse.last))
|
25
|
-
puts opts.help
|
26
|
-
exit
|
27
|
-
end
|
28
|
-
|
29
|
-
puts "Using skin directory #{File.expand_path(opts.parse.last)}"
|
30
|
-
puts "Running server at http://localhost:#{opts[:port]}/"
|
31
|
-
|
32
|
-
Adyen::SkinBuilder::Server.run({
|
33
|
-
:port => opts[:port],
|
34
|
-
:log => opts[:log],
|
35
|
-
:skins_directory => File.expand_path(opts.parse.last)
|
36
|
-
})
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
@@ -1,65 +0,0 @@
|
|
1
|
-
require 'adyen-skinbuilder'
|
2
|
-
require 'zip/zip'
|
3
|
-
|
4
|
-
namespace :adyen do
|
5
|
-
namespace :skin do
|
6
|
-
|
7
|
-
desc 'Run server to test Adyen skins. Run as rake adyen:skin:server[/path/to/skin/directory]'
|
8
|
-
task :server, :skin_directory do |t, args|
|
9
|
-
port, skin_directory = 8888, File.expand_path(args[:skin_directory])
|
10
|
-
|
11
|
-
puts "Using skin directory #{skin_directory}"
|
12
|
-
puts "Running server at http://localhost:#{port}/"
|
13
|
-
|
14
|
-
Adyen::SkinBuilder::Server.run({:port => port, :log => false, :skin_directory => skin_directory})
|
15
|
-
end
|
16
|
-
|
17
|
-
desc 'Build adyen skin zip file for upload. Provide SKIN and TARGET environment variables along the way.'
|
18
|
-
task :build, :skin_directory, :target_directory do |t, args|
|
19
|
-
skin_directory = File.expand_path(args[:skin_directory] || ENV['SKIN'])
|
20
|
-
base_directory = File.expand_path(File.join(skin_directory, '..', 'base'))
|
21
|
-
# Allow the folder of a skin to have a meaningful name in this format:
|
22
|
-
# some-nice-name-SKINCODE (use a dash as last charachter before SKINCODE)
|
23
|
-
# Give the zip the full name, but give the top level directory in the zip
|
24
|
-
# archive only the SKINCODE, otherwise adyen will not accept it
|
25
|
-
skin_name = File.basename(skin_directory)
|
26
|
-
skin_code = skin_name[/[a-zA-Z0-9]+$/] || skin_name
|
27
|
-
target_directory = File.expand_path((args[:target_directory] || ENV['TARGET']))
|
28
|
-
|
29
|
-
# Whether we do or do not have/use a base directory
|
30
|
-
use_base = File.directory?(base_directory)
|
31
|
-
puts use_base ? "Using base directory" : "Not using a base directory"
|
32
|
-
|
33
|
-
if File.directory?(skin_directory) and File.directory?(target_directory)
|
34
|
-
Zip::ZipOutputStream::open(File.join(target_directory, "#{skin_name}.zip")) do |io|
|
35
|
-
%w(css img inc js res).each do |d|
|
36
|
-
# First see what files the skin itself provides:
|
37
|
-
if File.directory?(File.join(skin_directory, d))
|
38
|
-
Dir.new(File.join(skin_directory, d)).each do |file|
|
39
|
-
if File.file?(File.join(skin_directory, d, file))
|
40
|
-
io.put_next_entry("#{skin_code}/#{d}/#{file}")
|
41
|
-
io.write File.read(File.join(skin_directory, d, file))
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
# Then, let's see whether the base directory has more than what we got already:
|
46
|
-
if use_base && File.directory?(File.join(base_directory, d))
|
47
|
-
Dir.new(File.join(base_directory, d)).each do |file|
|
48
|
-
# Only use base file if skin does not provide it itself:
|
49
|
-
if !File.file?(File.join(skin_directory, d, file)) && File.file?(File.join(base_directory, d, file))
|
50
|
-
io.put_next_entry("#{skin_code}/#{d}/#{file}")
|
51
|
-
if File.file?(File.join(base_directory, d, file))
|
52
|
-
io.write File.read(File.join(base_directory, d, file))
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
puts "Skin zip package was created to #{File.join(target_directory, "#{skin_name}.zip")}"
|
60
|
-
else
|
61
|
-
puts "Usage: rake adyen:buildskin[<skin_directory>,<target_directory>] or rake:adyen:buildskin SKIN=/from/dir TARGET=/to/dir"
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|