Module: Neo::Rails::Exposure::ClassMethods

Defined in:
lib/neo/rails/exposure.rb

Instance Method Summary collapse

Instance Method Details

#exposes(*names) ⇒ Object

Defines the variables to be exposed.



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/neo/rails/exposure.rb', line 22

def exposes(*names)
  exposure_names = names.map(&:to_sym)
  self.exposure_names.merge exposure_names

  # Define a helper method for each exposure
  # see Rails: /actionpack/lib/abstract_controller/helpers.rb
  exposure_names.each do |exposure_name|
    define_method exposure_name do
      self.exposures[exposure_name]
    end
    self.helper_method exposure_name
  end
end