Class: SBSM::LookandfeelWrapper

Inherits:
Lookandfeel show all
Defined in:
lib/sbsm/lookandfeelwrapper.rb

Constant Summary

Constants inherited from Lookandfeel

SBSM::Lookandfeel::DICTIONARIES, SBSM::Lookandfeel::DISABLED, SBSM::Lookandfeel::ENABLED, SBSM::Lookandfeel::HTML_ATTRIBUTES, SBSM::Lookandfeel::RESOURCES, SBSM::Lookandfeel::RESOURCE_BASE, SBSM::Lookandfeel::TXT_RESOURCES

Instance Attribute Summary

Attributes inherited from Lookandfeel

#flavor, #language, #session

Instance Method Summary collapse

Methods inherited from Lookandfeel

#_event_url, #_lookup, #base_url, #direct_event, #event_url, #format_date, #format_price, #format_time, #language_url, #resource_external, #resource_localized, txt_file

Constructor Details

#initialize(component) ⇒ LookandfeelWrapper

Returns a new instance of LookandfeelWrapper.



31
32
33
34
# File 'lib/sbsm/lookandfeelwrapper.rb', line 31

def initialize(component)
  @component = component
  super(@component.session)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(symbol, *args, &block) ⇒ Object



35
36
37
# File 'lib/sbsm/lookandfeelwrapper.rb', line 35

def method_missing(symbol, *args, &block)
  @component.send(symbol, *args, &block)
end

Instance Method Details

#attributes(key) ⇒ Object



38
39
40
41
42
# File 'lib/sbsm/lookandfeelwrapper.rb', line 38

def attributes(key)
  self::class::HTML_ATTRIBUTES.fetch(key.to_sym) {
    @component.attributes(key)
  }
end

#disabled?(event) ⇒ Boolean

Returns:

  • (Boolean)


43
44
45
46
# File 'lib/sbsm/lookandfeelwrapper.rb', line 43

def disabled?(event)
  self::class::DISABLED.include?(event) \
    || @component.disabled?(event)
end

#enabled?(event, default = false) ⇒ Boolean

Returns:

  • (Boolean)


47
48
49
50
# File 'lib/sbsm/lookandfeelwrapper.rb', line 47

def enabled?(event, default=false)
  self::class::ENABLED.include?(event) \
    || @component.enabled?(event, default)
end

#languagesObject



51
52
53
54
55
56
57
58
59
# File 'lib/sbsm/lookandfeelwrapper.rb', line 51

def languages
  unless(@languages)
    super
    if(@languages.empty?) 
      @languages = @component.languages
    end
  end
  @languages
end

#lookup(key, *args, &block) ⇒ Object



60
61
62
# File 'lib/sbsm/lookandfeelwrapper.rb', line 60

def lookup(key, *args, &block)
  _lookup(key, *args) || @component.lookup(key, *args, &block)
end


63
64
65
66
67
68
69
70
71
72
73
# File 'lib/sbsm/lookandfeelwrapper.rb', line 63

def navigation(filter=true)
  nav = @component.navigation(false)
  if(filter)
    nav.select { |item| 
      key = (item.is_a? Symbol) ? item : item.direct_event
      enabled?(key)
    }
  else
    nav
  end
end

#resource(rname, rstr = nil) ⇒ Object



74
75
76
77
78
79
80
# File 'lib/sbsm/lookandfeelwrapper.rb', line 74

def resource(rname, rstr=nil)
  if(self::class::RESOURCES.include?(rname))
    super
  else
    @component.resource(rname, rstr)
  end
end

#resource_global(rname, rstr = nil) ⇒ Object



81
82
83
84
85
86
87
# File 'lib/sbsm/lookandfeelwrapper.rb', line 81

def resource_global(rname, rstr=nil)
  if(self::class::RESOURCES.include?(rname))
    super
  else
    @component.resource_global(rname, rstr)
  end
end

#zone_navigation(filter = true) ⇒ Object



88
89
90
91
92
93
94
95
96
97
98
# File 'lib/sbsm/lookandfeelwrapper.rb', line 88

def zone_navigation(filter=true)
  nav = @component.zone_navigation(false)
  if(filter)
    nav.select { |item| 
      key = (item.is_a? Symbol) ? item : item.direct_event
      enabled?(key)
    }
  else
    nav
  end
end

#zones(filter = true) ⇒ Object



99
100
101
102
103
104
105
106
107
108
109
# File 'lib/sbsm/lookandfeelwrapper.rb', line 99

def zones(filter=true)
  nav = @component.zones(false)
  if(filter)
    nav.select { |item| 
      key = (item.is_a? Symbol) ? item : item.direct_event
      enabled?(key)
    }
  else
    nav
  end
end