adyen-skinbuilder 0.2.6 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|