adyen-skinbuilder 0.3.2 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- adyen-skinbuilder (0.3.1)
4
+ adyen-skinbuilder (0.4.1)
5
5
  adyen-admin
6
6
  sinatra
7
7
  sinatra-contrib
@@ -10,20 +10,24 @@ PATH
10
10
  GEM
11
11
  remote: http://rubygems.org/
12
12
  specs:
13
- adyen-admin (0.0.13)
13
+ adyen-admin (0.0.16)
14
14
  mechanize
15
15
  rubyzip
16
- backports (2.5.3)
16
+ backports (2.6.1)
17
17
  diff-lcs (1.1.3)
18
18
  domain_name (0.5.3)
19
19
  unf (~> 0.0.3)
20
20
  eventmachine (0.12.10)
21
21
  ffi (1.0.11)
22
- guard (1.0.3)
23
- ffi (>= 0.5.0)
22
+ guard (1.1.1)
23
+ listen (>= 0.4.2)
24
24
  thor (>= 0.14.6)
25
- guard-rspec (0.7.2)
26
- guard (>= 0.10.0)
25
+ guard-rspec (1.1.0)
26
+ guard (>= 1.1)
27
+ listen (0.4.5)
28
+ rb-fchange (~> 0.0.5)
29
+ rb-fsevent (~> 0.9.1)
30
+ rb-inotify (~> 0.8.8)
27
31
  mechanize (2.5.1)
28
32
  domain_name (~> 0.5, >= 0.5.1)
29
33
  mime-types (~> 1.17, >= 1.17.2)
@@ -33,9 +37,9 @@ GEM
33
37
  ntlm-http (~> 0.1, >= 0.1.1)
34
38
  webrobots (~> 0.0, >= 0.0.9)
35
39
  mime-types (1.18)
36
- net-http-digest_auth (1.2)
37
- net-http-persistent (2.6)
38
- nokogiri (1.5.2)
40
+ net-http-digest_auth (1.2.1)
41
+ net-http-persistent (2.7)
42
+ nokogiri (1.5.4)
39
43
  ntlm-http (0.1.1)
40
44
  rack (1.4.1)
41
45
  rack-protection (1.2.0)
@@ -43,15 +47,20 @@ GEM
43
47
  rack-test (0.6.1)
44
48
  rack (>= 1.0)
45
49
  rake (0.9.2.2)
50
+ rb-fchange (0.0.5)
51
+ ffi
52
+ rb-fsevent (0.9.1)
53
+ rb-inotify (0.8.8)
54
+ ffi (>= 0.5.0)
46
55
  rspec (2.10.0)
47
56
  rspec-core (~> 2.10.0)
48
57
  rspec-expectations (~> 2.10.0)
49
58
  rspec-mocks (~> 2.10.0)
50
- rspec-core (2.10.0)
59
+ rspec-core (2.10.1)
51
60
  rspec-expectations (2.10.0)
52
61
  diff-lcs (~> 1.1.3)
53
62
  rspec-mocks (2.10.1)
54
- rubyzip (0.9.8)
63
+ rubyzip (0.9.9)
55
64
  sinatra (1.3.2)
56
65
  rack (~> 1.3, >= 1.3.6)
57
66
  rack-protection (~> 1.2)
@@ -63,11 +72,11 @@ GEM
63
72
  rack-test
64
73
  sinatra (~> 1.3.0)
65
74
  tilt (~> 1.3)
66
- thor (0.15.2)
75
+ thor (0.15.3)
67
76
  tilt (1.3.3)
68
77
  unf (0.0.5)
69
78
  unf_ext
70
- unf_ext (0.0.4)
79
+ unf_ext (0.0.5)
71
80
  vegas (0.1.11)
72
81
  rack (>= 1.0.0)
73
82
  webrobots (0.0.13)
@@ -23,8 +23,20 @@ module Adyen
23
23
 
24
24
  # render an erb partial inline
25
25
  def render_partial(file, locals = {})
26
- views = locals.delete(:views) || @skin.path
27
- erb "_#{file}.html".to_sym, :layout => false, :views => views, :locals => locals
26
+ file = partialize(file)
27
+ file = if views = locals.delete(:views)
28
+ File.join(views, file)
29
+ else
30
+ @skin.get_file(file)
31
+ end
32
+ erb File.basename(file).gsub(".erb", "").to_sym, :layout => false, :views => File.dirname(file), :locals => locals
33
+ end
34
+
35
+ private
36
+ def partialize(path)
37
+ path.to_s.split('/').tap do |path|
38
+ path[-1] = "_#{path.last}.html.erb"
39
+ end.join("/")
28
40
  end
29
41
  end
30
42
  end
@@ -33,14 +33,20 @@ module Adyen
33
33
  end
34
34
  end
35
35
 
