Class: Kettle::Jem::ChecksumMode
- Inherits:
-
Object
- Object
- Kettle::Jem::ChecksumMode
- Defined in:
- lib/kettle/jem.rb
Constant Summary collapse
- VALID_TOKENS =
%w[dest template ignore-dest ignore-template off].freeze
- DEFAULT =
"template,ignore-dest"
Instance Attribute Summary collapse
-
#tokens ⇒ Object
readonly
Returns the value of attribute tokens.
Class Method Summary collapse
Instance Method Summary collapse
- #check_destination? ⇒ Boolean
- #check_template? ⇒ Boolean
-
#initialize(value) ⇒ ChecksumMode
constructor
A new instance of ChecksumMode.
- #off? ⇒ Boolean
- #to_s ⇒ Object
Constructor Details
#initialize(value) ⇒ ChecksumMode
Returns a new instance of ChecksumMode.
1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 |
# File 'lib/kettle/jem.rb', line 1833 def initialize(value) raw_tokens = value.to_s.strip.empty? ? DEFAULT.split(",") : value.to_s.split(",") normalized = raw_tokens.map { |token| token.to_s.strip.downcase }.reject(&:empty?) normalized = DEFAULT.split(",") if normalized.empty? unknown = normalized - VALID_TOKENS raise ArgumentError, "unknown --checksums mode(s): #{unknown.join(", ")}" unless unknown.empty? if normalized.include?("off") raise ArgumentError, "--checksums=off cannot be combined with other checksum modes" if normalized.length > 1 @tokens = ["off"] return end normalized << "template" if normalized.include?("dest") && !normalized.include?("ignore-template") && !normalized.include?("template") normalized << "ignore-dest" if normalized.include?("template") && !normalized.include?("dest") && !normalized.include?("ignore-dest") if normalized.include?("dest") && normalized.include?("ignore-dest") raise ArgumentError, "--checksums cannot combine dest and ignore-dest" end if normalized.include?("template") && normalized.include?("ignore-template") raise ArgumentError, "--checksums cannot combine template and ignore-template" end if normalized.include?("ignore-dest") && normalized.include?("ignore-template") raise ArgumentError, "--checksums=ignore-dest,ignore-template is equivalent to off; use --checksums=off" end @tokens = normalized.uniq end |
Instance Attribute Details
#tokens ⇒ Object (readonly)
Returns the value of attribute tokens.
1827 1828 1829 |
# File 'lib/kettle/jem.rb', line 1827 def tokens @tokens end |
Class Method Details
.parse(value) ⇒ Object
1829 1830 1831 |
# File 'lib/kettle/jem.rb', line 1829 def self.parse(value) new(value) end |
Instance Method Details
#check_destination? ⇒ Boolean
1870 1871 1872 |
# File 'lib/kettle/jem.rb', line 1870 def check_destination? !off? && tokens.include?("dest") end |
#check_template? ⇒ Boolean
1866 1867 1868 |
# File 'lib/kettle/jem.rb', line 1866 def check_template? !off? && tokens.include?("template") end |
#off? ⇒ Boolean
1862 1863 1864 |
# File 'lib/kettle/jem.rb', line 1862 def off? tokens.include?("off") end |
#to_s ⇒ Object
1874 1875 1876 |
# File 'lib/kettle/jem.rb', line 1874 def to_s tokens.join(",") end |