class Nali::Application

Public Class Methods

access_options() click to toggle source
# File lib/nali/application.rb, line 67
def self.access_options
  settings.environment == :development ? get_access_options : @access_options ||= get_access_options
end
initialize!() click to toggle source
# File lib/nali/application.rb, line 71
def self.initialize!
  %w(
    lib/*/**/*.rb
    app/server/controllers/application_controller.rb
    app/server/**/*.rb
    config/application
    app/server/clients
    config/initializers/**/*.rb
  ).each { |path| Dir[ File.join( root, path ) ].sort.each { |file| require( file ) } }
  self
end
tasks() click to toggle source
# File lib/nali/application.rb, line 83
def self.tasks
  initialize!
  require 'rake/tasklib'
  require 'sinatra/activerecord/rake'
  require 'nali/tasks'
  Nali::Tasks.new 
end

Private Class Methods

get_access_options() click to toggle source
# File lib/nali/application.rb, line 93
def self.get_access_options
  YAML.load_file( File.join( root, 'app/server/models/access.yml' ) ).keys_to_sym!.each_value do |sections|
    [ :create, :read, :update ].each do |type|
      if section = sections[ type ]
        section.each_key { |level| parse_access_level section, level }
      end
    end
  end
end
parse_access_level( section, level ) click to toggle source
# File lib/nali/application.rb, line 103
def self.parse_access_level( section, level )
  parsed = []
  if section[ level ]
    section[ level ].each do |value|
      value =~ /^\+/ ? parsed += parse_access_level( section, value[ /[^\+]+/ ].to_sym ) : parsed << value
    end
  end
  section[ level ] = parsed
end