Class: Adyen::SkinBuilder::Server

Inherits:
Sinatra::Base
  • Object
show all
Defined in:
lib/adyen-skinbuilder/server.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.adyen_admin_cfgObject



29
30
31
# File 'lib/adyen-skinbuilder/server.rb', line 29

def self.adyen_admin_cfg
  nil
end

.skins_directoryObject

method will be overwritten by vegas if skin directory given



21
22
23
# File 'lib/adyen-skinbuilder/server.rb', line 21

def self.skins_directory
  File.expand_path(".")
end

.skins_directory=(dir) ⇒ Object



25
26
27
# File 'lib/adyen-skinbuilder/server.rb', line 25

def self.skins_directory=(dir)
  @@skins_directory = dir
end

Instance Method Details

#adyen_loginObject



57
58
59
60
61
# File 'lib/adyen-skinbuilder/server.rb', line 57

def 
  if (cfg = settings.adyen_admin_cfg) && !Adyen::Admin.authenticated?
    Adyen::Admin.(cfg[:accountname], cfg[:username], cfg[:password])
  end
end

#render_skin(skin, locals = {}) ⇒ Object



63
64
65
66
67
68
69
# File 'lib/adyen-skinbuilder/server.rb', line 63

def render_skin(skin, locals = {})
  erb(skin_erb_file(skin).to_sym, {
    :views => '/',
    :layout => File.join(settings.views, "layout.html").to_sym,
    :locals => locals,
  })
end

#skin_erb_file(skin, filename = "skin.html") ⇒ Object



51
52
53
54
55
# File 'lib/adyen-skinbuilder/server.rb', line 51

def skin_erb_file(skin, filename = "skin.html")
  if file = skin_file(skin, "#{filename}.erb")
    return file.gsub(".erb", "")
  end
end

#skin_file(skin, filename) ⇒ Object



43
44
45
46
47
48
49
# File 'lib/adyen-skinbuilder/server.rb', line 43

def skin_file(skin, filename)
  skin.get_file(filename).tap do |file|
    if !File.exists?(file)
      return File.join(settings.views, filename)
    end
  end
end

#skins_directoryObject



33
34
35
36
37
38
39
40
41
# File 'lib/adyen-skinbuilder/server.rb', line 33

def skins_directory
  @@skins_directory ||= begin
    # check if it's a skin, if so use dirname
    Adyen::Admin::Skin.new(:path => settings.skins_directory)
    File.dirname(settings.skins_directory)
  rescue ArgumentError
    settings.skins_directory
  end
end