Class: Crontab
- Inherits:
-
Object
- Object
- Crontab
- Defined in:
- lib/crontab.rb,
lib/crontab/entry.rb,
lib/crontab/schedule.rb
Overview
A class which represents crontab(5) content.
Defined Under Namespace
Instance Attribute Summary collapse
-
#entries ⇒ Object
readonly
Returns the value of attribute entries.
-
#env ⇒ Object
readonly
Returns the value of attribute env.
Class Method Summary collapse
-
.parse(src) ⇒ Object
Parses a crontab(5) text.
Instance Method Summary collapse
-
#initialize(entries, env) ⇒ Crontab
constructor
A new instance of Crontab.
Constructor Details
#initialize(entries, env) ⇒ Crontab
Returns a new instance of Crontab.
29 30 31 32 |
# File 'lib/crontab.rb', line 29 def initialize(entries, env) @entries = entries.dup.freeze @env = env.dup.freeze end |
Instance Attribute Details
#entries ⇒ Object (readonly)
Returns the value of attribute entries.
33 34 35 |
# File 'lib/crontab.rb', line 33 def entries @entries end |
#env ⇒ Object (readonly)
Returns the value of attribute env.
33 34 35 |
# File 'lib/crontab.rb', line 33 def env @env end |
Class Method Details
.parse(src) ⇒ Object
Parses a crontab(5) text.
-
src
string in crontab(5) format
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/crontab.rb', line 10 def parse(src) entries = [] env = {} src.lines.each do |line| line.strip! case line when /\A[\d*]/ entries << Crontab::Entry.parse(line) when /\A([A-Z][A-Z0-9_]*)\s*=\s*/, /\A"([A-Z][A-Z0-9_]*)"\s*=\s*/, /\A'([A-Z][A-Z0-9_]*)'\s*=\s*/ name = $1 value = $' value = $1 if /\A'(.*)'\z/ =~ value or /\A"(.*)"\z/ =~ value env[name] = value end end new(entries, env) end |