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.
1832 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 |
# File 'lib/kettle/jem.rb', line 1832 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.
1826 1827 1828 |
# File 'lib/kettle/jem.rb', line 1826 def tokens @tokens end |
Class Method Details
.parse(value) ⇒ Object
1828 1829 1830 |
# File 'lib/kettle/jem.rb', line 1828 def self.parse(value) new(value) end |
Instance Method Details
#check_destination? ⇒ Boolean
1869 1870 1871 |
# File 'lib/kettle/jem.rb', line 1869 def check_destination? !off? && tokens.include?("dest") end |
#check_template? ⇒ Boolean
1865 1866 1867 |
# File 'lib/kettle/jem.rb', line 1865 def check_template? !off? && tokens.include?("template") end |
#off? ⇒ Boolean
1861 1862 1863 |
# File 'lib/kettle/jem.rb', line 1861 def off? tokens.include?("off") end |
#to_s ⇒ Object
1873 1874 1875 |
# File 'lib/kettle/jem.rb', line 1873 def to_s tokens.join(",") end |