Class: Newman::Settings
- Inherits:
-
Object
- Object
- Newman::Settings
- Defined in:
- lib/newman/settings.rb
Instance Attribute Summary collapse
-
#application ⇒ Object
The
imapandsmtpfields are used byNewman::Mailer, theservicefield is used throughout Newman (particularly inNewman::Server), and theapplicationfield is reserved for application-specific configurations. -
#imap ⇒ Object
The
imapandsmtpfields are used byNewman::Mailer, theservicefield is used throughout Newman (particularly inNewman::Server), and theapplicationfield is reserved for application-specific configurations. -
#service ⇒ Object
The
imapandsmtpfields are used byNewman::Mailer, theservicefield is used throughout Newman (particularly inNewman::Server), and theapplicationfield is reserved for application-specific configurations. -
#smtp ⇒ Object
The
imapandsmtpfields are used byNewman::Mailer, theservicefield is used throughout Newman (particularly inNewman::Server), and theapplicationfield is reserved for application-specific configurations.
Class Method Summary collapse
-
.from_file(filename) ⇒ Object
The
Newman::Settings.from_filemethod is used to create a newNewman::Settingsobject and populate it with the data contained in a settings file, i.e.
Instance Method Summary collapse
-
#initialize ⇒ Settings
constructor
A
Newman::Settingsobject is a blank slate upon creation. -
#load_config(filename) ⇒ Object
Newman::Settings#load_configis used for evaluating the contents of a file within the context of aNewman::Settingsinstance.
Constructor Details
#initialize ⇒ Settings
A Newman::Settings object is a blank slate upon creation. It simply
assigns an empty OpenStruct object for each type of settings data it
supports.
In most situations, you will not instantiate a Newman::Settings object
directly but instead will make use of a configuration file and the
Newman::Settings.from_file method. Newman provides sample configuration
files in its examples/ and test/ directories, and applications should do the
same. This will help users discover what fields can be set.
We are aware of the fact that the current configuration system is way too flexible and a breeding ground for subtle bugs. This will be fixed in a future version of Newman.
90 91 92 93 94 95 |
# File 'lib/newman/settings.rb', line 90 def initialize self.imap = OpenStruct.new self.smtp = OpenStruct.new self.service = OpenStruct.new self.application = OpenStruct.new end |
Instance Attribute Details
#application ⇒ Object
The imap and smtp fields are used by Newman::Mailer,
the service field is used throughout Newman (particularly in
Newman::Server), and the application field is reserved for
application-specific configurations.
104 105 106 |
# File 'lib/newman/settings.rb', line 104 def application @application end |
#imap ⇒ Object
The imap and smtp fields are used by Newman::Mailer,
the service field is used throughout Newman (particularly in
Newman::Server), and the application field is reserved for
application-specific configurations.
104 105 106 |
# File 'lib/newman/settings.rb', line 104 def imap @imap end |
#service ⇒ Object
The imap and smtp fields are used by Newman::Mailer,
the service field is used throughout Newman (particularly in
Newman::Server), and the application field is reserved for
application-specific configurations.
104 105 106 |
# File 'lib/newman/settings.rb', line 104 def service @service end |
#smtp ⇒ Object
The imap and smtp fields are used by Newman::Mailer,
the service field is used throughout Newman (particularly in
Newman::Server), and the application field is reserved for
application-specific configurations.
104 105 106 |
# File 'lib/newman/settings.rb', line 104 def smtp @smtp end |
Class Method Details
.from_file(filename) ⇒ Object
The Newman::Settings.from_file method is used to create
a new Newman::Settings object and populate it with the data
contained in a settings file, i.e.
settings = Newman::Settings.from_file('config/environment.rb')
This method is purely syntactic sugar, and is functionally equivalent to the following code:
settings = Newman::Settings.new
settings.load_config('config/environment.rb')
Because there currently is little advantage to explicitly instantiating a
blank Newman::Settings object, this method is the preferred way of doing
things.
70 71 72 |
# File 'lib/newman/settings.rb', line 70 def self.from_file(filename) new.tap { |o| o.load_config(filename) } end |
Instance Method Details
#load_config(filename) ⇒ Object
Newman::Settings#load_config is used for evaluating
the contents of a file within the context of a Newman::Settings
instance.
In practice, this method is typically called by
Newman::Settings#from_file, but can also be used to apply
multiple settings files to a single Newman::Settings object
117 118 119 |
# File 'lib/newman/settings.rb', line 117 def load_config(filename) eval(File.read(filename), binding) end |