Class: Vedeu::TestApplication

Inherits:
Object
  • Object
show all
Defined in:
lib/vedeu/distributed/test_application.rb

Overview

Create a test application as a string.

Examples:

test_app = TestApplication.build do |app|
  app.borders       = ''
  app.configuration = ''
  app.events        = ''
  app.geometries    = ''
  app.interfaces    = ''
  app.keymaps       = ''
  app.menus         = ''
  app.views         = ''
end

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}) ⇒ TestApplication

Parameters:

  • attributes (Hash) (defaults to: {})

Options Hash (attributes):

  • borders (String)
  • configuration (String)
  • events (String)
  • geometries (String)
  • interfaces (String)
  • keymaps (String)
  • menus (String)
  • views (String)


45
46
47
48
49
50
51
# File 'lib/vedeu/distributed/test_application.rb', line 45

def initialize(attributes = {})
  @attributes = defaults.merge!(attributes)

  @attributes.each do |k, v|
    instance_variable_set("@#{k.to_s}", @attributes[k])
  end
end

Instance Attribute Details

#bordersObject

Returns the value of attribute borders.



19
20
21
# File 'lib/vedeu/distributed/test_application.rb', line 19

def borders
  @borders
end

#configurationObject

Returns the value of attribute configuration.



19
20
21
# File 'lib/vedeu/distributed/test_application.rb', line 19

def configuration
  @configuration
end

#eventsObject

Returns the value of attribute events.



19
20
21
# File 'lib/vedeu/distributed/test_application.rb', line 19

def events
  @events
end

#geometriesObject

Returns the value of attribute geometries.



19
20
21
# File 'lib/vedeu/distributed/test_application.rb', line 19

def geometries
  @geometries
end

#interfacesObject

Returns the value of attribute interfaces.



19
20
21
# File 'lib/vedeu/distributed/test_application.rb', line 19

def interfaces
  @interfaces
end

#keymapsObject

Returns the value of attribute keymaps.



19
20
21
# File 'lib/vedeu/distributed/test_application.rb', line 19

def keymaps
  @keymaps
end

Returns the value of attribute menus.



19
20
21
# File 'lib/vedeu/distributed/test_application.rb', line 19

def menus
  @menus
end

#viewsObject

Returns the value of attribute views.



19
20
21
# File 'lib/vedeu/distributed/test_application.rb', line 19

def views
  @views
end

Class Method Details

.build(attributes = {}, &block) ⇒ String

Parameters:

  • attributes (Hash) (defaults to: {})
  • block (Proc)

Returns:

  • (String)


31
32
33
# File 'lib/vedeu/distributed/test_application.rb', line 31

def self.build(attributes = {}, &block)
  new(attributes).build(&block)
end

Instance Method Details

#build(&block) ⇒ String

Parameters:

  • block (Proc)

Returns:

  • (String)


55
56
57
58
59
# File 'lib/vedeu/distributed/test_application.rb', line 55

def build(&block)
  self.instance_eval(&block) if block_given?

  Template.parse(self, template)
end

#defaultsHash (private)

TODO:

Don’t like all this file reading.

Returns:

  • (Hash)


76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/vedeu/distributed/test_application.rb', line 76

def defaults
  {
    borders:       read('default_borders.vedeu'),
    configuration: read('default_configuration.vedeu'),
    events:        read('default_events.vedeu'),
    geometries:    read('default_geometries.vedeu'),
    interfaces:    read('default_interfaces.vedeu'),
    keymaps:       read('default_keymaps.vedeu'),
    menus:         read('default_menus.vedeu'),
    views:         read('default_views.vedeu'),
  }
end

#lib_dirString

Returns:

  • (String)


62
63
64
# File 'lib/vedeu/distributed/test_application.rb', line 62

def lib_dir
  File.dirname(__FILE__) + "/../../../lib"
end

#read(filename) ⇒ String (private)

Returns:

  • (String)


90
91
92
# File 'lib/vedeu/distributed/test_application.rb', line 90

def read(filename)
  File.read(File.dirname(__FILE__) + '/templates/' + filename)
end

#templateString (private)

Returns:

  • (String)


69
70
71
# File 'lib/vedeu/distributed/test_application.rb', line 69

def template
  File.dirname(__FILE__) + '/templates/default_application.vedeu'
end