36
- def skin_file(skin, filename = "skin.html")
37
- File.join(skin.path, filename).tap do |file|
38
- if !File.exists?("#{file}.erb")
36
+ def skin_file(skin, filename)
37
+ skin.get_file(filename).tap do |file|
38
+ if !File.exists?(file)
39
39
  return File.join(settings.views, filename)
40
40
  end
41
41
  end
42
42
  end
43
43
 
44
+ def skin_erb_file(skin, filename = "skin.html")
45
+ if file = skin_file(skin, "#{filename}.erb")
46
+ return file.gsub(".erb", "")
47
+ end
48
+ end
49
+
44
50
  def adyen_login
45
51
  if (cfg = settings.adyen_admin_cfg) && !Adyen::Admin.authenticated?
46
52
  Adyen::Admin.login(cfg[:accountname], cfg[:username], cfg[:password])
@@ -48,7 +54,7 @@ module Adyen
48
54
  end
49
55
 
50
56
  def render_skin(skin)
51
- erb(skin_file(skin).to_sym, {
57
+ erb(skin_erb_file(skin).to_sym, {
52
58
  :views => '/',
53
59
  :layout => File.join(settings.views, "layout.html").to_sym
54
60
  })
@@ -57,7 +63,7 @@ module Adyen
57
63
  helpers Helper::Render, Helper::Adyen
58
64
 
59
65
  get '/sf/:skin_code/*' do |skin_code, path|
60
- if (skin = Adyen::Admin::Skin.find(skin_code)) && (file = File.join(skin.path, path)) && File.exists?(file)
66
+ if (skin = Adyen::Admin::Skin.find(skin_code)) && (file = skin.get_file(path)) && File.exists?(file)
61
67
  send_file file
62
68
  elsif (file = File.join(skins_directory, "base", path)) && File.exists?(file)
63
69
  send_file file
@@ -89,7 +95,7 @@ module Adyen
89
95
  if @skin = Adyen::Admin::Skin.find(skin_code)
90
96
  @skin.download.tap do |zip_file|
91
97
  @skin.decompile(zip_file)
92
- `cp #{skin_file(@skin)}.erb #{@skin.path}`
98
+ `cp #{skin_erb_file(@skin)}.erb #{@skin.path}`
93
99
  `rm -f #{zip_file}`
94
100
  end
95
101
  end
@@ -98,10 +98,10 @@
98
98
  <% if Adyen::Admin.authenticated? && !skin.frozen? %>
99
99
  <% if skin.path %>
100
100
  <a href="/<%= skin.code %>/upload">upload</a>
101
+ <a href="/<%= skin.code %>/update">update</a>
101
102
  <% else %>
102
103
  <a href="/<%= skin.code %>/download">download</a>
103
104
  <% end %>
104
- <a href="/<%= skin.code %>/update">update</a>
105
105
  <% else %>
106
106
  <a href="/<%= skin.code %>/compile">compile</a>
107
107
  <% end %>
@@ -1,5 +1,5 @@
1
1
  module Adyen
2
2
  module Skinbuilder
3
- VERSION = '0.3.2'
3
+ VERSION = '0.4.1'
4
4
  end
5
5
  end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe Adyen::SkinBuilder::Helper::Render do
4
+
5
+ before do
6
+ extend Adyen::SkinBuilder::Helper::Render
7
+ end
8
+
9
+ describe "#partialize" do
10
+ it { partialize("file").should == "_file.html.erb" }
11
+ it { partialize("path1/file").should == "path1/_file.html.erb" }
12
+ it { partialize("/path1/file").should == "/path1/_file.html.erb" }
13
+ it { partialize("/path1/path2/file").should == "/path1/path2/_file.html.erb" }
14
+ end
15
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adyen-skinbuilder
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 13
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 3
9
- - 2
10
- version: 0.3.2
8
+ - 4
9
+ - 1
10
+ version: 0.4.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Priit Haamer
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2012-06-01 00:00:00 +02:00
19
+ date: 2012-06-20 00:00:00 +03:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -212,6 +212,7 @@ files:
212
212
  - spec/fixtures/skins/base/res/resources.properties
213
213
  - spec/fixtures/skins/test/skin.html.erb
214
214
  - spec/fixtures/skins/test/skin.yml
215
+ - spec/lib/adyen-skinbuilder/helper/render_spec.rb
215
216
  - spec/lib/adyen-skinbuilder/server_spec.rb
216
217
  - spec/spec_helper.rb
217
218
  has_rdoc: true
@@ -272,5 +273,6 @@ test_files:
272
273
  - spec/fixtures/skins/base/res/resources.properties
273
274
  - spec/fixtures/skins/test/skin.html.erb
274
275
  - spec/fixtures/skins/test/skin.yml
276
+ - spec/lib/adyen-skinbuilder/helper/render_spec.rb
275
277
  - spec/lib/adyen-skinbuilder/server_spec.rb
276
278
  - spec/spec_helper.rb