Class: Utils::ConfigFile::BlockConfig
- Defined in:
- lib/utils/config_file.rb
Direct Known Subclasses
Classify, Edit, FileFinder, Probe, SshTunnel, SshTunnel::CopyPaste, SyncDir
Class Attribute Summary collapse
-
.config_settings ⇒ Object
Returns the value of attribute config_settings.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(&block) ⇒ BlockConfig
constructor
A new instance of BlockConfig.
- #to_ruby(depth = 0) ⇒ Object
Constructor Details
#initialize(&block) ⇒ BlockConfig
Returns a new instance of BlockConfig.
61 62 63 |
# File 'lib/utils/config_file.rb', line 61 def initialize(&block) block and instance_eval(&block) end |
Class Attribute Details
.config_settings ⇒ Object
Returns the value of attribute config_settings.
58 59 60 |
# File 'lib/utils/config_file.rb', line 58 def config_settings @config_settings end |
Class Method Details
.config(name, *r, &block) ⇒ Object
51 52 53 54 55 56 |
# File 'lib/utils/config_file.rb', line 51 def config(name, *r, &block) self.config_settings ||= [] config_settings << name.to_sym dsl_accessor name, *r, &block self end |
.inherited(modul) ⇒ Object
46 47 48 49 |
# File 'lib/utils/config_file.rb', line 46 def inherited(modul) modul.extend DSLKit::DSLAccessor super end |
Instance Method Details
#to_ruby(depth = 0) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/utils/config_file.rb', line 65 def to_ruby(depth = 0) result = '' result << ' ' * 2 * depth << "#{self.class.name[/::([^:]+)\z/, 1].underscore} do\n" for name in self.class.config_settings value = __send__(name) if value.respond_to?(:to_ruby) result << ' ' * 2 * (depth + 1) << value.to_ruby(depth + 1) else result << ' ' * 2 * (depth + 1) << "#{name} #{Array(value).map(&:inspect) * ', '}\n" end end result << ' ' * 2 * depth << "end\n" end |